2020 JAVA后端面试总结

面试情况

  • 经历了8次阿里技术面试
    • 第一个部门 1 ,2,3面过,HR面过,offer流程中
    • 第二个部门 1面过 2面表现不好挂了 重新安排的2面过了 等3面的流程中锁P6HC
    • 第三个部门 1面过,2面技术得到肯定,但是业务不符合,挂了
    • 某部门 刚内推就通知锁P6 HC了
  • 经历了3次字节跳动技术面试,1,2,3面每轮一个算法题,分别是middle,middle,hard.HR面过了在谈薪流程中(异常艰难)

区别

  • 总的来说,阿里的面试更偏向应用业务,大部分面试官喜欢问方案。对于Java基础(P6)是雨露均沾但浅尝则止,遇到一个面试官喜欢问到内核(后来说他以前是C++的)

  • 字节跳动的面试官喜欢问的问题跟阿里则完全不同,Java基础完全是由浅入深,对于细节抠得比较深.对于硬技术的要求是非常严格的.对于业务方案的话则显得略微宽松一些,但是也有问。当然字节跳动的算法题是真的会导致国内的程序员环境内卷。。。

部分面试题

阿里的面试题懒得贴了,也记不住了,8次面试涉及到的太广了,广得只有你想不到。。。

我就贴贴我的字节技术面试题吧,不包含算法:

  • HTTPS是如何保证安全的 怎么交换密钥的。HTTPS 和HTTP数据包结构
  • 谈谈redis分布式锁(我的回答大纲:原子性,唯一id,过期时间,主从failOver,redLock,zk分布式锁)
  • raft,zab(我的回答大纲:paxos->multiPaxos->zab raft区别 和共同点)
  • sychronized原理,底层?偏向到重量级流程?重量级开销?为什么用户态切换内核态有开销?为什么分为用户态内核态?都是干嘛的?
  • mysql隔离级别?分别避免什么问题?仔细举例描述什么情况会出现什么问题?MVCC原理(网上的版本号的那些都是误人子弟)
  • redis数据类型,zset实现原理,底层结构
  • reentrantlock,底层AQS结构,为什么是双向链表,什么时候会删除节点,公平和非公平实现原理.
  • hashMap结构仔细描述下,hashCode是什么?有什么作用?怎么生成的(System.identifyHashCode)?string的hashCode方法?hashMap的hash值如何生成?为什么要链表红黑树?除了链表还有什么解决方案(数据结构那本书上写过)?Hashmap为什么会出现线程安全死循环问题?1.7为什么要头插?
  • concurrentHashMap是怎么解决并发的?
  • CMS的执行流程,CMS是使用的深度优先遍历还是广度优先遍历,CMS一定有两次STW吗,CMS两次STW的时间哪次长.
  • epoll poll select原理,讲下其执行的流程?就绪列表和红黑树有什么联系?
  • 分布式id生成方案,如何保证连续取得的id强有序?
  • top10微博热点问题解决方案
  • 你是怎么学习的?本人是土木工程,工作经验2年半,这种问题经常会被问到.
  • 遇到的难点

你可能感兴趣的:(面试经验)