技术面
1.谈一下你在项目中解决过的比较复杂的问题(项目中遇到的重大问题以及当初是怎么解决的)
2.「学习能力」、「解决问题的能力」、「激情与冲动」和「对技术的追求」是每个公司非常看重的,所以有可能会考察面试者的临场应变能力。
3.工作中大多数时间都在应付业务上的需求,没有时间学习真正的技术。因此,需要利用业余时间学习如下知识:
(1)设计模式和六大原则(单例,生产者与消费者,策略,模版,适配器)
(2)nginx在系统中的运用
(3)在分布式系统中出现的一些常见的问题如何解决,如分布式定时任务
(4)jvm原理、gc回收机制,
(5)数据库优化
(6)研究框架的源码,可以先从最初的版本开始,比如spring0.9、junit3.8.1,学习其设计原理和最佳实践,想办法应用到工作的项目中。
(7)JDK源码,优先集合JDK源码(ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理)
a、ConcurrentHashMap的锁分段技术
b、ConcurrentHashMap的读是否要加锁,为什么
c、ConcurrentHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器
(8)缓存,缓存数据库redis
(9)多线程、线程池、并发编程
HR/终面
1.关于离职原因的问题
2.你对能加入「**」这样的一个机会,你是怎么看待的?
3.你自我推荐下自己,讲一下我们如果要你,你能给企业带来什么样的价值,你有什么样的优势
4.你的职业规划是什么
5.你对「**」公司是怎么看的
6.你有什么问题需要问我的吗
7.你对薪资的要求