腾讯wxg基架面经

字节三面面得一塌糊涂😭
只能把希望寄托在本就基本上不可能的腾讯wxg了
明天二面, 写下面经攒攒人品
一面
先上来四道题
分割链表
验证二叉搜索树
给定一个数字串,使用","将数字串拆分为不大于1112的多个的数字,输出所有可能性
使用数组,实现一个的循环队列(先进先出),能支持无锁并发操作(一个push线程、多个pop线程)。请实现push和pop方法。可以使用cas 原子操作函数
四十分钟写完
但是第四题写的有问题
读写指针相同时, 如何判断队列空还是满, 我用了个isFull flag来标记, 但是这样做不到原子操作, 面试官提示了很久才想起来以前学数据结构时候里面的循环队列,
底层数组多开一位来实现队列空和满的区分
(字节三面也是栽在了以前学的数据结构上的东西...清晰地记着自己看到过, 但是想不起来了, 唉)
然后才进入面试环节
自我介绍, + 问了下基本情况
问了下项目, 项目是用go实现的自定义epoll IO库, 没有用go net那种封装过的epoll
原理对于C++面试官应该是小儿科了, 基本一直在解释为什么要做这个玩意儿, 用处在哪里
问了下LT与ET
ET模式下为什么要用非阻塞IO
这边主要是C++, 就问了几个浅显的C++问题
内存的堆和栈分配有什么区别
我提到了栈内存编译时固定, 就又问我, 那开发的时候需要注意什么
没做过cpp开发, 只能乱说, 是不是担心缓冲区溢出攻击(想起csapp上的那个实验)
面试官乐了, 摇头
剩下就是闲聊吹水环节


明天二面, 希望别拉胯吧

二面面了两个多小时, 让我切身体会了wxg的恐怖, 太恐怖了, ***碎了
不想写面经了, 大概列一下吧
上来先做了三道算法题, 然后:

你是写go的, 那就: 如果是你, 如何实现一个协程, 协程的结构体应该是怎么样的
场景题,如何排序大量键值对, 大概就是讲一下redis的跳表实现吧; 如何快速找到第n名
如果是你, 如何实现非阻塞地连接服务器
如果是你, 如何实现类似protobuf的序列化
如果是你,  怎么实现大量kv键值对在磁盘内的存储, 可以频繁地删除增加键值对。答mysql的实现还不行
redis的简单动态字符串如何实现的
C字符串没有len标记, free字符串的时候怎么知道free多少呢?
答delimeter说不对, 你不知道的话 ,那就:
如果是你, 如何实现malloc和free呢?
我说加上len头也不行, 说用户可能修改到len,free就会出现内存泄漏

以及其他八股:
epoll相关
https相关
零拷贝相关

裂开
干碎了, 太难了, 太难了
还面了两个多小时, 太恐怖了, 留下阴影了


3-16更新
下午三面
又要把美团鸽了...



#腾讯春招##面试题目##腾讯##微信#
全部评论
请问是实习还是正职
1 回复 分享
发布于 2022-03-10 20:34
是后端开发吗
1 回复 分享
发布于 2022-03-11 21:43
是补录吗
点赞 回复 分享
发布于 2022-03-10 21:35
这个 free 是如何实现的呢/
点赞 回复 分享
发布于 2022-03-12 01:06
太离谱了 这四道题
点赞 回复 分享
发布于 2022-03-15 21:35
老哥tx3面怎么样了?
点赞 回复 分享
发布于 2022-03-17 21:33
等大佬的三面面经。
点赞 回复 分享
发布于 2022-03-21 13:46
sds前面有一个size_t类型的数据标志长度,zmalloc返回的是这个数据之后的地址。实际上分配的地址会多sizeof size_t 这么多
点赞 回复 分享
发布于 2022-04-03 21:19
腾讯这个设计题。太恐怖了吧
点赞 回复 分享
发布于 2022-04-15 12:34
wxg 是不是投不了了呀老哥
点赞 回复 分享
发布于 2022-04-25 23:45
存储kv应该是想问你leveldb的实现吧,大概是维护一个内存里的memtable然后和磁盘的memtable,通过跳表维护有序键值对,超过阈值追加写入磁盘。这个确实是他们常用的一个组件。
点赞 回复 分享
发布于 2023-03-12 09:55 美国

相关推荐

不愿透露姓名的神秘牛友
11-03 15:41
天翼云 研究员 4.5×15+6 博士双一流
点赞 评论 收藏
分享
京东 开发岗 n*19
点赞 评论 收藏
分享
评论
6
67
分享
牛客网
牛客企业服务