电话面试
1. muduo网络库 定时器的实现 (set,顺便将了一下 runinloop函数)
2. read recv 函数区别 返回值为0 表示什么
3. tcp三次握手 为什么是三次不是二次 ? 四次挥手为什么是四次不是三次?
4. 闲聊
腾讯视频面试
作为一个小渣渣记录一下,腾是我一直想进的公司,但其实准备的时间不是很长,也不是科班还是存在很大的劣势,记录一下找工作的经历。
首先说一下,这是我第一次视频面试,还是蛮紧张的。不过面试官真的超好,不知道是不是因为我一面的面试官是个小姐姐的原因。
一面:
1.二分查找算法,有重复的值,返回最左边的索引,不存在返回-1。这是我写的代码,面试官指出找到的时候while循环那里存在问题,那里也可以继续二分查找。
#include <iostream>#include <vector>
#include <algorithm>
using namespace std;
int BinarySearch(vector<int>& nums,int ojb);
int main() {
vector<int> eg1{1,2,2,3,3,4,5,7};
cout<<endl;
cout<<BinarySearch(eg1,1)<<endl;
cout<<BinarySearch(eg1,2)<<endl;
cout<<BinarySearch(eg1,3)<<endl;
cout<<BinarySearch(eg1,4)<<endl;
cout<<BinarySearch(eg1,5)<<endl;
cout<<BinarySearch(eg1,6)<<endl;
cout<<BinarySearch(eg1,7)<<endl;
cout << "Hello World!" << endl;
return 0;
}
int BinarySearch(vector<int>& nums,int ojb){
//empty too small too big
if(nums.empty()) return -1;
sort(nums.begin(),nums.end());
int len=nums.size();
if(ojb<nums[0]&&ojb>nums[len-1]) return -1;
//binary search
int left=0,right=len-1;
while(left<=right){
int mid=(left+right)/2;
if(nums[mid]==ojb){
while(mid>=0&&nums[mid]==ojb) mid--;
return mid+1;
}else if(nums[mid]<ojb){
left=mid+1;
}else{
right=mid-1;
}
}
return -1;
}
/*改if(nums[mid]==ojb)
if(mid==0||nums[mid]!=nums[mid-1]){
return mid;
}else{
right=mid-1;
}
}
2.智能指针(四种)
3.auto关键字
4.对c++多态的理解
5.tcp挥手 close_wait time_wait
6.阻塞非阻塞 同步异步的理解
7.cpu占用100% 如何检查 gbd的使用命令,是否用它调试过多线程
总结:一紧张说话逻辑有点乱,还是说的东西感觉 除非了解它的人,明白我说的是什么。换个非技术人 可能根本不明白我说什么。总之很感谢小姐姐的耐心听我讲,她还跟我介绍了一下他们现在主要是做什么业务的。继续加油。希望接下来好运。
电话面试:
1.介绍学习后台开发经历,项目经历,看过什么书
2. epoll模型中 LE/ET模式有什么区别 选择哪一个?
3.浏览器中输入https://www.qq.com 会发生什么
4.参加过什么开源项目。我只看过muduo的源码,所以就扯了下这个。