投简历后一两周约面,之前自己投了一个byteIntern,等它简历挂后就约面了。后端开发-新业务,财经部门好像,内推人介绍是抖音支付?
一面5.25
- 自我介绍
- 说说HashMap,为什么使用红黑树?1.7为什么头插(让我猜一下)?扩容机制?为什么扩容2倍?
- synchronized与reentrantlock区别?平时使用哪个为什么?
- AQS是接口吗?有哪些没有实现的方法(tryacquire\tryrelease\tryAcquireShared\tryReleaseShared)?看过相关源码吗?
- 公平锁是什么?加锁过程?我说会先判断有没有线程再排队再竞争,但他说不对让我回去好好看一下。但我看了它会先执行trylock()方法,而trylock()里又有hasQueuedPredecessors()好像就是判断有没有线程再排队的呀?
- 其他juc组件看过源码吗?如CountDownLatch、Semaphore(无)
- 线程池参数及其关系,拒绝策略有哪些?平时使用哪个为什么?基于什么场景?(瞎编一通)
- 为什么使用多线程?线程上下文切换指什么?
- http与tcp了解吗?有什么关系
- 看过TCP结构吗?用什么看的
- https是什么,ssl属于哪一层协议
- 聊一下RPC项目,netty server 启动过程?为什么使用netty做网络IO
- NIO、IO多路复用是什么意思?基于什么实现的(epoll)
- 为什么选择使用RabbitMQ
- 算法:两个栈实现队列。一紧张想复杂了,经面试官提醒了一下
- 反问:部门技术栈?GO,语言也不符哈。
第二天早上约二面
二面5.29
- 介绍一下JVM,垃圾回收机制
- String和StringBuilder区别
- 介绍一下Spring,什么是IOC、AOP,什么是JavaBean
- 面向过程与面向对象
- C++与Java区别
- 索引的数据结构,为什么不用hash而是B+树,应该是问hash不能范围查找?没答到这个点
- 聚簇索引与非聚簇索引
- 二分查找、快排、冒泡排序时间复杂度
- 介绍一下动态规划
- 事务隔离级别及其实现,这里他一直和我绕,有点被绕懵了
- MVCC、间隙锁
- 令牌桶限流
- 算法:带过期时间的LRU缓存,写到一半面试官有事走了让我写完自己挂了(不吉利的词┭┮﹏┭┮)
- 感觉面试官不太会Java,其他问题感觉也是现搜的,可能我的表述也八太行。哎~算法那我删除缓存还忘记删map里的元素只删了链表中的。罢了罢了,鼠鼠我也不是进大厂的料。
一周后感谢信,人已挂麻,放假前再找不到实习,鼠鼠就回家辽
#字节日常实习##字节面经#