字节后端二面
《面试题目》
- 30面的,五一后问hr进展,结果是挂了。这次被狠狠拷打了而且手撕完全做不出来,不知道是交叉面还是更高职级的面
- 上一段实习,技术上的难点?
- 实习拷打×n
- 工作时怎么用ai coding的工具帮助你开发?
- java怎么保证并发安全
- 详细描述某个场景下各方通信的时序和内容(具体忘记了,脑子一热什么都没说出来)
- 这个场景的底层通信是怎么做的(excuse me?只背过计网常规八股的我是一脸懵,我看起来像什么很厉害的战神吗)
- 看到你不是计算机专业的,说一下你的专业和研究方向
- 平时了解过搜索推荐的工作原理吗,说一下
- 手撕1:十六进制转换
- 手撕2:手写一个限流器。这里我说了一下我可以使用滑动窗口来写,面试官问我知不知道令牌桶,我吟唱了一下令牌桶八股,他让我用令牌桶做,我说我不会写令牌桶代码,他非得让我用令牌桶😠后续也是没撕出来,面试官让回去好好看看令牌桶算法的代码
《参考解析》
-
Java并发:Java并发:synchronized关键字(偏向锁→轻量级锁→重量级锁升级);ReentrantLock(可重入、可中断、公平锁);volatile(内存可见性+禁止指令重排,不保证原子性);CAS(Compare-And-Swap,无锁乐观并发);ThreadLocal(线程本地变量,WeakReference,注意内存泄漏)。线程池核心参数:corePoolSize/maximumPoolSize/keepAliveTime/workQueue/handler。
-
算法题解析:常用算法思路:动态规划(状态转移方程,自底向上);BFS/DFS(图遍历,BFS找最短路,DFS回溯);双指针(有序数组去重/两数之和);滑动窗口(子串/子数组问题);二分查找(有序或单调性)。时间复杂度分析:关注最坏情况和平均情况。