当前位置: 首页 > 面试经验 >

腾讯云一面凉

优质
小牛编辑
76浏览
2024-03-12

腾讯云一面凉

中午接面试晚上面,复习了一下午八股,心里非常没底

项目中的难点:没复习也没来得及总结,导致讲得磕磕绊绊,做的时候全是难点,做完了就没了,面试之前一定要系统的总结好这方面的内容。

1、为什么要使用RPC而不是http?

  • rpc是框架,http是协议,rpc底层可以使用多种协议实现。回答的时候嘴瓢了,把rpc说成了协议,给自己埋了坑导致被疯狂提问
  • rpc提供了服务发现功能
  • 定制化程度更高,性能会好一些

2、netty为什么高性能?

回答了它的线程模型是reactor模型,采用epoll io多路复用技术,并且一个请求只在一个epoll线程中处理,避免了锁的竞争这样的耗时操作。另外应该还有:

  • 零拷贝
  • 内存池
  • 高效序列化

3、同步、异步、阻塞、非阻塞的概念

同步异步和阻塞非阻塞的维度不同,同步异步侧重于用户线程功能执行层面,是否需要等待当前任务执行完毕再接着往下执行。而阻塞非阻塞侧重于线程访问数据时,数据未准备好的处理方式,可以选择将当前线程挂起(阻塞),也可以选择直接返回(非阻塞)。

回答的时候没有分清楚,大概只说了阻塞非阻塞是实现同步异步的手段,同步也可以轮询巴拉巴拉,但没有能够系统解释。

4、IO模型有哪些?

  • 同步阻塞
  • 同步非阻塞(轮询)
  • io多路复用
  • 信号驱动io
  • 异步io(一般非阻塞)

前四种io都是同步io,最后一种是异步io

5、spring bean的初始化顺序如何指定?

  • 构造方法依赖
  • @dependon注解

我以为是spring容器中bean的生成顺序,但问了下面的问题,我觉得我可能理解错了,其实应该是问存在依赖的初始化顺序,没答上来。心里想的是类似@Order这样的注解,但是@Order注解不能指定 bean 的加载顺序,它适用于 AOP 的优先级,以及将多个 Bean 注入到集合时,这些 bean 在集合中的顺序。

6、循环依赖如何解决?

三级缓存,然后讲了三级缓存不能解决的一些情况(原型bean, 有aop的情形)

7、threadLocal的原理?

8、cpu到了100%,如何定位排查?

jps + jstack

9、java文件到生成对象的过程

java文件->字节码文件->类加载器->加载到虚拟机解析->运行时常量池->静态变量初始化->分配空间->初始化->构造函数赋值

10、如何解决数据库幻读

说了一下mvcc,加间隙锁,在事务读期间不去写数据库,升级隔离级别串行化

9、算法 两个有序数组的中位数

 类似资料: