腾讯客户端企业微信一面

 5.22一面,总共时长125min
1.如何保护用户的隐私
2.int* createArray() {int arr[3] = {1, 2, 3}; return arr;} 这段代码有什么问题
3.对上述代码进行改进,写出能想到的所有方法(我写了一个malloc,全局数组,静态数组)
4.说一下三种方式的优缺点
5.全局数组和静态数组有什么区别
6.解释完美转发的作用及实现方式
7.const int*,int const*,int* const, const int* const的区别
8.实现一个无锁计数器
9.调用C++11实现一个线程安全的有界环形队列(circular buffer),要求如下:支持多线程环境下的并发push和pop操作,队列有固定容量,满时push操作要阻塞,空时pop操作要阻塞。不允许使用第三方库,只能用C++11标准库,说明你的实现如何保证线程安全,并分析可能的性能瓶颈。
10.unique_lock 和 lock_guard的区别,为什么你刚才给我的代码用的是unique_lock 而不是 lock_guard 呢
11.你写的代码的性能瓶颈是什么?如果有大量得到生产者和消费者会怎样呢
12.把第9个改成非阻塞的,写一下,为什么你这个非阻塞用lock_guard这个锁呢
13.有一类二叉树用三叉链表来存储的时候除了带有指向左右孩子节点的两个指针,还有指向父节点的指针,那么这样一棵二叉树有n个节点,那么有多少指针指向NULL(对于不存在的节点表示为空)
14.int n = 2019; int count = 0;  while(n){count++; n = n&(n - 1);} cout << count << endl;输出是多少,为什么
15.给定一个递增循环整数数组,从里面找出最小的元素,使用的算法越快越好。特别地,最小的元素可能出现在数组中间。比如:50,52,63,90,3,8,15,44,49,int findmin(int array[]){}
16.在二叉排序树上面找出第3大的节点。注意:不能把二叉树全量存储到另外的存储空间,比如存储到数组中,然后取出数组的第三个元素。
class TreeNode {
public:
int value;TreeNode*left;TreeNode* right};
TreeNode* find(TreeNode*root) {}
17.动态规划题:给定一个长度为l的木棍,已知有n个切割点,要求在每个切割点都要切割,注意每次切割的开销为当前木棍的长度,例如一个10米的木棍,切割点为2,4,7。有多种切割方式,其中可以先切2,再切4,再切7,此时开销为10+8+6=24(第1次切木棍为10米,笑2次切木棍为8米,第3次切木棍为6米),也可以先切4,再切2,再切7,出约著销为10+4+6=20,这时开销更小你的任务是计算切割的最小开销。
全部评论
问的难容易过
2 回复 分享
发布于 05-25 23:51 广东
和我21号面的一模一样。。
1 回复 分享
发布于 05-26 22:26 江苏
是真的难,主要都是C相关的
1 回复 分享
发布于 05-23 20:59 湖北
佬有二面吗
点赞 回复 分享
发布于 05-28 21:54 陕西
过了么博主
点赞 回复 分享
发布于 05-26 18:11 北京
感觉好难啊
点赞 回复 分享
发布于 05-23 13:32 重庆

相关推荐

两个项目挑一个介绍一下,遇见了什么困难如何解决你刚才说用&nbsp;udp&nbsp;作为广播包为什么udp&nbsp;和&nbsp;tcp&nbsp;区别&nbsp;为什么不选&nbsp;tcp我看你给每个线程建立了&nbsp;tcpsocket&nbsp;为什么多线程的&nbsp;io&nbsp;策略有哪些static&nbsp;关键字介绍一下对局部变量加&nbsp;static&nbsp;有什么作用对函数加呢对全局变量加呢如果全局变量加&nbsp;static&nbsp;放在头文件里会有什么问题c++中堆和栈的区别有哪些栈比堆的速度快吗&nbsp;为什么讲一下&nbsp;inline智能指针有哪几个shared&nbsp;ptr&nbsp;如何设计的shared&nbsp;是线程安全的吗(我真是蠢&nbsp;没复习到说了个不安全,豆包分的三个情况&nbsp;修改引用计数安全&nbsp;访问修改指向对象不安全要加锁&nbsp;修改同一个实例不安全)让你用代码设计&nbsp;shared&nbsp;ptr&nbsp;怎么设计内存泄漏有可能哪些原因假如说现在测试跟你说程序&nbsp;cpu&nbsp;占用率高,如何排查是不是内存泄漏内存泄漏如何定位valgrind&nbsp;介绍一下valgrind&nbsp;的底层是什么原理(不会,动态二进制插桩)cpu&nbsp;的三级缓存找工作太坎坷了,我实习是&nbsp;c+的,看大家都学&nbsp;java&nbsp;就八月份开始一直投&nbsp;java,国庆后想明白了才捡起来的&nbsp;c+,希望一直努力准备,能有个满意的保底,实在不行就春招😂双非鼠鼠真的很感谢鹅厂给一次面试的机会(原来微信用的就是&nbsp;qt5)
发面经攒人品
点赞 评论 收藏
分享
10-13 21:38
门头沟学院 Java
个人比较喜欢这种一天面完三面的面试,确实比起别家每面一面然后排序一周要好很多。具体几个体验的点:1.估计是统一的面试,会议室不太好约,面试官都是在工位面的,一面的时候,面试官那边特别嘈杂,很影响回答思路,反馈后,也是辛苦面试官,他每提一个问题就闭麦了。2.本来以为秋招都结束了,10多天没看八股,八股这东西真的就是“唯手熟尔”,一面有些问题回答不全,被面试官评价“基础有待加深”。3.滴滴最喜欢问的问题是“让你从现在的角度看,你过往的实习经历里有哪些做得不好的地方,如果现在让你做,你会怎么做?”,二面和三面都问到了,感觉确实有点偏压力面的意思,然后之前没准备过,二面被问懵了,三面再问就对答如流了。4.滴滴的面试风格和jd很像,时间不长也就30-40分钟,也没有手撕,感觉八股也是问得比较中规中矩,也没有场景题,相对是很友好的。面经如下:一面:实习经历http请求的过程http为啥需要三次握手介绍一下http&nbsp;2.0,为什么是基于udp的实现介绍一下你了解的不同jdk版本的差异多线程之间怎么共享变量事务注解失效的场景给几个sql语句判断有没有命中索引redis为什么要避免大key二面:介绍一下hashmap说说hashmap的一个线程安全问题说说线程池的核心参数怎么设置这些参数实习经历介绍实习经历里有哪些做得不好的地方rocketMq分布式事务的原理mq重试机制的底层实现三面:实习经历redis为什么快redis底层&nbsp;hashmap的扩容实习经历里有哪些做得不好的地方喜欢做什么类型的业务
查看20道真题和解析
点赞 评论 收藏
分享
评论
4
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务