字节跳动 技术中台后端一面面经
一.自我介绍
二.项目深挖
问了epoll底层、LT ET使用情景、长连接相关,各个模块怎么实现、情景题
三.八股
- C++
1. 多态、虚函数实现方式、虚指针在对象内存中的位置
静态多态、动态多态,虚函数表+虚表指针,位置不懂,猜测在开头因为基类指针要能访问到
2. 结构体字节对齐,原因,如何关闭
原因只说了CPU cache(看了下还有cpu寻址),宏忘了
3.代码验证字节对齐中成员的偏移量,如何不实例化对象来验证(?)
才知道void*不能直接减,差点丢人,不实例化没什么思路,可能要开关对齐sizeof()?
- 计网
1.TCP可靠性表现
只说了面向连接、重传,回去看了下还有序列号校验和
2.如何判断网络是否拥塞
超时、快重传
3.timewait作用、缺陷,如何优化
作用:保证断开、隔离两次连接
缺陷:占用资源
优化:说了强制断开、动态调整时间,提醒之后又说了连接复用
4.TCP连接数取决于那些因素
服务器文件描述符和内存限制,客户端ip和端口数
算法
1.两个栈实现队列
光速写完后让我优化栈慢的入队操作,想了半天时间效率,面试官估计是想让我判断另一个栈是否满,没get到点
2.找众数(二分之一)
只说思路,摩尔投票法,变式:一定存在和不一定存在,n分之一的情况想好了结果没问
四、反问
1.业务,中台为啥要后端
2.基础知识、代码能力、业务能力更看重哪些
人生中第一次面试,一整场下来听到最多的话是“还有吗”,代码题也没发挥好,丢人了
#字节跳动##面试题目#