小红书一面

岗位是:KVcache/高性能缓存开发

上来先让做自我介绍(这里切出来看自己写好的自我介绍了),自我介绍完后因为听面试官声音有点小就又切出来提音量了,然后面试官就恼火了,说别一直切屏,他那边一直弹提醒(赛码网面试不写代码的时候切屏也会提醒,注意一下),之后就是面试官自我介绍,开始八股:

1. 智能指针有哪些以及适用场景
2. c++中有哪些常用的锁,使用场景是什么(这块问的很多,但是答得不够流利,得练习)
3. 自旋锁和排他锁有什么区别
4. 如何排查进程中cpu最繁忙的api或者说函数(这里没整过不太会,说的gdb写个脚本查看,太夸张了,下来查了一下大概是`top`+`perf`+`pstack`, top(或者htop可以更直观的查看cpu各个核心的使用率以及进程的资源占用,top -H -p PID也可以直接查看进程中的线程CPU占用)查看高消耗CPU的进程,然后执行pred top -p PID即会显示进程中系统调用和模块(可执行命令,链接库等内容)所占用CPU的百分比,然后pstack -TID(或PID)打印线程的调用栈(PID就是打印所有线程的调用栈),就可以排查高占用的进程以及函数。
可以举一反三一下:内存,磁盘等IO占用率高如何排查?
5. STL标准库中哪些容器是用树实现的,哪些容器是用哈希表实现的。
6. 项目里的thread_local高并发内存池,三级缓存是怎么做的,使用什么数据结构管理这些缓存页以及分割为大小不一的对象的。
7. 手撕:hashmap,要求使用开放地址法里的线性探测法实现,实现put和get函数(这个线性探测法第一次写,直接写成index一直++寻找空的了,面试官提醒要考虑最后找不到回来从头找的情况,因为可能hash算出来的key直接在最后,直接index++然后认为hash桶不足然后rehash的话可能会频繁发生rehash)
8. 反问:业务,是小红书哪儿做分布式高性能缓存的团队,还是需求挺多的,然后现在一个小组大概8个人主要做缓存这一块,处理一些什么什么的具体问题。

这个小红书的面试官真的是雷厉风行,大开大合的那种,30min急速八股然后手撕结束,一点实习没问,恼火恼火的也快,然后问问题的时候也会回答的很细很多,经常他回答的时候我都插不上话,如果不挂我的话,那我觉得他性格还不错,挂我我就要怪他调个音量就恼火我了
全部评论

相关推荐

04-04 14:34
门头沟学院 Java
本人双九硕,结合多份真实面经 + 大量候选人反馈,整理出字节跳动暑期实习面试避坑指南,全是从真实经历中总结的血泪教训,帮大家避开雷区、高效备战!先明确核心前提:字节暑期实习面试,核心考察项目经验、代码能力和实际场景应用,无过多八股,侧重真实能力与逻辑思维,以下是重点避坑点 + 注意事项,全程贴合真实面试场景。一、字节面试核心避坑点(重中之重!)1.面评有 “记忆点”,且永久留存!字节的面试评分的是永久记录,所有面试官都能看到你的历史面评,哪怕换岗位、换账号投递,系统也会自动合并记录,一旦有负面评价(比如态度差、代码不过关),后续再投很难被捞。2.代码考察严格,避坑别踩雷!手撕代码是重点,高频考察无重复字符最长子串、第 K 大、LRU 缓存、反转链表这 4 道题,多集中在一面;且会全程监控切屏(飞书可直接检测),千万别偷偷查答案,一旦被发现,直接挂掉。3.业务岗与研究岗差异大,别投错!业务岗侧重落地执行,代码要求更高;研究岗侧重算法深度,对论文和项目的考察更细致,选错方向会大幅降低通过率,投递前一定要确认岗位类型。4.别盲目 “试错”,拒绝会影响后续!若拿到字节 offer 后又拒绝,短期内再投会被优先过滤;若只是想练手,建议先不投字节,避免留下 “拒绝记录”,影响后续投递。5.基础不牢,再努力也白搭!无论是业务岗还是研究岗,都会重点考察基础算法和代码功底,哪怕项目经验丰富,基础题答不上来,也很难通过二面。二、高频踩坑场景(附避坑技巧)踩坑 1:盲目投递,未区分岗位类型很多同学分不清字节业务岗和研究岗的区别,盲目投递后发现方向不匹配,面试时被问懵,白白浪费机会。建议投递前先确认岗位侧重(是侧重落地还是研究)。踩坑 2:代码准备不充分,临时抱佛脚字节手撕代码难度高,且多考察 ACM 模式,若未提前刷 Hot100、未熟悉 ACM 答题规范,大概率会在一面挂掉,建议提前针对性练习。踩坑 3:面试时与面试官争执遇到观点分歧时,无需强行辩解,客观说明自己的思路即可,过度争执会降低面试官好感,直接影响面试结果。踩坑 4:忽视 HR 面细节别以为技术面过了就稳了,HR 面会重点了解你的稳定性和求职诚意,若表现出 “只是练手”“不想长期发展”,很容易被刷。三、备考 & 投递建议1.代码准备:重点刷 Hot100 高频题,尤其是字节常考的 4 道手撕题,练熟 ACM 答题格式,避免因格式问题丢分;2.项目 & 论文:提前梳理自己的项目亮点和论文核心,面试时重点突出自己的贡献,避免泛泛而谈;3.投递节奏:字节暑期流程较快,建议集中投递,避免分散精力,投递后及时关注进度,避免错过面试通知;4.心态调整:面试时遇到不会的问题,坦诚说明即可,不要瞎编,面试官更看重你的学习态度和逻辑思维,而非完美答案。四、补充提醒字节暑期实习的核心门槛的是 “能力匹配 + 稳定性”,若拿到 offer 后又拒绝,后续再投难度会大幅增加;另外,字节不喜欢 “盲目试错” 的候选人,投递前一定要明确自己的职业规划,避免浪费双方时间。后续会持续更新字节高频面试题、手撕代码技巧,助力大家顺利拿下字节暑期 offer!
点赞 评论 收藏
分享
评论
点赞
11
分享

创作者周榜

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