8.14 腾讯TEG-云架构平台部-后台开发一面凉经

#牛客AI配图神器##我的秋招“寄”录##业务面应该做哪些准备#全程大概1h,从暑期至今最压力的一场面试,全程拷打底层原理,面试官从开始期待到最后脸黑,无手撕,面完一会就秒挂,再也不面基建部门了
(录音没录上,大概回忆版)
1. 自我介绍后问意向base(刚开始还抱有期待hhh)
2. 介绍实习内容?有什么难点?
3. 你说的这些偏业务,有没有技术上的难点?
4. 你提到redis,zset底层原理?dict和skiplist是怎么对应的?如果让你设计,如何设计一个并发安全的跳表?
5. 内存里有一个map,你如何设计持久化策略,使得忽然宕机时,能够保证数据最少丢失?
6. 假设redis有一个list,客户端执行append操作,你如何设计,实现能够判断插入失败的原因(client还是server导致的)
7. 100g数据1g内存找中位数?
还有其他的底层原理,记不清了,中间面试官还介绍业务,说95%腾讯云产品是出自这个部门,所以对技术要求比较高~
全部评论
我面的两个小时,反问说基础还不错,结果过两三个小时就挂了
1 回复 分享
发布于 08-19 01:03 江苏
又疯一个
点赞 回复 分享
发布于 09-09 14:09 安徽
校招问这些有些难了吧...... 4. 并发安全的跳表。最直接的方式是锁整个表,但是性能会差。优化的方式在于减小锁的粒度,结合跳表的结构,可以锁最底层的索引节点,这样只会在插入同一区间的时候会加锁; 5. 参考 Redis 的备份机制,定时全量备份,以及增量向磁盘中去写日志; 6. 没太懂要做什么,一般业务系统会区分错误码,不过按理说有日志或者封装不同的异常也能区分; 7. 可以考虑确认数据的类型,简单的整型数据可以通过桶排序减少查找的范围。扩展到所有类型可以使用 QuickSelect,外排两侧的数据,也是缩减查询的范围。
点赞 回复 分享
发布于 08-21 21:21 四川
pdd 💼 核心业务线扩招 | 技术/产品/运营多岗开放 🚀 成长快车道已就位,职等你来 ✨ 详情请见主页第一条动态 📩 欢迎随时私信咨询,24h在线答疑 (悄悄说:HC充足,面试流程快)
点赞 回复 分享
发布于 08-20 18:35 上海
不会是NoSQL吧,主动约面的,双机位
点赞 回复 分享
发布于 08-20 13:27 浙江
3.如果让你设计,如何设计一个并发安全的跳表?我的理解是:在写多读少的场景下可能直接使用一把互斥锁锁住整个跳表再进行操作是一种简单且有效的方法。在读多写少的场景下,我们其实可以仿照golang中的syncmap的实现方式,有一个只读的跳表和一个可以读写的脏跳表,然后每次访问脏跳表的时候都需要进行加锁,当只读跳表中的数据比较落后的时候就把脏跳表晋升为只读跳表,旧的只读跳表则被废弃。5.内存里有一个map,你如何设计持久化策略,使得忽然宕机时,能够保证数据最少丢失?可以借鉴redis的AOF持久化机制的实现逻辑,根据appendsync的参数配置不同的值,实现不同的数据安全性7. 100g数据1g内存找中位数?力扣上的4. 寻找两个正序数组的中位数算法思想其实和是类似的,我们把原始数据切分为多个小块,然后对每一个小块进行排序,同时得到整个100g数据的数量,然后就是去猜测中位数是在哪个小块的哪个位置。我大致想了一下感觉应该是可以的
点赞 回复 分享
发布于 08-19 18:11 广西
第六题是不是可以用redis的事务
点赞 回复 分享
发布于 08-19 14:15 北京
李面试官吧,捞了N多人
点赞 回复 分享
发布于 08-19 09:57 上海
是做腾讯云存储的吗,感觉面试风格跟我之前面点一次很像,被狠狠拷打底层原理,汗流浃背了
点赞 回复 分享
发布于 08-18 22:02 上海
666我也被这个部门约面了,是不是做存储的
点赞 回复 分享
发布于 08-18 20:53 北京

相关推荐

08-28 22:33
已编辑
门头沟学院 C++
有三个项目三个实习,但全程几乎没问任何实习、项目、八股。1. 如何让一个数字快速对 512 取模?可以与(512-1)做按位与。2. 如果是任意数字呢,在不用取模和除法的条件下,实现 n%m?可以使用 n 不断减去 m,但这样复杂度很高,因此可以用二分优化。3. 还有更好的办法么?感觉想不出更好的方法,如果 m 是 2 的整数次幂可以用刚刚类似的方法。4. 代码写一下吧(还有很多额外的限制记不清楚了,比如不能用任何超过 32 位长度的类型)写的二分但是没有写完,写到一半面试官说算了这个问题过吧(感觉想要的不是二分而是更好的办法)5. 一个三万个节点的链表如何找到第两万大?一开始想错了说要放到数组用 select 算法,后来反应过来说直接对链表用 select ,说了一遍过程。6. 这样会破坏原始链表结构,有办法不破坏么可以把每次下一阶段需要的链表额外存下来,但最坏情况下需要额外的三万空间。7.这样会使得使用的空间更多,有更好的办法么?可以用优先队列,只用两万的空间,然后说了一下用优先队列的方案,核心就是两万了以后,再加进来的时候和堆顶元素对比下就行,不会超过两万。8.  空间还能比两万更少么?(尝试说了一些,没有答到点上,面试官直接说算了)9. 你知道内存池的作用么,为什么需要内存池?八股直接回答10.如果让你实现内存池你会怎么实现,要求能动态调整池大小?(回答了一些自己的思路,基本就是链表,想了很多种优化加上去。)11. 用 c++实现你刚刚说的思路,不一定能运行伪代码就可以。(c++大概写了一下但是写的很差被找出来很多问题,比如这是内存池里面链表的维护不能用 new)反问环节:1. 假如我能被录取,希望我承担什么工作?答: 这个问题问的太早了。
落媛媛:同学,瞅瞅我司,医疗独角兽,校招刚开,名额有限,先到先得,我的主页最新动态,绿灯直达,免笔试~
查看12道真题和解析
点赞 评论 收藏
分享
评论
9
53
分享

创作者周榜

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