爱数一面:
1、介绍项目具体工作
2、索引种类
3、联合索引 索引失效(最左匹配原则)
4、有没有用过中间件(其实没怎么用过,以前项目用到过QDBUS简单说了下)
5、研究生做过什么项目吗(没有)
6、手写个快排
7、HTTP报文分为几部分(请求行 状态行 请求体 )
8、请求行内容(请求方法 URL 协议名称和版本)
9、HTTP常用8个方法(答了个POST和GET 剩下的忘了)
10、strcut 和class 区别
11、内存逃逸(这是GO的东西 他乱入了)
12、链表和数组
反问 流程和面试哪里需要加强
爱数二面(应该凉了)
1、TCP的三次握手 四次挥手
2、看我做了个web服务器问我用过nginx吗(对不起 没用过)
3、情景题:现在有一个web服务器要做一个反爬虫程序,要求同一个IP5分钟之内不能访问超过100次怎么做(timer 加count 每timer过5分钟 count请一次),
说完回答以后继续提问 你这样做会有问题 那就是你在整个程序过程中其中任意一个区间可能会超过100次怎么办,继续提需求 要求满足任意5分钟之内count不能超过100(没答上来)
面试官说你可以建立一个最长100长度的链表 每次来跟头部时间进行比较 如果超出5分钟则禁止(问题继续升级)
100次升级到10000次 并且限制内存使用该怎么设计(更不会了) 面试官回答令牌桶 为每一个对象建立一个count 每次对象来一次count减一次 并且比较两次时间根据两次时间的差来增加count数量(例限5分钟300次,则时间每差1s count+1)
4、索引失效的几种情况(说了模糊查询 最左匹配 使用函数 剩下的忘了)
5、什么场景下索引会降低效率,不应该建立索引(没答上来) 应该是索引字段需要被大量修改的时候不能建立索引,会导致索引树动态维护而加锁,致使索引查找效率低下
有点久没看八股了 以前背了的东西忘了好多 面试官还是很nice的不是那种问你你一个问题 你怎么说他都没有反应直接下一题那种,看的出来面试官在引导我 但是我太菜了没答上来,并且每个问题都会在后面详细解答 非常好,是我太菜
#面经##C/C++#