字节跳动

收藏
互联网
10000人以上
D轮及以上
北京市
福利丰厚榜高校必争榜offer比较常胜榜HC充足榜校招高薪榜牛客指数榜
查看官网
上传简历
职位类型
全部
后端开发
前端开发
客户端开发
测试
数据
更多
最新
热门
昨天 19:13
复旦大学 C++
3.04投递,3.06通过简历评估,3.10一面一面:请做个自我介绍。针对我介绍的内容进行项目拷打,面试官着重往多线程,数据和网络方向询问。(我是一个游戏项目,技能系统与数值链路。对技能效果的并发执行,数据驱动模块的设计,以及如何转网络等方面进行浅显追问)你说你现在主要方向是C++,可我看你游戏项目都是C#C++学了哪些内容(我跟面试官说最近开始接触C++,但已经较为系统的过了一遍,包含内存结构,常见STL,编译等基础部分)介绍一下C++程序的内存结构你刚刚提到.bss区,那么在C++中static都有哪些作用你刚刚提到C的管理方式你刚刚提到内存泄漏,C++中怎么避免内存泄漏,哪些问题可能导致内存泄漏异常抛出怎么导致内存泄漏讲解下C#的GC讲解下C++的智能指针网络部分:讲解下网络七层协议(我按照五层协议讲解)传输层常见协议有哪些TCP和UDP的区别TCP如何进行拥塞控制(我答得比较浅显,回答了TCP头中有对应字段,相互通讯的时候可以通过字段来控制。以及传输网络中路由器也能进行节点提醒和调控)做过网络相关项目吗你说网络应用层中需要对数据体进行约定?你说的约定是什么?为什么要约定?(我这方面了解不是很深,这个“约定”是我总结出来的,对应知识点应该没这个东西,不然面试官不会这样问。我回答我说的约定是指,如果使用TCP方式进行传输,那么传输层接收端收到的仅仅是一串字节流,没有对应的意义,这个时候需要按照人为的约定的数据体或者结构体将对应字节流转换为对应实例等)多线程部分:当时还没深入了解,面试官看我不是很熟没有追问太深切换线程的负担主要来自哪里?你说你在项目中使用了数据驱动的模式,这个技能数据的大小一般是多少?你是怎么读取数据的?放在什么位置,什么时间进行读取?如果数据量很大,你会怎么处理?(这里一直在把我往异步读取数据的方向引,但是我项目数据量很小,没做异步,这里也只能硬着头皮说我是用异步设计的了)你是怎么设计的?介绍一下协程(我当时只接触了unity协程,这玩意和正常协程压根不是一个东西,它是单线程,本质是在一个线程中将代码换个位置执行,估计不是面试官想要的)协程和进程,线程的差别在哪手撕。二叉树最大层宽。这里我把层宽概念理解错了,我以为一层的节点数量代表层宽,面试官说层宽指该层第一个节点到最后一个中间的距离,哪怕中间有空位也算进去。反问环节。4天后收到电话告诉我一面通过二面:自我介绍项目拷打(主体方向与一面相同,追问比较少)手撕:假设有一个计算机集群,设计一个函数返回ip,给你一个对应ip表和其权重,要求输出的ip比符合权重比。当初我没了解集群算法,mapreduce,以为是常规算法题,然后之前刚刚好回答过操作系统对应的调度算法,我就跟面试官说按照CFS的调度思路来做,巴拉巴拉说一堆。其实我最开始想的是随机数,但我觉得这样可能会导致访问数量较小时ip比与权重比相差可能会很大。开始写的时候面试官告诉我思路错了,然后又搞了半天。反正最后也是没想到是集群算法,直到半小时后面试官才告诉我这算法要在所有机子上运行而不是单一机子上运行。然后我才理解压根就不是算法题而是情景题,也没有那么严格的输出要求,最后就说用随机数+前缀和返回值。LRU用了哪些数据结构(感觉面试官最开始想让我设计对应算法的,但是前面耽误太久了就让我讲一下。)我当初看第一题卡了太久,有点紧张脑子一抽给LRU忘了,只记得是一个缓存策略。然后回答完第三题后面试官一步步引导我把对应数据结构答出来了第三题是一个简单的图算法,课程表问题的变种,面试官让我讲了下思路就过了。简单八股:介绍下智能指针还有一些忘了,反正挺简单的问题反问四天后收到HR消息告诉我过了。二面面完感觉要挂了,当时觉得腾讯一面面挺好什么问题都回答出来了,肯定能过,结果腾讯那边挂了字节过了。。。。。。我项目全是游戏项目,结果游戏岗没过。。。。。。HR面自我介绍我看你项目全是游戏项目,为什么投字节推荐算法架构还有哪些流程在进行都是什么岗位为什么不投这些公司的非游戏岗讲一下你对推荐系统的了解如果其他流程都过了,你会偏向哪个?能尽快接受offer吗一周能实习几天能实习几个月然后HR给我介绍了下我的mentor和对应的业务(这里意识到应该是稳了)反问环节当天下午2点HR面,15分钟面完(HR小姐姐好漂亮),晚上5点收到电话告知我通过终面,能否接受offer,然后说offer还在流程处理,过几天才能收到。两天后收到offer
点赞 评论 收藏
分享
昨天 05:55
门头沟学院 Java
整体面试还是不错的,但是没后续了,不知道是哪里出了问题1. 请从你的项目中,挑一个你觉得挑战最大、难度最高的,简要介绍其难点和你的解决方案。2. 你提到的状态机是用来协调的。如果其中一步卡住,导致整个任务阻塞,你们是如何解决的?3. 那整体的设计是,如果任务失败了,状态机整体就失败了。这种情况下有没有做补偿机制?4. 从工程角度来说,这些状态机是用子Agent还是一个大Agent?5. 如果把这些Agent编排起来,面对大量并发请求,其中有些任务是并行执行的,有快有慢。从用户体验角度,如何让用户感知到整个流程是流畅的?6. 如果Agent在调用外部工具或API时超时或返回了非预期结果,你们的错误处理策略是什么?如何让Agent进行“降级”或“兜底”响应?7. 你如何评估和优化Agent系统中提示词(Prompt)的性能?除了人工调试,有没有系统化的方法?8. 在你设计的Agent系统中,如何处理和保证多个子任务执行结果之间的一致性?例如,一个任务依赖另一个任务的输出。9. MySQL的隔离级别?10. 读已提交(RC)解决了什么问题?11. 可重复读(RR)隔离级别解决了什么问题?它是怎么实现的?12. MVCC是怎么实现的?13. 在可重复读(RR)隔离级别下,事务A执行更新操作,事务B同时执行查询操作。事务B能成功吗?如果能,查询到的值是多少?14. 如果是读已提交(RC)隔离级别呢?结果又是怎样?15. 在可重复读(RR)下,事务B读到旧值的原因是什么?那如果事务A更新成功并提交了呢?16. 手撕:二叉树的前序遍历
查看16道真题和解析
点赞 评论 收藏
分享
## 面试问题### 一、项目相关1. 你先做一下自我介绍。2. 这个OS开源社区我之前没太了解过,你能详细说一下吗?3. 现在有哪些场景在使用?有没有商业或用户量级比较大的场景?4. 这个社区是哪里主导发起的?5. GitHub链接和你的主页链接?6. 选一次最近的提交,讲讲代码逻辑。7. 数据结构和方法是参考什么来判断的?8. 有什么测试手段验证正确性?9. 你做的都是偏操作系统相关的,这个岗位是偏业务研发的,有没有投过操作系统相关的岗位?10. 之前了解过支付相关的业务吗?11. 如果能实习,实习时间是多久?### 二、操作系统12. 说一下什么是死锁,怎么去避免?13. 支付系统里有一个经典问题。比如类似支付宝的钱包,A和B互相转账,A给B转1块(先扣A再加B),B给A转2块(先扣B再加A)。如果同时发起,A先锁自己账户再去锁B,B先锁自己账户再去锁A,就死锁了。怎么避免?14. Linux常见的进程状态有哪些?15. 在Linux里按下一个键,到按键显示在屏幕上,大致有哪些操作?### 三、中间件16. MySQL、消息队列、Redis这些中间件有没有使用过?### 四、计算机网络17. 什么是TCP的慢启动?18. 细说一下拥塞控制。19. HTTP和HTTPS的区别?20. TLS加密的细节说一下。21. 一个数据包从应用层产生到网卡发出的全部过程。### 五、算法题22. 三数之和:给定一个整数数组nums,判断是否存在三元组[i,j,k]满足i≠j≠k且nums[i]+nums[j]+nums[k]=0,返回所有和为0且不重复的三元组。---## 反问环节1. 觉得我哪里还有可以改进的地方?- 代码熟练度这块,调试时间比较长。2. 国际支付业务主要是做什么的?是延迟优化还是基础设施?- 大部门负责字节所有海外业务的支付,包括TikTok、小说、剪映海外版等,相当于一个中台角色。
查看22道真题和解析
点赞 评论 收藏
分享
04-05 13:53
吉林大学 Java
46min,重项目轻八股无算法,0点评。无自我介绍,直接开问。Q1: 毕业届次、课程安排、实习时长及到岗时间?Q2: 简历项目是借鉴的开源项目还是自己做的?Q3: 详细介绍AI视频解析平台项目功能。Q4: 视频上传提音到送大模型的完整链路?Q5: 视频转音频功能如何实现?Q6: 音频给大模型是切片还是整段一次性传输?Q7: 选用哪个大模型及选型原因?Q8: 与大模型交互还有哪些扩展功能?Q9: 大模型交互是否使用RAG还是仅用提示词?Q10: 如何发现并解决大模型幻觉问题?Q11: 项目中具体如何设计提示词减少幻觉?Q12: 总结功能是按单节还是全章节处理?Q13: 加入对话能力和追问功能的逻辑是什么?Q14: 项目中分布式锁解决什么具体场景问题?Q15: 分布式锁的Key基于什么设计?Q16: 视频MD5值在前端还是服务端计算?Q17: Redisson分布式锁底层原理?Q18: 为何在setnx基础上加Lua脚本实现分布式锁?Q19: 分片续传的具体实现逻辑?Q20: 分片上传是串行还是并行?配置了几个线程?Q21: 限流加在哪个环节?使用什么技术实现?Q22: 高并发访问Redis执行限流如何保证数据一致性?Q23: 核心业务流程涉及几张表及具体交互?Q24: 视频长文本的数据表字段类型及设计?Q25: 事务的作用及哪些SQL场景需要加事务?Q26: MySQL常用的索引类型有哪些?Q27: 什么是聚集索引?主键索引属于哪种索引?Q28: JUC并发包用过哪些多线程相关的类?Q29: ReentrantLock底层实现原理?Q30: Java创建线程的几种方式?Q31: 线程的start()与run()方法区别?Q32: MinIO分片合并失败如何处理,那残余临时分片文件的清理机制讲一下Q33: …… Q39:(又开始相亲式闲聊,老家在哪,base地哪里,问爱好,追问爱好,喜欢什么运动,会做饭嘛…)反问:对方部门业务。可以提高的地方。之后面试(or感谢信)的时间安排,希望提速,方便拒度子😆下午面的,第二天中午电话吵醒约二面。还有字节腾讯百度知乎什么的面经,都这些天热乎的等想起来了再发
点赞 评论 收藏
分享
这次面试是压力面,一点答不上来,可能是我一个月都在看go,边看边面,cpp的八股忘球了,除了cpp这块,别的也算基础吧,一直够不到他的点上,再或许是因为面试的前一分钟收到了携程的英语测评,哈哈哈,这种爽和紧张交加的感觉谁懂),感觉是对着effective cpp这本书问的,打算看看里面的笔记。已挂(很多都没回答好,面试官压力感太强了)深度八股盛宴平时都用cpp吗?(这里如果说用go and cpp也不至于死这么惨)1.说说static关键字的作用(这里没对比c和cpp,导致的追问环节一  局部static变量:生命周期从第一次执行到程序结束,只初始化一次,函数退出不销毁二 全局static变量/函数:限制作用域在当前文件(不暴露给其他编译单元)三 类static成员变量:被所有类对象共享,类外初始化四 类static函数:不依赖具体对象,只能访问static成员)2.cpp的闭包(没听过,说只看过go的闭包,后面说想问lambda,可以捕获外部变量(值或者引用),生成一个匿名函数对象,捕获方式有[=] [&] [this] [a,&b])3.cpp的lambda了解吗?说说lambada和普通函数的区别(接2问的,就说在算法题的cmp函数里面用过,使语法简洁,可读性高。“对比一下go的闭包是语法级别的,cpp闭包本质是编译器生成的仿函数”Lambda是一个带状态的函数对象,编译器为他生成一个匿名类型,可以捕获状态,可以内联,普通函数是无状态的,而且拥有唯一的函数签名,他们定义位置也不一样(普通是全局和类内,lambda是局部和全局))4.说说extern C关键字?(说成extern,不知道extern C)extern "C" {    #include "some_c_lib.h"}用于c/cpp混合编程,保证符号可识别。---此刻脑子已经麻了,太紧张了5.没了解过extern c,就说说cpp左值和右值的区别(这里把右值引用&&说成右值改左,悲,std::move左改右没说错。”左:有内存地址,可多次使用、可出现在赋值号左边,右:临时的、无地址、通常是字面量或函数返回的临时对象,判断标准就是是否能用&取址“)6.说说完美转发(这里没问题,保持参数的属性不变(即左右值),传递给下一个函数,万能引用T&&,说了std::forward,”没有完美转发,右值传两层就是左值,失去移动语义“)项目8.说说项目整个流程呢?(这里很深入很仔细地说,导致有点口齿不清,或者说浪费太多时间了)9.webserver应用在七层网络架构哪一层?(应用层)情景题10.描述真实场景,公网一台服务器是怎么准确找到局域网里某一台设备上来的?比如你的手机。也就是说,你的手机把一个请求发送到公网服务器,然后公网服务器处理完之后,把处理完的消息返回给你的手机?先说说怎么找到服务器,然后服务器怎么找到你?(以为是我手机输入baidu.com然后服务器找到我,大概说了 一下请求怎么到公网服务器)没这么简单,请说出更底层的协议是怎么找到的?比如为什么找到的是你的手机而不是别人?或者可以先不说复杂局域网,先回答我局域网的互相交互?(arp协议,ip->mac地址,交换机/路由器根据mac转发)请拓展一下,拓展到外网到局域网?最关键的点就是说怎么被标识?(不懂,被路由器的公网 IP + 一个临时端口号标识的)局域网的手机在外网看来是怎么银行的,怎么保证是发到这个手机,而不是所有手机?(不懂,当时扯到了tcp四元组,这个思路没问题,答案就是内网ip,内网端口,公网ip,公网端口)你可以按照你的想法去分析一下?它能代表这个局域网对外通信,然后官网某一个服务器把消息投递过来,根据唯一的ip找回来,对吧?(这里回答的NAT协议)那是怎么标识的?(答的路由表,有mac地址,实际是nat表)(思路:手机首先是 没有公网ip的,使用nat技术,维护一张映射表(内网ip端口<->公网临时端口)不会错发是因为nat表的映射是一对一的,除非端口冲突或者没有nat穿透(这里必然被追问穿透,我是没讲这里))11.mac地址是哪一层?(数据链路层)12.所以你前面跳过了很多层对吗?(数据链路层到xx层一路解包,这个过程有点忘记了,因为八股不常见,磕磕绊绊)(思路:物理层01比特流->数据链路层(检查mac地址)- >(网络层检查dest ip)->传输层(端口号)->应用层)13.上一面udp和tcp挖完了,你听说过quic协议吗?(在应用层使udp可靠,http3使用,这里想扯到抖音直播表达被打断)别发散(说了减少对头阻塞,和快速握手)quic对比tcp的优点?不能对比udp,只能说除了udp对比tcp的优点外的优点(1.应用层保证了消息可达,后面网络延迟,他不问了)(思路:quic基于udp,内建了加密和多路复用,0-rtt直连- 无队头阻塞- 连接迁移(Connection ID)- 用户态实现,易迭代)14.epoll里面的reactor和proactor的对比,区别?(proactor是异步,是内核直接去处理缓冲区的数据,而不是依靠主线程io,目前nginx就是利用多进程去模拟proactor,proactor是我昨晚,你来取结果)说说同步和异步的对比?(同步处理以来非阻塞队列,异步无需考虑,内核态处理)15.遍历二维数组,按行和按列,那个快(说的内存连续)但是内存不是随机访问吗?(虚拟内存部分)给我说清楚访问过程(扯了vector是怎么被访问的,说的有点磕磕绊绊,大概size是怎么二倍增长)虚拟内存为什么存在?(扯物理内存和os怎么一步步到虚拟内存,为了解决内存碎片化的问题,总之就是块不连续)那物理内存是怎么映射到物理内存(linux就是四级页表,为什么有页表,为什么要有页框,四级页表如何逐级映射,给我说死了)(思路:内存连续还有空间局部性,同一行cache line被连续访问,缺页次数少,命中率高虚拟内存:隔离进程地址,让程序认为有连续内存,允许物理内存不连续。映射:四段索引,页目录->页表->页框->物理地址)16.中间件主要用的mysql?(目前redis和mysql)算法找旋转数组的最小值,说出思路开撕,二分秒了,怎么二分,画图解说,然后假设是连续的数组,加入没有旋转,代码怎么跑?(诶,我真的就死这里了)后面自己找出了bug,说很好奇,为什么自己越界访问,飞书没报错。引出1717.什么会导致cpp未定义行为()类似hr面的问题18.你是人工智能专业,为什么没有人工智能?前10%是什么水平?19.怎么用的ai(角色+上下文背景+todolist,说我太啰嗦,还可以总结)20.评价自己(这里踩雷了,说自己可靠加神搓搓)优点就这一个?缺点就这一个?(被为难死了)21.你的同学怎么评价你?(神搓搓,能干事但干的不是特别好)建议体系化表达,其余看邮件(那就是挂了)这里也踩雷了,问到了一些面试官隐私的问题。目前这个部门在做一些c端的产品。后续心已飞去携程,让hr催,hr催一次,说要考虑留我,催hr两次,得知已挂。简历被锁,清明后释放。秋招见,字节
查看26道真题和解析
点赞 评论 收藏
分享
分享我的面试经验
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客网在线编程
牛客网题解
牛客企业服务