为了保证制作简历的安全性和流畅性,建议您使用Chrome浏览器进行访问
摘一颗星星 武汉科技大学·2022届
APP 内打开
12
评论
39

【腾讯】后台C++岗位之菜饼的面筋

【楼主情况】

双非一本,JAVA选手(实习用的Go)

offer 情况:腾讯SP


腾讯后台(C++岗)


(08-25)一面-电话面


体验还是很不错的,面试官并不只是纯粹的问问题,会跟你交流,适当解答疑惑。

常规自我介绍,然后项目中引出的问题:

1.protobuf具有压缩能力么?怎么理解?(面试官觉得使字节紧凑更加合适)

2.缓存穿透(空缓存,追问有无其他方法,提示数据结构-bloom,然后讲布隆过滤器,存在不一定存在,不存在则一定不存在)

3.分布式缓存一致性算法(Paxos、Raft算法)

4.ConcurrentHashMap如何保证线程安全

5.提到 volatile,讲一下(线程可见,防止指令重排)

6.JAVA做多线程开发,用过哪些常用的锁

7.读多写少和写多读少的场景分别适合用啥锁?(前者乐观锁,后者悲观锁)

8.MySQL支持事务的引擎(InnoDB)

9.分布式事务实现方式

10.两阶段提交

11.redis能做落地存储吗?(愣了半天,才搞清楚是想问持久化。RDB、AOF)

RDB、AOF的优劣,然后场景举例让你选;

Redis内存满了怎么解决(扩容、调整过期删除策略、淘汰策略)

代码:发了QQ doc,在上面写,提前问了,不能用IDE调


12.字符串排序:

输入:字符串由数字、小写字母、大写字母组成。

输出:排序好的字符串。

排序的标准:


1. 数字 > 小写字母 > 大写字母;

2. 同类字符间的相对顺序不变;

要求:

3. 额外存储空间:O(1).

// Example

input: "acbd4231BADC"

output: "4231acbdBADC"


// function proto, you can redefine it if you use another language

std::string stringSort(std::string& str);


13.在二叉排序树上找出第5大的节点。

输入:二叉排序树的根节点,该树确保左节点 <= 父节点 <= 右节点;

输出:第5大的节点

要求:

1. 不能把二叉树全量存储到另外的存储空间,比如存储到数组中,然后取出数组的第5个元素。

// node and function proto, you can redefine it if you use another language

struct TreeNode {

int value;

struct TreeNode *left, *right;

};

struct TreeNode* find5th(struct TreeNode* root);

(08-30)二面-电话面(1个小时)


常规自我介绍,项目中引出的问题:(项目讲了半小时)

缓存穿透的问题,如何解决?

protobuf 如何压缩存储空间?

分布式事务(两阶段提交、本地消息表)

强一致性方案(去除缓存层)

c++了解到什么程度?(学校讲的都会,深入的不会)


volatile的作用(线程可见性、保证指令不重排),具体哪些指令不会重排(不记得了)


智力题:


100张扑克牌,两个人轮流取,每次只能取1或者2张牌,最后拿牌的赢,问先手还是后手有制胜策略?

先从最少的情况进行分析,剩1张,先手拿了就赢;剩2张,先手拿了就赢;剩3张,先手怎么拿都输;推广后就是想办法留下3的倍数张,100张先拿1张,就能必胜。对面拿1张,你就拿2张;对面拿2张,你就拿1张。


(推广)n张牌,每次可以拿1-k张,问满足什么条件下先手赢,满足什么条件下后手赢?

n不等于(1+k)的倍数时,先手赢;n等于(1+k)的倍数时,后手赢。然后问先手应该拿多少张牌,用数学表达式(n%(1+k))


现在有一个随机发生器(可以视为一个函数),产生0的概率是p,产生1的概率是1-p,p是确定的,但是不知道p是多少,问能否利用这个随机发生器,设计一个可以等概率生成0/1的发生器。

暴力法:用两个p随机发生器,根据结果01则返回0,结果为10则返回1,结果为00、11则丢弃重来;然后面试官问我,这种方法最终会需要重试,问我重试次数的期望是多少?(1/p(1-p))然后问p越大,整个期望是越大还是越小?(p/(1-p))


然后就是反问阶段,问了下部门情况。

9-14(三面-腾讯会议面[我开视频,面试官不开])(半小时)


总监面日常等半个月...


自我介绍

让我挑一个项目讲,实习的或者自己做的。

围绕着我说的问了一丢丢技术问题,难度不大

项目的架构实现,实习期间主要承担哪部分工作

然后对着简历问项目(自己做的demo项目也被问了)

消息系统的存储设计

继续问项目,然后反问阶段

总结:全程基本在聊项目吧,大多数时间都是我在说,基本没啥技术问题。



9-17(HR面-腾讯会议)(半小时)


整体来说HR面没啥难度,放宽心态,正常交流即可。

问腾讯字节怎么选

自我介绍

根据自我介绍问我的规划

发布时间:2021年01月22日
用户头像
我来说两句…
暂无评论 暂无评论