字节客户端开发3面总结(已OC)
提前批投的飞书后端,简历秒挂,找大佬捞的,转到了客户端开发(基本没问客户端知识)
一面 (1小时)
- 手撕二叉树Z遍历(力扣)
- 编译原理
- JVM回收算法
- CPP如何实现垃圾回收
- UDP与TCP,以及UDP如何保证可靠传输(quic)
- 介绍项目技术栈,深挖项目
- 强引用弱引用软引用虚引用对比
- 标记对象可回收算法
- JVM内存模型
- JVM类加载方式:双亲委派详细介绍过程
- 介绍google inject(依赖注入框架)及依赖注入的优点
- LRU算法及其实现
- LinkedListHashMap底层原理
- ...
二面(1小时)
- 递归的处理过程
- 设计模式(单例模式,建造者模式,代理模式,工程模式等)
- 项目技术栈,深挖项目
- 常用算法对比(DP, 回溯, 贪心,分支限界)
- 递归写个斐波那契
- 项目中遇到的难题
- 数组链表区别
- 页面置换算法,内部碎片产生
- 进程线程
- 设计操作系统需要实现哪些功能:进程管理,文件管理,内存管理,IO管理等
- 未来发展移动端发展趋势
- ...
三面(1.5小时)
- 介绍项目技术栈,深挖项目
- 项目中使用的Hash算法生成token过程
- HashMap 结构,扩容,负载因子,putVal过程
- 手撕删除链表中所有重复结点(递归写出来了,迭代没有)
- 介绍MQ(RabbitMQ与Kafka)
- 介绍微服务
- 是否愿意转客户端
- hashTable是否线程安全,如何实现线程安全
- 场景题: 不使用消息队列,如何实现服务之间数据通信(Http长轮询 和 类似于实现发布订阅机制的中间件如redis)
- redis 与 MC 对比, 为何选在redis
- 介绍小程序的优缺点
- 未来职业规划
- ...
#字节跳动秋招提前批##字节跳动##面经#总结:字节笔试好评,每次结束后大概10分钟收到后续结果,三轮通过后直接走流程,3天后收到意向书
力推字节