2020-03-29 字节跳动抖音后端 一面
- 介绍项目
- 操作系统中的页替换机制,知道哪些? (LRU,LFU,FCFS,OPT(理论策略))
- 四次挥手,每次挥手后的状态(FIN,ACK,FIN_WAIT1,CLOSE_WAIT,FIN_WAIT2,LAST_ACK,TIME_WAIT,CLOSED)
- vector底层怎么实现的?为什么扩容选择两倍扩容?
- mysql中的select有什么优化方式?(索引??)
- 如何知道mysql建了什么索引?(SHOW INDEX FROM <表名> )
- 如何知道一个系统进程的栈空间大小?(linux如何计算当前系统进程栈的大小)
- inode和fd的区别(完全不是一个东西)
- B树和B+树的区别(B+树改进了B树, 让内结点只作索引使用, 去掉了其中指向data record的指针, 使得每个结点中能够存放更多的key, 因此能有更大的出度. 这有什么用? 这样就意味着存放同样多的key, 树的层高能进一步被压缩, 使得检索的时间更短。由于底部的叶子结点是链表形式, 因此也可以实现更方便的顺序遍历)
- socket编程(SOCK_STREAM时可靠的TCP,SOCK_DGRAM是不可靠的UDP。socket.bind,socket.listen,socket.accept,socket.send,socket.rev,socket.close)
- 算法题1:把一个乱序数组小于0的数字放前面,大于0的数字放后面。(直接模仿qsort写的,如果开一个新的空间按for两遍应该会被喷吧?)
- 算法题2:一个括号序列,询问是否为合法括号序列。(用栈思想实现)
- 算法题3:改进版括号序列,找出字符串中最长的合法括号序列。(LC上的某道题吧,我用一个栈记录了左括号的id,右括号匹配时就能知道匹配到左括号时序列的长度。然后for一遍把相邻的合法串连接起来,取max值。)
- 算法题还好,八股感觉很凉啊啊啊。。。
未完待续