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

相关推荐

09-17 10:03
门头沟学院 Java
🕐面试时间:8.15、8.19、9.5;意向是9.15发的(测评时间7.22,笔试时间7.26)💻面试岗位:后端开发工程师写在前面:- 京东可能是更加倾向于八股考察,更在乎基础部分(当然也可能是因为我的其中一段实习不是Java)一面(8.15):总时长:1小时1. MySQL的索引失效场景2. Redis中ZSet的底层数据结构3. Java创建线程池的方法中的核心参数及含义;另外这些参数应该如何设置,考虑哪些因素4. 主线程正在运行,然后主线程又起了10个子线程,要等待这10个子线程结束再运行主线程,用哪些方法(CountDownLatch、Semaphore等都可以)5. CountDownLatch的底层实现(AQS);AQS底层是如何实现的(那个state,加上类CLH锁)6. 使用一个自定义的类时,然后要塞到HashMap中,需要注意什么(Equals 和 HashCode方法);并说明如果只重写HashCode方法会发生什么,举例子7.  假如有一个电商下单场景,要求时延小于10ms的比例是N个9,如何从JVM调优角度优化效果(减少GC次数,使用STW较小的GC器);进一步,有哪些减少FullGC次数的方法(说了调小老年代的比例、增大对象被移到老年代的年龄)8. Spring中@Transactional的失效场景,原因有哪些;如果一定要在方法内执行本类的方法,但是不能用this.调用(否则会失效),那该怎么调用9. @Transactional的底层原理是什么,如何生效的10. Spring的AOP默认是什么代理11. 如果让你设计一个消息队列中间件,那么如何保证消息不丢失,不重复;假如消息的乱序到达的,如何保证消费者能按序消费二面(8.19):总时长:35分钟,无写题1.  从数据结构分类讲讲数据库的索引类型;为什么MySQL用B+树索引,不用B树、红黑树2.  数据库的隔离级别有哪些,分别解决什么问题3.  Redis中的hot key是什么,如何处理hot key问题4.  Redis中big key问题是什么,如何处理;大key中如果是map结构,其value如何进行压缩5.  缓存雪崩、缓存穿透、缓存击穿是什么,如何解决6.  HashMap是线程安全的吗?不安全的话怎么处理7.  两个线程死锁在哪些情况下会出现8. 请介绍自己最近遇到的一个项目中比较难的点,如何解决的9. 介绍自己最近一个项目中一个觉得做的很差的点,以及如果重新做会怎样做10. 如果学习新知识,会用怎样的方法去学习HR面(9.5):1. base地2. 喜欢基架开发还是业务开发3. 选择offer时会考虑哪些4. 有没有其他的offer5. 实习转正出结果了吗6. 介绍下自己的项目、实习7. 实习中遇到的最大的问题,以及最大的收获是什么----京东是比较看重语言匹配的,对我的基架那部分实习就不是很感兴趣,一方面做的是基架,另一方面是用的Golang,一面时甚至直接讲由于我的实习没有那么业务,那么考我一些基础(就是八股)。这种情况包括美团也是,而字节、腾讯则会听我讲完两部分的实习,淘天则是会听我讲一部分。
查看28道真题和解析
点赞 评论 收藏
分享
评论
6
74
分享

创作者周榜

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