好像千寻位置的面经比较少,这个点估计已经招满了,发出来给下一届看看
因为过去时间太久了,很多问题都忘了,发一些记得的问题吧
1、hashmap是如何解决冲突的,扩容,扩容时会发生什么,数据怎么转移?
负载因子为什么是0.75?负载因子的大小会对hashmap有什么影响?
链表什么时候变为红黑树,为什么?为什么选8这个数字?能不能讲一讲泊松分布?缩容呢?为什么缩容选6这个数字。
concurrenthashmap如何保证线程安全。
2、java有哪些锁?volatile、sync,lock的区别?Sync原理?volatile一定能保证线程安全吗?volatile原理?
3、BIO、NIO、AIO区别,详细说一下BIO和NIO区别。多路复用?select、poll、epoll的区别。水平触发和边缘触发的区别。
4、java垃圾回收?CAS和G1的区别?(详细说明,比如说优缺点,垃圾回收算法,分区,GCROOT,三色标记法,增量更新,原始快照,写前屏障,写后屏障,可停顿啥的)
5、Mysql索引?底层数据结构?为什么要用B+树?MVCC如何实现?
6、大数据量去重问题。Bitmap是什么,怎么实现。
一面问的就挺细的,压力有点大。好在全答上来了,难点感觉在于只是给你一个大致问题,看你怎么讲,没有相关引导,也不会去打断你,个人在这种只给个大概的问题方面确实欠缺很多,很容易造成冷场。
1、项目相关问题,问的东西很细,然后会问你为什么要这么做。应该面试官觉得我的项目太玩具了,一直指出我项目的错误,说大厂不会这么做,个人没有实习,确实在项目实操方面有些欠缺,估计就是挂在这了。
2、抽象类和接口的区别
3、tcp,http相关
4、进程、线程、协程的区别,GPM模型。
5、详细讲一下一致性hash,虚拟节点?为什么要用一致性hash,和普通hash的区别
6、raft是什么?强一致和弱一致的区别。
二面问的也挺细的,会抓住你简历上每一个点去问,面试官会打断和否定(所以个人感觉面试的时候压力很大)。
对我来说难度还是挺大的,问题问的都比较深,不过基本都答出来了。
估计应该是项目实操这方面没有达到要求,没办法,自己在这方面确实欠缺很多。
#千寻位置##千寻位置校招##2023秋招#