美团基础技术研发一面(可能凉了)
问了一个小时,疯狂问项目,一个接一个挖,哭哭😭。
第一个项目
1. SQLite和SQL的区别(各自的应用场景,sqlite的事务级别)
围绕SQL和SQLite的区别疯狂问(不是很会,没答上来)
第二个项目
2. 为什么服务器做中转,如果不用中转,客户端直连有什么问题(应该考察的时点对点通信,不会)(说了个网络抖动,反问抖动怎么解决,不会)
(复盘:下次拿游戏服务器举例,为什么需要服务器中转)
3. 因为没超时机制,客户端得不到服务器的回应怎么办,(说考虑超时重发,限制次数)。还有TCP粘包问题
4. 如果我现在要加服务器,可能会有什么问题(说了数据同步),客户怎么知道我连哪个服务器(考虑nginx反向代理)
(复盘:可能考虑一致性哈希?场上没想起来)
5. 为什么从多线程改为I/O多路复用+线程池(说阻塞问题,说I/O复用,线程池的优点减少开销,避免频繁创建删除;I/O多路复用会阻塞,阻塞在哪里)
阻塞问题:都在处理连接请求,阻塞了其他请求???
6. mySql的多机部署问题(不会)
7. 项目为什么不用UDP,而用TCP
8. 内核态、用户态(感觉不是很会,把自己理解的说了,比如安全,某些资源用户不能访问之类的)
9. 零拷贝的实现
10. TCP、UDP的区别(说了区别和应用场景),TCP怎么保证可靠性(大概解释了一下,没细问)
基础:
11. Java和c++区别(垃圾回收,反问优缺点; JVM; java没指针,问了c++智能指针)
#美团##面经##校招##C++工程师#