虾皮一面面经,攒攒人品求offer啊啊啊啊
面试了40分钟,面试官是可爱的小姐姐,也很温柔啊啊啊让我过!
计算机网络:
1. http与https区别
2. http的命令(get,post,put,delete)
3. 浏览器输入网址的过程用了哪些协议(分层描述)
4. TCP可靠性的体现
操作系统:
1. 虚拟内存
2. 进程调度方式
3. 常用的linux命令
数据库:
1. 四种隔离方式,哪种是innodb默认的
2. 为什么用b+树
3. 为什么索引不用跳表(?)
4. 什么情况下会出现无法索引的情况(没懂什么意思)
5. 主键索引与普通索引的区别
数据结构:
1. b、b+、红黑树、avl树
2. 快排是否稳定
手撕代码:滑动窗口找最大,ac75%因为超时了,面试官说可以给五分钟优化,直接和她说了优化思路。生成窗口最大值数组
有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置,求每一种窗口状态下的最大值。(如果数组长度为n,窗口大小为w,则一***生n-w+1个窗口的最大值)
class Solution { public: int cal(vector<int> arr,int a,int b){ int max = arr[a]; for(int i = a; i<= b;i++){ max = arr[i]>max?arr[i]:max; } return max; } vector<int> slidingwindowMax(vector<int>& arr, int w) { vector<int> res; int tmp; while(arr.empty()) return res; for(int i = 0; i<arr.size()-w+1; i++){ tmp = cal(arr,i,i+w-1); res.push_back(tmp); } return res; } };