字节跳动 - 服务端开发实习生 - 一面 - byteintern
#字节跳动# #面经#
全长50分钟
自我介绍项目介绍
gorm为什么会存在,优点是什么?
Mysql事务隔离四种级别讲一下?
Mysql索引底层讲一下?
Mysql数据引擎有什么以及为什么分这么多种?
Mysql中主键用的随机字符串行不行?或者换一个说法,唯一约束的字段用随机字符行不行?
(我讲了一般用自增的数字或uuid,反问我uuid就没问题吗?我说基于时间空间的uuid在小数据量情况下几乎不会重复大数据量没想法,应该不大够,面试官没追问了)
做一道题:单链表反转,ACM模式
Goalng协程讲一下?
协程线程进程区别以及为什么这么区分讲一下?
切片数组的区别和扩容讲一下?
切片如果给另一个切片赋值,底层是新创建数组还是没有?(没有,索引赋值只是指向底层数组的指针,除非是append那种赋值)
Goalng的Map底层讲一下?还有扩容?
Goalng协程为什么高效,答到底层去?
为什么要设计时间轮结构为什么需要公平调度?(和优先级调度区别什么的,答的不好)
Redis与其他类似数据库的区别?
Redis使用场景?
Redis和Mysql同步机制怎么做比较好?
红黑树和平衡二叉树哪个更好?或者说哪个有哪些应用场景,优点是什么?(头大,讲不明白没准备过)
TCP和UDP区别,在模型那一层?(我具体实际操作联系路由器交换机讲了一下,还有http协议版本)
粘包为什么在TCP中会出现?(实际使用讲了,顺序排序拥塞控制以及通道udp什么的讲了点)
粘包为什么不在UDP中出现?(没想法,脑袋空空)
哪些应用场景是TCP,哪些是UDP?
为什么TCP更可靠?
有一个服务下线了,怎么排查具体的问题出在哪里?(答了高可用k8s方面、监控方面、服务日志等内容)
最后一道开放题,上百万亿的整数取最大的100个数,怎么区分和取?几分钟思考时间,边思考边讲 (答了找稳定的排序+复杂度成本可接受方面之类的东西,但明显不够,估计有算法和成套解决方案我不知道)
是否接受调剂地区,以及倾向城市?
反问:着急到岗吗?
总结:八股问到底,算法简单,八股问麻了,上班回来休息不到半小时开始面试,脑子一直很疼,个人项目一点都没有问,乐
距离上次面字节刚好一周,但感觉通过希望不大,问深了真不会。
结果:第二天早上寄了。