前言:
由于我在自我介绍时提到应聘的是Java岗,因此面试官直接抛出问题:“你对Java这门语言了解的深度是多少”,“是否看过JDK的源码”(当场傻眼…)。如果回答看过,好,进坑了,因为面试官会继续追问:“那来说一下都看过哪部分”(大型懵逼现场)。卡壳了,好,引导来了,“比如Java的集合有看过吗”,于是大胆引出HashMap。好,又进坑了,“那咱们聊一下HashMap,首先说一下它的原理吧,它是以一种什么样的数据结构来实现的”。
另外本人整理收藏了20年多家公司面试知识点整理 ,以及各种Java核心知识点免费分享给大家,下方只是部分截图 想要资料的话也可以点击795983544领取 暗号CSDN。
面试过程:
- 电话面试,大约30分钟-技术面
晚上突然接到电话面试,面试官介绍了职位信息。问是否感兴趣,然后进行了电话面试。过程没有废话,全部都是技术问题。 - 视频面试+笔试,大约1个小时-技术面
线上面试,开篇介绍了一下项目背景,然后问了一些基于项目的技术细节,非常细。后续继续基础知识的面试,JVM和多线程相关的问题很多。视频面结束后发了一道算法题,半小时内完成。 - 电话面试,大约20分钟-聊背景
聊了一些对职位,对人生的规划,巴拉巴拉。以为这轮就结束了,结果一周后又接到继续面试的电话。未完待续。。。。。。
面试官问的面试题:
一轮:
自我介绍
- HashMap和ArrayList的原理解释下。
- Netty原理介绍下。
- 了解过NIO,BIO,AIO么?介绍下异同,代码中如何使用?
- 分布式锁用过么?用什么函数?什么使用场景?
- 能介绍下垃圾回收机制么?
- redis的数据结构介绍下。项目中用过哪些?什么场景
- 幂等性是什么?如何保障?
- 交易系统中的数据一致性咋保障?
二轮:
自我介绍
1.项目中的mongoDB使用场景是啥?如何部署的?怎么保证高可用性?
2. JVM的内存结构能介绍下么?
3. CMS和G1的优缺点?什么时候发生FULL GC?什么时候stop the world!
4. 什么样的对象能当根节点?
5. 一个类,两个函数,一读一写,写函数加synchronized,读函数还用加么?voliate关键字啥作用?
6. 数据库设计时,主键咋设?自增好还是非自增好?为啥?
7. mysql的锁类型介绍下
8. 线上CPU 100%了怎么查?
9. 写个算法,给一个数字,一个单调数组中,方法返回数组中第一个大于给定数字的下标,如果没有,返回-1。
第三轮
自我介绍
你职业生涯中哪些事比较有亮点?
你的职业规划是啥?以后想怎么发展?
等等。。。
总结:
其实面试时主要还是那些知识点,只要注意交谈时的话术,掌握对话节奏希望还是很大的。技术基础以及项目问题多看看书准备,不懂的直接说不懂没关系的;在项目细节上多把关一下,根据项目有针对性的谈自己的技术亮点,能表达清楚,可以引导面试官来问你比较擅长的技术问题。互联网大厂比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。这些都是个人意见,仅供参考,有什么好的想法欢迎大家评论提出,谢谢!
最近因为面试也有整理一些面试资料&最新2020收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以点击795983544自行领取 暗号:csdn