字节跳动上海存储研发日常实习面经

1.4
一面(一小时)
能做几个月?每周几天?
问简历上实验室项目一(比较了多种实现的性能,问了比较久,似乎他们也使用了SPDK这个技术)
问简历上实验室项目二
善于使用什么语言(C语言)
说一下在函数中定义一个很长的定长数组有什么问题(堆栈)
volatile什么意思
进程和线程的区别(Linux中有什么区别?)
进程间通信方式有哪些?(pipe, shared memory……我忘记signal了……)
在线编程:LeetCode 25 链表中逆序每k个元素(链表逆序我很熟练,但这题时间太短了只有十分钟,提交了一次,超时,正准备debug被告知时间到了)
二面(一小时)
立刻开始二面,我还沉浸在笔试题做不出的痛苦中……
问简历上实验室项目一(问了很久……)
因为我项目提到了用户态驱动和虚拟化,问了:
UIO和VFIO的含义和区别?
Huge Page有哪些大小?(我竟然不知道,2M或1G)
huge page有什么好处?
virtio和vhost-user的原理?
RDMA编程模型?
RDMA为什么绑定内存?
进程切换怎么换页表?
怎么找到页表?(cr3)
你还知道哪些类似的寄存器(cr4)?
给了一个代码:C实现的单例,多线程跑有什么问题?(用CAS做)
malloc失败了怎样返回段错误的?
怎么判断地址非法?(vma)
判断地址非法在用户态还是内核态?怎么切换到内核态(缺页)
内核怎样抛异常?
malloc和free的实现?时间开销?
知道不用锁使用malloc的方法吗(thread local)
文件系统怎么组织?(inode)
怎样从文件名遍历到inode?(讲了ext4实现)

然后告知我后面可能还有面试,让我等消息……
还是太菜了,CSAPP要好好补一下了,都是本科学过的课,都忘记了……针对不住老师……
1.6
收到hr面的邮件了,咋回事两面就完了?
#面经##字节跳动##实习##硬件开发工程师#
全部评论
1 回复 分享
发布于 2021-01-05 21:57
关于从文件名遍历到inode 这个不是vfs的指责吗 会涉及到ext4吗
点赞 回复 分享
发布于 2022-06-24 19:39
所以楼主拿到offfer了吗,因为最近也要面这个
点赞 回复 分享
发布于 2022-01-20 18:51

相关推荐

一面 (2.24):面试时长(1h5min)1. 实习过程中最难上手的或者最大的难点是什么?2. 如何理解Web Component,如何学习的?3. 如何在Web Component中引入第三方库?4. 介绍一下什么是服务端渲染5. 为什么要SSR,对比CSR有什么优缺点6. 第三方库在服务端渲染时还有哪些兼容性问题7. 在SSR中进行数据处理有什么不同吗?比如正则或者symbol(没了解)8. 性能优化一般用什么样的方式去衡量?(只粗略地说了LCP,CLS,FID)9. 怎样去监控这些性能指标呢?(没深入了解过,说了lighthouse)10. 有用过浏览器的Performance吗?(没听过)11. 项目中会用一些什么样的手段进行性能优化呢?(聊了官网SEO优化)12. 为什么要做SEO优化,是基于什么问题呢?对性能有什么帮助呢?13. 预渲染的话预先渲染的是什么东西?14. 除了刚刚哪些还知道哪些优化手段吗?(没说好,其实方案挺多的)15. 提到了移动端安全区处理,展开说说吧,对性能有什么提升呢?16. 回到SSR的问题,你将项目从CSR转为SSR后,如何衡量这是一次性能优化而不是性能劣化呢?(答得不好,还是没具体了解过)17. 说说vue的渲染流程吧18. 提到了diff算法,说说vue3的diff算法吧(说的有点乱,感觉没说清楚)19. diff算法中,有key的情况下时间复杂度会是多少?(没深入了解,答得不好)20. 有key和没key的情况下会有什么区别(没深入了解,答得不好)21. 虚拟DOM对比真实DOM有什么优势吗?22. 操作虚拟DOM更快呢还是操作真实DOM更快?(对于虚拟DOM的理解还是不够透彻,没理解其本质和意义,面试官表示需要再学习一下批量更新)23. 说说vue中computed是怎么实现的?24. 说说vue3生命周期25. 在SSR的项目里面哪一个生命周期里面可以操作localStorage?26. 说说响应式布局如何实现27. 说说有哪些相对单位?28. 用过CSS变量吗?了解多少?(说了个主题色的例子)29. CSS里面有什么选择器?优先级说一下30. 相邻节点如何选择?还有哪些操作符?31. document.querySelector用的什么算法?(没了解过,但因为是树结构我说应该是深度优先搜索)32. 除了深度优先,遍历一个树还有什么算法?33. 算法题:lodash.get反问二面 (2.25):面试时长(35min)1. 项目履历中最有挑战的一个,为什么你觉得这个项目有挑战2. 组件库是如何实现跨框架运行的3. 你这个组件库是基于ES Modules的,那遇到不支持ES Modules的浏览器怎么办?(没了解过...)4. 说说ES Modules,AMD,UMD以及ES Modules的区别5. UMD是怎么实现?为什么他能兼容兼容多种环境?(也没了解过...到这里这场面试已经凉了一半)6. 算法题:    (1)链表最后第 k 个结点     (2)hardman(磨磨唧唧没撕出来,面试彻底凉透)反问(已经不好意思问啥了,就随便问了业务和后续流程)
窝补药贝八股:光看就汗流浃背了
点赞 评论 收藏
分享
03-29 16:31
已编辑
北京邮电大学 golang
后端go选手,第一次参与社招,许愿顺利通过,顺便摸一摸行情。快手一面1.最有技术难度的是那一部分,遇到什么问题,如何解决?不详细写这部分了,当时很多都是深挖项目细节,比如网络延时、分片上传有没有考虑并发,也没很好的准备,回答太快,没有给自己预留思考时间,很多回答都是无效的(答非所问)。果然当天晚上一小时就收到感谢信,哈哈哈。百度文库一面语言基础1.go切片和数组有什么区别2.看过切片的结构吗?3.go如何处理异常和错误?4.进程、线程和go的协程,对比三个的区别?5.计算机调度的最小单位?中间件1.redis 数据类型和比较典型的用法?业务拷打1.项目介绍。背景、方案和结果这样一个表述。2.同一个文件是如何检测的?文件名name检查、文件哈希2.不同的用户传同一个文件会有问题吗?用户隔离3.原子性做了哪方面内容?文件操作mv,分片哈希4.大文件上传还有没有别的方式?当时脑子瓦特,没转过来5.传输文件有没有其他方式,如果通过文件服务上传有没有什么优缺点?当时没想到是不是想问文件中间件minio这种方式上传对比传统直接上传有没有优缺点。算法题合并两个有序数组 京东零售一面业务拷打1.推送服务如何实现,走的是http请求吗?2.调用接口如果遇到抖动超时,异常是怎么处理的,对业务有没有影响?3.推送的日志数据库表如何设计?4.视频上传下载是怎么存储的?5.前端是怎么切文件的?6.分片上传过程,如果失败了,怎么判断从这个分片开始?7.任务重传,如何判断是不是同一个文件?8.有两个人同时上传同一个文件,会出现失败吗?9.业务里面的互斥锁是怎么实现,底层原理?10.锁释放失败怎么处理?11.mysql事务是怎么实现的?12.怎么保证文件写入和入库操作原子性?13.如果不依赖于用户重新上传操作来实现写入和入库原子性,如何避免这种操作?回答cas重试机制,但面试官想说可以用消息队列实现异常重试的机制。14.搜索词的模糊和精确查询是怎么做的?15.某张表的数据量多大、查询时间、qps、加了索引吗?16.如何加索引,考虑哪些因素,给哪些字段加索引有效?17.数据稀疏度不高,需要加索引吗?18.联合索引什么时候会失效?19.redis是单线程还是多线程?20.多个请求同时获取这个锁,为啥通过redis分布式锁只能让一个请求获取到锁?21.redis数据结构?22.问了两个java问题,没听懂,java关键字有哪些、switelocal是什么?23.协程和线程区别?24.现在住在哪里?基本都是业务+八股混合拷打,不过没有手撕代码环节,感觉面试官很有水平。字节风控一面1.模型api通过什么协议?2.看过哪些开源的库?3.协程调度GMP,分别是什么?4. go中协程的生命周期是怎样的?5. go垃圾回收效率怎么样?6.你有实现过一个go协程池吗?构建一组协程池,有任务处理任务,类似于线程池。7.go和java,继承有什么不一样?go有 interface和基类如何支持这种继承的能力?8.redis分布式锁怎么实现的?setnx有几个参数?9.有两个任务去获取redis锁,有哪些机制能安全的获取到锁?10.锁未被释放、B锁被A锁释放(误删锁)怎么处理?算法题z字型打印二叉树 、卡在输入,结构体不记得怎么写,可能是刚面完JD又面字节,精神状态太差了。贝壳一面首先是基础八股拷打。主要是和背课本一样,都想放弃了。1.如何保证请求在不同的服务器中,数据会话内容是一致的?2.go map线程安全底层是怎么实现的?3.go的垃圾回收原理?4.切片底层是怎么实现的?5.遇到panic如何排查问题?6.go的数据类型有哪些?哪些数据类型是可以比较的?7.web页面状态码,499、502、500分别是什么意思。然后中间件八股,涉及到redis、kafka?1.redis分布式锁原理以及实现方式?2.redis分布式锁会存在什么问题?3.如何解决Redis 锁超时问题?4.用过kafka?直接没用过,没接着问下去。5.分布式缓存?不知道6.了解LangChain吗?没听过(算法开发LLM编程框架)然后做了个项目介绍。背景、方案和结果这样一个表述。最后是反问环节。基本没答出来,涉及到计算机网络,语言八股、中间件八股等问题。日常工作go里面一些特性例如线程安全、并发都没深挖,平时在用crud和事务处理,根本没时间去深入这些基础,面试官建议我多看看go语法和基础。社招终于算是迈出第一步了,面试也发现自己表达能力得提升,回答不能太快,得留一会时间思考再回答,不知道的说不知道,别假装知道,往下深挖被发现答不出来又会很尴尬。还有一些基础八股得巩固一下,特别是线程安全和一些常规基础八股啥都不知道。。。
点赞 评论 收藏
分享
评论
10
30
分享

创作者周榜

更多
牛客网
牛客企业服务