腾讯PCG(后台开发) 牛客网视频面试 一面
程序员文章站
2022-07-01 23:02:36
腾讯视频面试 作为一个小渣渣记录一下,腾讯是我一直想进的公司,但其实准备的时间不是很长,也不是科班还是存在很大的劣势,记录一下找工作的经历。 首先说一下,这是我第一次视频面试,还是蛮紧张的。不过面试官真的超好,不知道是不是因为我一面的面试官是个小姐姐的原因。 一面: 1.二分查找算法,有重复的值,返 ......
腾讯视频面试
作为一个小渣渣记录一下,腾讯是我一直想进的公司,但其实准备的时间不是很长,也不是科班还是存在很大的劣势,记录一下找工作的经历。
首先说一下,这是我第一次视频面试,还是蛮紧张的。不过面试官真的超好,不知道是不是因为我一面的面试官是个小姐姐的原因。
一面:
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的使用命令,是否用它调试过多线程
总结:一紧张说话逻辑有点乱,还是说的东西感觉 除非了解它的人,明白我说的是什么。换个非技术人 可能根本不明白我说什么。总之很感谢小姐姐的耐心听我讲,她还跟我介绍了一下他们现在主要是做什么业务的。继续加油。希望接下来好运。