上周收到腾讯打来电话约面试,听着对面小姐姐的声音,那叫一个激动呀,终于有人找我去面试了,还是腾讯(爽歪歪呀~)。结果周一去面试,上来就多线程、集合、JVM、Spring、算法、计网全部问了个遍,问我心里阴影有多大,简直无法形容。好吧,分享一波这次腾讯一面的面经吧,我怕是扛不住了吧。。。
Java大军开始
- 多线程(连问6个)
- 介绍一下synchronized 的 原理以及锁优化
- 死锁的条件 避免死锁的方法
- threadlocal 的原理
- 进程和线程的区别
- 进程和线程通信方式
- 为什么进程间通信比线程难?
- 集合(4个)
- hashmap 的结构,全介绍一遍
- hashmap线程安全吗,有什么其他线程安全的map
- 树结构还有哪些(二叉树。。b树。。b+树)
- 介绍一下b+树
- JVM(4个)
- 垃圾回收算法,介绍一下垃圾-清理算法
- 如何标记的,两种标记算法
- root节点如何选取的呢
- 堆和栈的区别
- Spring(spring的问的比较少,我只记得1个了...)
- 就问了AOP的实现方法(主要问了代理方法,答的不理想....)
- 算法(感觉每次面试都是算法必问,逃不过呀)
- 快排的思路,怎么避免最坏情况(随机数),那如果随机数每次都是最坏的呢,我说就选择插入排序呀,他说一定要用快排(选多个随机数,然后取中位数)
- 堆排序的思路
- dp的思路,dp的条件
最后还问了一些计网的问题
- 计网
- osi五层协议,分别描述一下,每层协议
- tcp和udp的区别,以及tcp滑动窗口
- 有哪些状态码,都介绍一下,漏了500,面试官还提醒了一下
- 字节序和大端小端(没听过,只能放弃。。。QAQ)
吐槽一下
足足在家憋了2个月多月,然后就开始疯狂投简历面试(想跳个槽涨个薪呀)。其实在此之前,我也四处搜刮各种面试+复习笔记(那种附带有具体解析面试和总结的特别到位的笔记),虽然我这次一面腾讯凉凉的可能性比较大,不过搜刮了这么多“民脂民膏”还是想拿出来分享给像我一样在为跳槽涨薪四处奔波的朋友,加把劲儿呀兄弟们!!
- 第一份搜刮到的面试+复习笔记:Java核心知识整理
这本283页的PDF,包括了近30个分类的知识点,关于计算机网络这一块推荐大家可以看看这个。而且多线程、集合、JVM、Spring、算法等都有,可谓是一举多得
- 第二份搜刮到的面试+复习笔记:关于集合框架的面试题集锦(附解析)
- 第三份搜刮到的面试+复习笔记:多线程的面试集锦
- 最后一份:JVM/Spring/算法:学习笔记+书籍+面试
- 附赠:Java面试大全