1.看过Spring的源码吗,开局暴击。java
2.Class.forName()和ClassLoader.loaderClass()有什么区别,开局暴击*2.。程序员
3.ConcurrentHashMap的原理,为何是线程安全的,让你设计怎么实现读写安全面试
4.Mysql中有哪些索引,你能想到哪些做为索引的数据结构,HashMap,B+树,前缀树,面试官提示跳表redis
5.Spring事务传播机制的应用算法
6.线程安全的单例模式,写完DCL写静态内部类的时候写错了,汗sql
7.正向代理和反向代理设计模式
8.http是有状态的吗,tcp呢,为何http是无状态的安全
9.RPC和微服务框架了解吗网络
总结:一面面了一个多小时吧,不少常见的面试问题就没列了,列的是之前没碰到过问题,感受面试官很重视思惟能力和总结能力,即对于一个设计中的原理很深入而且能用于其余地方。数据结构
1.先聊了聊项目
2.JVM
3.OOM问题和StackOverflow有什么区别
4.好像问了些网络方面的知识
5.思考题,64匹马,8个赛道,最少比多少场能够找出最快的4匹马?首先说15,后来想到了13,最后在网上搜的答案是11,挺有意思的一道题
代码题,也不难
总结:二面面试官项目方面聊的多一些,而后就是思考题和算法题,也差很少一个小时吧,当时从6点直接面到8点多,饭都没吃,突出一个惨
基本问的就是java基础,多线程,jvm,redis这些,大概一个小时左右吧
1.聊聊sychronized关键字,用法,底层实现,偏向锁,轻量级锁,自旋锁
2.聊聊偏向锁,轻量级锁的原理和过程
3.除了sychronized,还有啥,聊聊ReentrantLock,底层一个继承了AQS的实现类
4.聊聊AQS,volatile修饰的state,加锁过程,公平锁和非公平锁的实现
5.TCP和UDP的区别
6.三次握手和四次挥手的过程,为何这样
7.聊聊ThreadLocal,为何要用threadLocal,ThreadLocalMap中,key和value分别哪一个是强引用,哪一个是弱引用,我迷之坚持value是强引用。。。
8.线程的状态以及状态变化过程
9.CMS和G1的区别
10.聊聊Spring中的动态代理,实现了接口的用JDK动态代理,未实现接口的经过CGlib动态代理,动态代理和静态代理的区别
11.经常使用设计模式,策略模式的原理和应用
以后的话就是聊项目,作了哪些,遇到了哪些问题
代码题:两个链表表明的大数进行相加,我用两个栈分别保存链表,而后出栈的时候用头插法生成新链表,感受时间复杂度没有最优,可是也过了
面试官介绍部门和业务的时候很热情也很详细,而后说等HR通知~
总的来说,比起字节跳动,美团的面试稍微简单一丢丢,由于不会问的太底层,太发散,而后两家公司的面试官都很赞,颇有耐心也很热情!
全部的面试题目都不是一成不变的,特别是像这种大厂,上面的面试真题只是给你们一个借鉴做用,最主要的仍是给本身增长知识的储备,有备无患!
关注公众号:程序员追风,领取整理的这些Java面试题资料!
最后针对于上面的面试问到的知识点总结出互联网公司Java程序员面试涉及到的绝大部分面试题作成了文档分享给你们,但愿能帮助到您面试前的复习且找到一个好的工做,也节省你们在网上搜索资料的时间来学习。