滴滴三面已拿offer,分享个人面试总结(集合+网络+算法+JVM+数据库+分布式)
滴滴Java高级工程师三面,包含:多线程、JVM、框架源码、数据库、分布式、算法等
Java岗第一面(电话面试)
1、自我介绍
2、项目情况:
(1)选择最为熟悉的一到两个项目说明,提及该项目中的难点问题,以及如何针对该项目的开展
(2)为什么做这个项目(避免被动安排这个话题)
(3) 解释项目中遇到的难点是如何攻克,最难的点是什么。
3、基础模块考察(面试官问)
(1) 模块化的好处
(2)http协议
(3)HashMap和ConcurrentHashMap的区别,以及两者的优缺点
(4)数据库(事物,加锁,ORM)
(5)JVM原理
(6) jdk源码,以及线程(关键在线程),Java垃圾回收机制
(7)Linux 了解多少
(8) 对设计模式的看法和认知
(9)关于树的算法题-二叉树的锯齿形层次遍历
Java岗第二面(现场面试)
1、背景了解:
(1)为什么选择编程这条路?
(2)平常有没有自学,对待自学有没有好的方式方法
(3)平常喜欢看些什么书籍
2、项目考察:(面试官会挑选你在电话中没有提及的项目进行提问)
(1)项目最终实现效果
(2)项目具体部分使用的设计模式并简述选择理由
(3)项目运行过程中成员是否曾就某一点发生争执?作为Leader你是如何解决的?具体事例?
3、技术考察:
(1)数据库的范式
(2)JVM内存模型及调优
(3)用过哪些算法?选择其一进行具体说明,为何会使用该算法?
(4)如何解决高并发问题
(5)为什么我们要使用Spring呢?
(6) Spring底层代码了解多少?有没有进行解析进行再次封装?
(7) Linux 库函数和内核的调用
(8)你了解JAVA虚拟机吗?能解释一下底层的模块吗?
(9)有写过分布式的业务吗?
(10)分布式存储呢?
(11) 你觉得分布式的话会遇到什么问题呢? (这个地方给自己挖了个坑,提及到了CAP问题,然而自己并不知道)
4、LintCode 算法题 - 最小子串覆盖。
5、想要问的问题(这里要表现的虚心好学即可)
Java岗第三面(HR面试)
1、业余爱好
2、你觉得你在项目运行过程中作为Leader是否最大限度发挥了队员的优势?具体事例?
3、职业规划
总结面试
1、Java基础(这就包括多线程、jvm、源码各种特性等)
2、计算机网络相关知识和操作系统的知识(初级和高级基本都会问)
3、算法(很重要)
4、框架相关和底层实现(重要)
5、集合类的底层数据结构(基本都会问)。
6、高并发项目(高级开发必问)。
所有的面试题目都不是一成不变的,特别是大厂,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。
以下是我整理的Java高级工程师面试题和答案。有需要获取到借鉴得朋友:点赞+关注后,私信回复【面试】即可(一定要记得关注我,不然没办法回复陌生人私信)
配合学习得JAVA知识点整理
最后
希望能帮助到你面试前的复习且找到一个好的工作,也节省你在网上搜索资料的时间来学习。