一 、美团共三面,三面结束后hr会在当天或者一周内和你联系谈薪资。谈薪资是需要银行流水的。
一面:
1、ConcurrentHashMap实现原理
2、HashMap实现原理
3、锁的实现原理
4、synchronized和重入所实现原理以及区别
5、一个char[]数组,里面有空格,以&结束。如:char[] a ={'I',' ','a','m',' ',' ','a','&'.........''};
总长度很长,句子以&为结束,要求把所有的空格替换为“20%”。也就是把一个‘ ’替换为‘%’,‘2’,‘0’;
6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。
7、内存溢出的场景
8、设计模式,以及自己使用的场景。
9、Sping的AOP实现原理,以及对象生成方式的种类,单例的还是原型的。
二面:
1、分布式锁。
2、逐层遍历树。
3、原子类实现
4、volatile实现原理
5、自己做的项目,自己负责的东西的介绍,以及问题溯源。
6、数据库索引实现原理,什么情况下索引会失效。
7、数据库sql优化
8、多个线程执行完了,再执行一个线程,实现方式。
三面:
1、进程和线程的区别
2、给定一个进程,有多个线程,其中一个线程出现OOM异常,判断所有线程的状态。
4、介绍自己实现的东西。以及问题抛出。
二、京东面试一天一共四面。hr会当天或者择日,差不多一周内会有电话给你谈钱。
一面:
1、面向对象的优点
2、java的特点
3、说一说你做的东西
4、遇到的问题
二面:
1、简历上写的所有技术基本都问了,问得有点多,自己都有点乱,会的就说 不会的就说不知道。
2、谈对工作的看法,以及对问题的态度
3、linux的知识
三面:
1、HashMap实现原理。
2、线程池的实现原理
3、让说你自己最熟悉的技术,问得很深。
4、CAS和锁的区别,以及应用场景。
四面:
领导说比较忙,简单聊了聊,问问我为什么要换工作,以及期望薪资。很快就结束了。
百度:
一年多了记得不很清楚,基本上jvm一定要基本掌握,并发编程需要掌握,mysql使用以及优化,mysql 引擎的区别.
阿里:面试时状态不很好,面试官跳跃性比较大,而且问得很深。根本不能含糊其辞
1、阻塞队列的实现方式
2、Conurrenthashmap实现方式
3、编程:一个很大的字符串求和。
4、编程:手写死锁。
总结一下:java基础必须要懂,而且很熟悉才可以,常用集合类实现方式一定要懂。并发编程一定要懂。
来源:oschina
链接:https://my.oschina.net/u/924848/blog/1580313