前言
成为优秀的架构师是大部分初中级工程师的阶段性目标。优秀的架构师往往具备七种核心能力:编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力和规划能力。
这几种能力之间的关系大概如下图。编程能力、调试能力和编译部署能力属于最基础的能力。不能精通掌握这三种能力,很难在性能优化能力和业务架构能力方面有所成就。具备了一定的性能优化能力和业务架构能力之后,才能在线运维能力和项目管理能力方面表现优越。团队管理能力是最高能力,它对项目管理能力的依赖度更大。
美团
一面:
1、ConcurrentHashMap实现原理
2、HashMap实现原理
3、锁的实现原理
4、synchronized和重入所实现原理以及区别
5、一个char[]数组,里面有空格,以&结束。
6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。
7、内存溢出的场景
8、设计模式,以及自己使用的场景。
9、Sping的AOP实现原理,以及对象生成方式的种类,单例的还是原型的。
二面:
1、分布式锁。
2、逐层遍历树。
3、原子类实现
4、volatile实现原理
5、自己做的项目,自己负责的东西的介绍,以及问题溯源。
6、数据库索引实现原理,什么情况下索引会失效。
7、数据库sql优化
8、多个线程执行完了,再执行一个线程,实现方式。
三面:
1、进程和线程的区别
2、给定一个进程,有多个线程,其中一个线程出现OOM异常,判断所有线程的状态。
3、介绍自己实现的东西。以及问题抛出。
京东
一面:
1、面向对象的优点
2、java的特点
3、说一说你做的东西
4、遇到的问题
二面:
1、简历上写的所有技术基本都问了,问得有点多,自己都有点乱,会的就说 不会的就说不知道。
2、谈对工作的看法,以及对问题的态度
3、linux的知识
三面:
1、HashMap实现原理。
2、线程池的实现原理
3、让说你自己最熟悉的技术,问得很深。
4、CAS和锁的区别,以及应用场景。
四面:
领导说比较忙,简单聊了聊,问问我为什么要换工作,以及期望薪资。很快就结束了。
阿里
记得不很清楚,面试时状态不很好,面试官跳跃性比较大,而且问得很深。根本不能含糊其辞
1、基本上jvm一定要基本掌握,并发编程需要掌握,mysql使用以及优化,mysql 引擎的区别。
2、阻塞队列的实现方式
3、Conurrenthashmap实现方式
4、编程:一个很大的字符串求和。
5、编程:手写死锁。
最后
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!
本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录