字节提前批一面
项目:
最有挑战的部分
如何解决的
mysql:
主键索引和非主键索引
最左匹配原则
操作系统:
进程间通信方式
redis(和面试官说了还没系统学):
使用场景
为什么性能比mysql好
单线程不会影响并发请求吗
Nginx(无深入了解)
手撕算法:
判断是否镜像二叉树
Z型打印二叉树
字节提前批二面(这一面面试官感觉会严肃不少,而且很忙,倾向于考察设计)
-
自我介绍(非科班)
-
什么时候开始自学的?
-
有看什么书吗?只看了java的书吗?(不,系统学习了科班专业课)
-
有实习吗?(无,字节三面被刷,卷土重来)
-
栈和堆系统层面和数据结构层面的特点,详细说
-
手写懒汉单例
-
StackOutFlowError这个异常为什么会发生
-
页面置换算法(说了最佳算法和LRU算法)
-
既然说到了LRU算法,那你来设计一下吧
设计LRU算法.
容量100
Get(k) v
Set(k, v)
头条文章的LRU缓存系统
K:文章唯一标示
V:文章内容
没有打代码,面试官说熟练就不打代码了
-
日常写代码用win10还是linux?会不会linux的指令(不会,还没系统学)
-
四次挥手流程
-
为什么要time-wait
-
SYN泛洪攻击
-
cookie和session作用?
-
hash扩容为什么要两倍两倍扩容?(我详细解释了为什么不取余而用 & length-1,取余没有&快,面试官满意)
-
redis为什么单线程但是可以处理高并发请求(答了在内存处理,不是瓶颈,瓶颈是网络IO)
-
redis项目有无用过?(无,只是学习的时候练习过)
-
redis处理一个30MB,40MB大小的value的时候会很慢,为什么(我猜是没有都在内存中,还没查答案)
-
设计题
设计一个内存池,满足内存申请、内存释放以及内存碎片管理等基本功能。(回答用链表维系空闲空间)
-
算法:三数之和
全部评论
(8) 回帖