腾讯面经攒人品(后台开发1+2+3+4+hr面)
2.Linux I/O模型(select、poll、epoll区别,epoll回调传送的是什么,内核态和用户态数据传送是怎么样的,同步、异步、阻塞、非阻塞)
3.数据库,为什么用B+树,聚簇索引(MySQL,叶子节点存放数据),非聚簇索引(MYISAM,叶子节点存放地址,索引数据分开放);聚集索引非聚集索引,如何查找慢sql,如何提高慢sql的查找效率;联合索引何时不生效;(举了个例子,where b = xx and a = xx联合索引生效不(联合索引为(a,b,c)))
4.计算机网络HTTP1.0 1.1 2.0的区别,新特性,HTTPS具体(SSL握手+对称加密传输);中间人攻击,XSS攻击(这个不太懂,面试官没问了)
5.算法10亿交易量,找出最大的10条,说明时间复杂度
6.项目。问答社区,如何保证异步事件被执行:打印日志,看看有没有执行,没有则执行;如何保证幂等性;为什么不用redis的订阅发布,这样就不用轮询去查有没有事件了;tomcat实现的是HTTP1.几(1),如何实现长连接(我用的BIO);单机版的,如果宕机了怎么办;设计模式HTTP服务器里面用了什么设计模式(门面),说一下;怎么知道该服务器需要设置多少线程才合适;
8.多线程synchronized和lock的区别,哪些项目用了多线程,哪里用了自旋锁;