3-18 腾讯wxg c++一面

被吊打的一面哈哈哈哈哈

他吗的面试官是个Acm选手,直接给我吊锤烂了~

三个代码题一个都不会 

65min

面试官一进来就说。我是微信这边的,接下来的问题可能会偏向C++后端的内容,希望你做好心理准备。

连自我介绍都没有, 我:???
全是多线程的问题
如何避免死锁,进程死锁&&线程死锁。还跟我说保证他申请资源的时候一直是一个DAG就好了。好家伙给我秀了一波
SSL握手过程, 我忘了,我说我了解RSA加密过程, 面试官说很简单啊,你说一下他这样加密的耗时吧,我说nlog(p*q),他说没问题,不过很多传输都是基于对称加密的,非对称只是其中的一小部分,好家伙,又给我秀了一波
问我c++多线程操作同一个stl的vector 如何加锁保证合理操作。以及原子操作啥的。。。
反正也不会,就瞎答了,面试官直接说行了行了 ,写几个题吧

给我发了三个题,我一看,他***戈壁第二题手写min_25筛 ??? 第一题想半天没想到nlog的写法,第三题还看不太懂 哈哈哈哈

我都小一年没打比赛了,这出的题也太看得起我了。


1、n个小数,有多少对乘积为整数? 0 <= ai < 10^9,小数点后最多9位小数。 n 1e5
    我说第一个题只能优化写到1e4,数据出的很卡还是能到n方
    
const int maxx = 1e5 + 7;

long long solve(){
  double a[maxx], b[maxx], c[maxx];

  for(int i = 1; i <= n; i++){
  	int p = (int)a[i];
    if(a[i] - p == 0.0){
    	b[++cnt1] = a[i];
    }
    else {
     	 c[++cnt2] = a[i];
    }
  }
  sort(c + 1, c + 1 + cnt2);
  long long ans = cnt1*(cnt1 - 1) / 2;
  for(int i = 1; i <= cnt1; i++){
  	int l = 1, r = cnt;
    int mid;
    while(l <= r){
     	mid = (l + r) >> 1;
      if(b[i] * c[mid] >= 1){
        l = mid - 1;
      }
      else {
      	l = mid + 1;
      }
    }
    for(int j = l; j < cnt2; j++){
     	double x = b[i] * c[j];
      long long y = x;
      if((double)y == x)
        ans++;
      
    }
    
  }
  
}


我还瞎写了个东西,面试官直接说行了,你这二分也没啥意义,直接看第三个题吧。哈哈哈

都*1e9,把整数的部分删了,然后看0的数目,2个0的找16个0以上的,就转换成一个前缀和了。,不过这是一个二维的,需要再考虑一下进位,预处理2和5的-50到50的次幂,然后考虑次幂是否能整除,然后能转换成fft按权展开嘛,而且细节很难写的很好,这个题确实有点难了。

2、1 ~ n 之间质数个数? 1 <= n <= 10^12。 5s (n ^ 2/3)  min_25 

    我说我现在只会1e8的,面试官来了一句这也太小了,还说其实可以用简单的DP思想求解,我说我记得20年ccpc网络赛的时候有这个题啊,面试官说可能大家更倾向于套模版吧,毕竟比较简单。 又又又秀了我一脸

3.封装一个vector<string>data;  实现它传输成一个stirng类,类似于传输数据和解码数据
我思路就存了一个索引,然后用这个索引求的每一个string的位置然后转换的。
期间出了很多细节的问题,面试官一眼就看出来了,太强太强了。
string change(int x){
 	int p = x;
  int num = 0;
  string ans = "";
  while(p){
    num ++;
    p /= 10;
  }
  for(int i = 1; i <= 5 - num; i++){	// ? 
    ans.push_back('0');
  }
  ans += x.toString();
  return ans;
}


string Send(const Data& data); // data = {"abc", "123", "void"}
{
	int len = date.size();
  string ans = "";
  ans += change(len);
  for(int i = 0; i < len; i++){
  	ans += change( data[i].size() );	// ?
  }
  
  for(int i = 0; i < len; i++){
  	ans += data[i]; 	 
  }
  return ans;
}


string Recv(string str){
  int len = str.substr(0, 5).toInt();
  int nowIndex = (len + 1) * 5 - 1;
  string ans = "";
  for(int i = 4; i < (len + 1) * 5 - 1; i += 5){
    int nextIndex = nowIndex + str.substr(i, 5).toInt();
    
   	ans += str.substr(nowIndex, nextIndex);
    nowIndex = nextIndex;
  }
  return ans;
}


反问: 我说第二题真的有更优质的写法吗,然后我俩达成一致,最优还是n^(2/3)  面试官还说其实周哥晒和min_25筛也都基于一点dp的思想
我说 请问可以告知一下贵公司的hc情况吗,面试官说他是微信应用部门的,不太了解。

反正这场被吊锤的很开心,最后反问我都是笑着问的,关键是第一眼看到那个min25筛就不行了hhh
面试官是真顶级金牌选手啊,比起那种没hc流程自动结束的,面的还是很开心的

#腾讯##面经#
全部评论
怎么会这么变态。
2 回复
分享
发布于 2022-04-26 15:12
min25真绷不住了
1 回复
分享
发布于 2022-03-18 12:22
滴滴
校招火热招聘中
官网直投
哥你这是校招还是社招呀?太硬核了吧
1 回复
分享
发布于 2022-03-18 15:19
太恐怖了😢
1 回复
分享
发布于 2022-03-18 15:29
看得出来大佬简历内容也很顶才会被这么问
1 回复
分享
发布于 2022-04-15 13:45
为啥会考min25筛啊,楼主是金牌吗
1 回复
分享
发布于 2022-04-19 17:13
这就是传说中的WXG吗
4 回复
分享
发布于 2022-04-08 01:23
简历里写了acm吧,我写了算法也是给问蒙了
3 回复
分享
发布于 2022-04-19 17:08
第一个题应该还要预处理一下2和5的次幂,然后转换,现在这水平真实现不了这个题
2 回复
分享
发布于 2022-03-18 11:59
楼主是在简历里写了acm经历吗🤣
1 回复
分享
发布于 2022-03-20 15:58
楼主是直接在官网投的校招吗?
点赞 回复
分享
发布于 2022-03-19 00:26
暑假实习还是日常实习
点赞 回复
分享
发布于 2022-03-20 16:58
我也面过wxg,虽然二面就挂了,但也没这么难。可能面试官看我非科班手下留情了吧😂
点赞 回复
分享
发布于 2022-04-09 10:25
🍤……
点赞 回复
分享
发布于 2022-04-29 18:31
已经蒙了,现在卷成这样了?
点赞 回复
分享
发布于 2022-05-13 02:49

相关推荐

#软件开发2024笔面经#&nbsp;#&nbsp;24/3/25腾讯后台开发实习一面凉经&nbsp;WXG##&nbsp;经过19:30开始面的用的是腾讯会议,ide是txmeeting的一个插件(对js有高亮支持,py没有,其他没试过)几乎没有补全,没有自动缩进,我直接蒙圈,平时leetcode模式题目写太多,今次连函数参数格式都不会写了1.&nbsp;自我介绍2.&nbsp;看了下项目,大概问了一下&nbsp;&nbsp;&nbsp;1.&nbsp;这部分我感觉自己答得很烂,主要是填了三个项目脑子一抽说了写的最烂而且还没实现的那个项目3.&nbsp;TCP和UDP的区别?应用场景?4.&nbsp;UDP如何保证可靠&nbsp;&nbsp;&nbsp;1.&nbsp;QUIC特点5.&nbsp;四道题目&nbsp;&nbsp;&nbsp;1.&nbsp;[215.&nbsp;数组中的第K个最大元素](https://leetcode.cn/problems/kth-largest-element-in-an-array/)&nbsp;我思路是排序然后返回nums[-k]&nbsp;但是卡壳了,没错,板子都没记熟,真该死啊,快排和merge都卡住了,相当尴尬,而且是基本上都写完了卡住了&nbsp;&nbsp;&nbsp;2.&nbsp;[146.&nbsp;LRU&nbsp;缓存](https://leetcode.cn/problems/lru-cache/)&nbsp;这题更是重量级,上午才看的,上一篇博客第一题就是这位,面试官看我排序卡了没让我写这题,说了下思路,肯定了是正确的,但是被拷打了&nbsp;&ldquo;感觉你准备不充分,写代码没那么熟&rdquo;&nbsp;(还真是)&nbsp;&nbsp;&nbsp;3.&nbsp;一道概率题,贝叶斯公式,哈哈,概率论老师我对不起您&nbsp;&nbsp;&nbsp;4.&nbsp;一道“智力题”&nbsp;完全不会6.&nbsp;反问&nbsp;&nbsp;&nbsp;1.&nbsp;什么事业部&nbsp;&nbsp;&nbsp;2.&nbsp;后续技术栈发展推荐?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;技术栈不重要,学生还是要打好基础,加油给我唐完了,不出意外的直接流程灰了八股出乎意料的几乎没问,问的还很浅,可能是事业部之间有差别仔细想来看过的几篇腾子面经确实有一篇四道一面题有两道是概率题和智力题,但是我完全没关心(本来以为是巨量八股拷打,结果大wok了##&nbsp;教训1.&nbsp;不能依赖ide和leetcode模式2.&nbsp;多写,多写,多写,还是写太少了#腾讯#
点赞 评论 收藏
转发
54 115 评论
分享
牛客网
牛客企业服务