字节抖音后端一面凉面
字节抖音后端一面凉面
1. 自我介绍
2. 问项目,内网穿透是什么,客户端发送的请求怎么到的服务器
3. 为什么用redis?为什么用hash存储用户信息
4. 你这个项目里有私聊有群聊,群聊信息怎么同步的?
5. 数据都存储在服务端?
6. 能查看历史聊天记录吗?
7. 怎么登出?网络不稳定的话,怎么保证用户是登出了不是因为网络波动掉线?(心跳信息)
8. 好友申请怎么实现的?上下线提醒是给谁发送?(面试官:还是比较暴力一点哈,没有精细化的东西)
9. 你用到了redis,除了hash,你还了解什么?
10. 有主从同步这些机制吗?怎么持久化?
11. MYSQL你是了解这些概念(锁,MVCC,事务等)还是真正用过?
12. Golang这个项目服务器端的底层框架模型有学习过吗,服务器端怎么考虑多线程问题的?(没有框架,数据发送接收都由自己实现,没有考虑并发场景,客户端的请求没有优先级)
关于项目的问题结束
13. 在Linux下应该怎么调试程序?
14. 如果服务器占用CPU很高,怎么分析问题?
15. 有死循环,怎么排查是哪有死循环?
16. 进程间通信有哪些方式?
17. 同步异步,阻塞非阻塞有什么区别?
18. 进程执行后有栈空间,堆空间,哪些方式可以申请堆空间?
19. 程序在运行过程中经常需要new一个对象,用完之后释放。那么这些过程都会向系统申请物理内存,如果同一时间很多线程都向系统申请,就会产生激烈的资源竞争(因为物理空间不能共享,给谁用就是给谁用,用完需要还给系统),那么linux系统是怎样解决这样的问题的?
20. Python哪些结构对应树/栈/队列这些数据结构?
21. Python实现map用的什么结构?
22. 哈希表是个什么结构?