北京神策现场劝退二面
一个四年前百度面试原题,他是这么说的,平面上的百万点求出离某一个点最近的点,说出使用的数据结构,存储方式,搜寻发送。排除暴力。PS:可能是kd树
斐波那契 递归和DP 与斐波那契变形(对于n,F(n)=x,已知必经过n/2(具体意思是n=100时,跳楼必须在50层停止),设结果为F(n/2)=y,求x与y的数量关系)。
面试官说一开始是准备问迪杰斯特拉,后面改写最小生成树(大一学的真的不记得了),后面我说不擅长图论,改成说思想,然后他说我说的不是,不明白为什么,他说他搞图形的,意思就是他图形很吊,嗯..
然后斐波那契后来百度了一下,递推没写错他也说我错了。我用了三个临时变量,应该是最普通的写法了,他说我多了一个临时变量。
最简单的就是redis几种数据结构,是否单进程,是否可以持久化,是否线程安全。
时间复杂度nlogn的排序有哪些,array.sort的实现,答了双轴快排,根据元素大小选择插入快排甚至归并,他不满意,叫我模拟双轴快排的交换。画出来。
接下就是collection的sort,答了timsort,问我timsort实现,使用条件,有没有看过源码。。(没看详细不敢说。。怕被怼,一面hashmap说的比较详细,面试官绝对还行,这面应该故意来怼我的)
请简述一下几种垃圾收集器,都有哪些,各有什么优点,cms说错了,应该是实时而不是吞吐量。
定义一个字符串常量,为什么要static,我说了加载验证准备解析初始化的过程。但他好像没太明白?final在准备阶段,static在准备阶段只是初始化为0,{常量属于类所有,不用static常量就是实例的了,而实际多个实例共享一个类在常量池中的符合引用}
rpc框架,用了什么,序列化方式,dubbo序列化,还问了一个其他的听都没有听过的rpc。。
用的java什么版本,为什么用java8,java11有什么特性
暂时想起来就这些了。失业了。。
#面经##秋招##内推##Java工程师#