字节跳动后端开发实习面经一二三面+HR面(已offer)
*号表示没答上
一面(1h)
1.问之前的实习 2.redis的基本数据结构,string的底层 3.binlog存储日志的格式,statement造成主备不一致的过程 4.多机房部署mysql会有什么问题,解决数据同步问题的方案 5.http和https的区别 *6.utf8是定长编码吗 ,能兼容ascill吗 7.大文件排序这么办 编程题: 1.删除中间节点,一开始写了个O(n),后来让写了个O(1) 2.手写栈且求最小值,要求O(1),用链表写的,然后问了一下用数组写的思路
二面(1h)
1.java和go的区别 2.进程、线程、协程的区别、一个线程怎么拥有多个协程 3.springboot的服务模型、服务启动机制,springboot的并发处理机制 4.java中高并发的处理与应对方案(synchronized、lock、cas、aqs) 5.不同锁机制的应用场景、synchronized和lock的差别 6.读写锁的原理、应用场景、state的底层结构 *7.读多写少场景写锁拿不到锁怎么办 8.mysql中innodb支持哪些索引、B+树索引有哪些特性 9.聚簇索引和非聚簇索引、最左前缀原则 10.mysql索引失效场景 11.mysql的explain命令有哪些关键字段 12.git用过哪些操作、rebase和merge的区别 13.了解哪些分布式中间件 14.base理论和cap理论、cap有哪些指导思想 15.分布式锁及运用场景 编程题: 1.寻找最长公共子串
三面(30min)
1.讲一讲设计模式,细讲一下原型模式的浅克隆和深克隆、解决了什么问题 *2.spring和tomcat怎么协作的 3.ioc、为什么要有ioc 4.双亲委派机制及作用,解决的问题 *5.tomcat打破了双亲委派机制了解吗 6.mysql有哪些锁,间隙锁解决了哪些问题 7.mysql的redo log讲讲 8.DNS为什么用UDP 9.有什么数据结构能快速知道手机号是否注册、要求O(1) *10.讲一讲布隆过滤器的原理 编程题: 1.寻找最长重复子串
HR面(10min)
聊人生经历和规划,希望大三回来走提前批,沟通薪资,入职时间
