欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

腾讯PCG(后台开发) 牛客网视频面试 一面

程序员文章站 2022-04-14 15:43:46
腾讯视频面试 作为一个小渣渣记录一下,腾讯是我一直想进的公司,但其实准备的时间不是很长,也不是科班还是存在很大的劣势,记录一下找工作的经历。 首先说一下,这是我第一次视频面试,还是蛮紧张的。不过面试官真的超好,不知道是不是因为我一面的面试官是个小姐姐的原因。 一面: 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的使用命令,是否用它调试过多线程

     总结:一紧张说话逻辑有点乱,还是说的东西感觉 除非了解它的人,明白我说的是什么。换个非技术人 可能根本不明白我说什么。总之很感谢小姐姐的耐心听我讲,她还跟我介绍了一下他们现在主要是做什么业务的。继续加油。希望接下来好运。