互联网面试题——自如

第二弹

必问为什么离职?找工作的方向倾向?

一面

1.MQ

  1. MQ的如何保证幂等性,如果消息乱序,如何解决?(考虑基于Version版本控制处理)
  2. MQ会不会丢失消息,丢失消息如何处理,如何保证消息的不丢失。

2.数据库

  1. 事务的隔离级别,及每个级别出现的问题。
  2. 数据库如何解决幻读问题,在可重复读级别是否解决了幻读问题?NextKeyLock在数据更新的时候具体锁定的是什么?
  3. 数据库有那些锁,这些锁都有什么作用?表锁,行锁,意向锁(解决了什么问题?),Gap锁。
  4. 有没有用过java并发包里面的类?用到了那些?AtomicInteger的实现原理 Cas+Volatile,以及volatile的语义内存屏障,如何保证可见性内存锁。

3.Springbean的生命周期,如何解决循环应用,原理?

4.线程池几个参数分别是什么意思?

二面

  1. 遇到困难的事情,是如何解决的?技术上,业务上。
  2. 有没有处理过线上问题,CPU飙高,内存高?load偏高(Load代表什么意思)如何解决?
  3. 算法:在上G的文件中如何求出最长字符串。文件每一行都由若干个字符串组成。如name,server,nameserver,size,page,pagesize 那么这行的最长组合字符串就是nameserver.

三面

  1. 如何和同事高效沟通?
  2. 系统的设计如何保证正确性,以及代码编写需要注意什么,如何保证质量?


注:java基础没有问,可能考虑笔者工作六年的原因。技术上没有面试太多,一轮大概一个小时左右,二轮三轮大概都是半个小时左右。


分享到:


相關文章: