生活总会给你答案,但不会马上把一切都告诉你。——马德
统共面试了三家公司,本来打算偷懒不打算写面经,不过还是写一下吧,如果能帮到人的应该也算是件好事,具体的事件太久忘了
拼多多:8月12号面的Java开发
技术面(两面):
1. 聊了一下项目
2. 项目里面用了ElasticSearch,所以问了ES索引的构建和查询流程,跳跃表的构建和在ES中的使用,倒插排序、跳跃表的实现
3. 常规的JDK容器问题(由于学习的时候太不拘小节,我不知道HashMap这种叫做容器!!!)HashMap的结构、和HashTable的区别,ConcurrentHashMap
3. 手写最长递增子序列,有写到算法复杂度O(n^2)但是面试官大佬不满意,我也没办法
4. 手写快排
5. 各种了解的排序的复杂度是多少
6. 求100W树中的最小100个(如果数字不重复,如果数字重复呢)
7. 电商实时交易额的统计排名(怎么实现,用什么框架、技术)
8. 因为写了神经网络,所以让推到了一下PB神经网络
HR面(掠过)
网易考拉:java开发
1. Integer == int 会发生什么情况
2. Arrays.sort()的排序算法是什么,Collection.sort()的排序算法是什么, Timsort的算法实现
3. 红黑树的操作、红黑树左右最大高度差是多少
4. 手写代码:不用递归求树的高度
5. ConcurrentHashMap结构、解决多线程的方法
6. HahsMap多线程出现死循环的情况,HashTable如何解决线性安全问题
7. Redis的查询方法、key值和value值的长度限制、过长会出现慢查询问题,为啥
8. 手写SQL,我记得同时用到了distict、order by, group by, count,limit,其实还好
9. spring的IOC注入、循环注入什么情况会报错怎么解决
10. 线程池参数,一个一个任务扔进去分别会发生什么情况,拒绝策略有哪些
11. 多线程有哪些锁分别说明一下,AQS、CAS、锁膨胀机制
12. 项目的亮点
嗯,其他都忘了
华为
现场面试:
1. 笔试的时候的一题编程题的思路
2. 项目,你觉得你遇到的最困难的事是什么,怎么解决的
3. 你是一个乐观的人嘛........
电话面试:
1. Spring了解什么,把了解的都说一遍
2. 虚拟机了解啥,把JMM都说一遍,详细说一下
3. 多线程相关
4. 了解多少设计模式,都说出来,然后具体介绍了一下模板模式、代理模式、工厂模式
4. 主要在讲项目,项目的亮点
华为的电话面试主要是听你说,然后就按照JVM、多线程、Spring的反正想到啥说啥,他就听你说
本文转自牛客,侵权删。
放弃不难,但坚持一定很酷,加油,奥里给!
太强了,学完框架再回来看
可以,从易到难,感觉基础薄弱的人也能通过这些题目提高自己