电话面,45min
教训:全程回答的过于简单、浅显、原理模糊。直接凉凉。
选择一个主要项目介绍一下,为什么选择ES和MongoDB,有没有考虑其他的?这里面用了什么框架?哪一块是你负责编码的?
java hashmap的原理、是否线程安全,有哪些线程安全的
hashtable、concurrentHashmap
concurrentHashmap的实现,我不记得,问我会如何设计保证线程安全。怎么加锁?一个进程拿锁其他进程等待效率不高,有没有更好的方案?
分段锁
怎么设计分段锁,你会考虑哪些因素?
并发数、分段、按顺序加锁和解锁
程序和进程的关系
应用程序是静态,不占系统资源,描述的是完成一个功能的代码总和;进程是指运行中的程序,可以是程序一部分,也可以是整个应用程序,占用系统资源。是系统进行资源分配和调度的基本单位。
进程和线程的关系,哪些是线程共享的,哪些是线程隔离的?如何解决线程间竞争资源?
求二叉树的高度,不用深搜该如何解决?
判断一串包含左右括号的字符串是否正确?栈
求一个数组中前5个最小的数
有哪些排序算法?哪个效率最高,快排时间复杂度
快排的最坏情况,如何解决?
考虑空间复杂度,如何排序?
大部分reduce节点做完了,有一个节点还没结束,你觉得是什么原因?怎么解决?Wordcount不能用combiner,用什么方法解决?
数据倾斜、shuffle
C用malloc申请空间的内部原理和过程
java new一个数组存放的位置和生存周期,垃圾回收机制,如何判断是否是垃圾,如何回收?