关注、星标下方公众号,和你一起准备面试
大家好,我是小面经,整理面经不易,如果你觉得整理的面经对有帮助,麻烦帮小面经转发到各种实习/招聘交流群吧!
动动手指,转发转发,给小面经一点支持!
0312腾讯云一面
项目中的难点:没复习也没来得及总结,导致讲得磕磕绊绊,做的时候全是难点,做完了就没了,面试之前一定要系统的总结好这方面的内容。
1、为什么要使用RPC而不是http?
2、netty为什么高性能?
回答了它的线程模型是reactor模型,采用epoll io多路复用技术,并且一个请求只在一个epoll线程中处理,避免了锁的竞争这样的耗时操作。另外应该还有:
3、同步、异步、阻塞、非阻塞的概念
同步异步和阻塞非阻塞的维度不同,同步异步侧重于用户线程功能执行层面,是否需要等待当前任务执行完毕再接着往下执行。而阻塞非阻塞侧重于线程访问数据时,数据未准备好的处理方式,可以选择将当前线程挂起(阻塞),也可以选择直接返回(非阻塞)。
回答的时候没有分清楚,大概只说了阻塞非阻塞是实现同步异步的手段,同步也可以轮询巴拉巴拉,但没有能够系统解释。
4、IO模型有哪些?
同步阻塞
同步非阻塞(轮询)
io多路复用
信号驱动io
异步io(一般非阻塞)
前四种io都是同步io,最后一种是异步io
5、spring bean的初始化顺序如何指定?
我以为是spring容器中bean的生成顺序,但问了下面的问题,我觉得我可能理解错了,其实应该是问存在依赖的初始化顺序,没答上来。心里想的是类似@Order这样的注解,但是@Order注解不能指定 bean 的加载顺序,它适用于 AOP 的优先级,以及将多个 Bean 注入到集合时,这些 bean 在集合中的顺序。
6、循环依赖如何解决?
三级缓存,然后讲了三级缓存不能解决的一些情况(原型bean, 有aop的情形)
7、threadLocal的原理?
8、cpu到了100%,如何定位排查?
jps + jstack
9、java文件到生成对象的过程
java文件->字节码文件->类加载器->加载到虚拟机解析->运行时常量池->静态变量初始化->分配空间->初始化->构造函数赋值
10、如何解决数据库幻读
说了一下mvcc,加间隙锁,在事务读期间不去写数据库,升级隔离级别串行化
9、算法 两个有序数组的中位数
0312腾讯PCG
时长:50min
1、自我介绍
2、hashmap 流程 红黑树阈值8退化6为什么
3、深浅拷贝
4、静态内部类的使用场景
5、反射原理,为什么性能低
6、内存泄露 怎么解决
7、编译器优化
8、手撕:基于生产者消费者模型实现多线程交替打印
lc424
作者:小熊出逃ccc链接:[https://www.nowcoder.com/discuss/597099902488854528?sourceSSR=%E5%85%B6%E4%BB%96](https://www.nowcoder.com/discuss/597099902488854528?sourceSSR=其他)来源:牛客作者:zhang链接:https://www.nowcoder.com/discuss/597089959782166528?sourceSSR=home来源:牛客网
如果本文对你有帮助的话不要忘记三连~