字节跳动技术中台一二三面面经,许愿字节hr面成功,特来还愿!

作者:呼吸频率
链接:https://www.nowcoder.com/discuss/688309?toCommentId=9715032
来源:牛客网

字节跳动(7.27接到面试电话)

一面视频面(7.28面试官超级超级好)

1. 自我介绍
2. 哪个项目比较拿手?介绍一下吧
3. 有没有做过真机调试?
4. 网络编程熟悉么?简单介绍一下
6. volatile关键字说一下它的底层原理吧(我从三个特性答的,但可见性关于工作内存和主内存面试官说我说的不对让我回去深入了解一下)
5. TCP/IP三次握手和四次挥手的过程?
6. TIME-WAIT的状态知道么?为什么要有TIME-WAIT的状态?
7. Mysql数据引擎有了解么?说一下你了解的数据库引擎(三个)
8. 介绍一下InnoDB它的原理和底层索引的设计?为什么这么设计?
7. JVM我看你也了解是吗?那你可以说一下它的垃圾回收机制么?它们是怎么样的一个关系?(估计给面试官讲时间太长了,后来没问JVM了)
9. Redis我看你也有了解,你介绍一下它的有几种数据类型?详细说一下
10. 缓存击穿,缓存穿透和缓存雪崩介绍一下以及它们的解决方案。
11. 为什么缓存击穿会给数据库造成较大压力呢?
12.为什么Redis会比Mysql快?
1)Redis是基于内存存储的,而mysql是基于磁盘存储的,内存的交互肯定是要比磁盘的交互快的
2)Redis内数据存储格式是KV形式查找数据时的时间复杂度是O(1),Mysql底层是B+树,查找数据时的时间复杂度是O(logN)所以查找数据时Redis是比Mysql要快的
3)Redis是单线程多路复用IO,单线程的切换的话他避免的线程切换消耗的时间,多路复用IO避免了IO等待的开销
13. Spring,SpringMVC和SpringBoot的一个关系?Spring它作用是什么?(IOC和AOP)
14. 反转链表和进阶的n到m的反转链表

二面视频面(8.3,面试官人特好,你不会的话他会和你交流引领你回答)

1. 自我介绍
2. 项目介绍
3. 项目中的表是怎么设计的?根据分类查出含有问题最多的分类,写一个sql语句。
4. 你这个hashmap多线程出现了什么问题?怎么去解决的?
6. concurrenthashmap1.7和1.8区别,简单说一下就行了,不用太详细。
7. 分段锁是什么?当concurrenthashmap扩容了之后分段锁数量会改变吗?如果有15个线程同时对一个segment里边的用户信息进行修改会发生什么?
8. ajax和websocket它们的区别是什么?websocket是异步的还是同步的?
9. 异步和同步它们有什么区别?一个socket如果是异步的,它在这期间能做其他事情吗?
(中间面试官换了个会议室)
10. TCP三次握手目的,过程及状态转换,三次握手过程中传输的都是什么信息?
11. 如果在传输信息过程中一个数据包丢失了怎么办?那么接受方怎么知道数据包是否是连续的呢?接收方如何知道自己应该接受多少的数据包呢?
12. 发送方如何收到接收方发来的重传消息的?按你的来说使用了连续arq重传机制, 接受方不是已经有发送方发送的所有数据包了么,只不过中间有一个丢失了,那么发送方还需要重传后边的数据么?
连续的arq协议是如果中间有一个数据包丢失了,那么发送方就必须重传该包后边所有的数据包,这也叫go-back-n,它的缺点也很明显就是如果通信线路质量不好时,连续arq会带来负面影响
13. 如果发送方发送的数据包是乱序的那么接收方怎么处理?接收方接收到数据包自己会不会进行一个调整排序
TCP乱序问题, TCP为了提供可靠的数据传输,它给发送的每个数据包做顺序化。主机每次发送数据时,TCP就给每个数据包分配一个序列号并且在一个特定的时间内等待接收主机对分配的这个序列号进行确认,如果发送主机在一个特定时间内没有收到接收主机的确认,则发送主机会重传此数据包。接收主机利用序列号对接收的数据进行确认,以便检测对方发送的数据是否有丢失或者乱序等,接收主机一旦收到已经顺序化的数据,它就将这些数据按正确的顺序重组成数据流并传递到高层进行处理。

对于不按序到达的数据应该如何处理,tcp并无明确规定。如果接受方把不按序到达的数据一律丢弃,那么接收窗口的管理将会比较简单,但这样做对网络资源的利用不利(因为发送方会重复传送比较多的数据)。因此tcp通常对不按序到达的数据先是临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。-《计算机网络(第七版)》谢希仁 P224

14. 进程和线程它们的区别是啥?
15. 按你举得例子来说,进程切换为什么比线程切换要耗费资源?进程切换它保留的现场信息是什么?线程切换它怎么切换的(PC计数器)?它们有啥不一样么?
16. 线程怎么共享数据的?那么进程能不能共享数据呢?
17. 进程与线程之间的通信方式有哪些?
17. 编程题:力扣283 个人思路:先说思路,使用额外空间,再慢慢优化,最后原地修改。
18. 反问

三面视频面(8.6)

1. 自我介绍
2. 项目介绍
3. 你们专业学的课程与计算机有关的有哪些?
4. 看你自己搭建了一个网站,那么你可以说一下http和https区别么?
5. 那你知道在浏览器输入一个网址它整个经历的过程是什么样的么?
6. http请求它包含了哪些信息或者说它由哪几部分组成?那么服务器接收到了http请求之后会怎么处理?返回一些什么信息?
7. 如何把一个静态页面放到服务器上,让我可以访问呢?你需要在服务器上准备什么?
8. 知道哪些web服务器?apach有用过么?
9. mysql索引有哪几类?
10. 唯一索引和主键索引有区别吗?它们建立的时候用什么关键字?
11. 数据库事务用过吗?
12. nginx平时用过吗?
13. 说一下常用的一些数据结构,它们分别适用于什么场景下?
14. Map用过吗?TreeMap知道是什么?它的底层知道吗?你觉得在哪能用到它?
15. 你用过哪些学习网站呢?平时用他们干什么?
16. 你觉得csdn和掘金它们有啥优缺点吗?知道掘金的沸点吗?
17. 场景题:跟你100万条电话号码求出top10出现的电话号码.(太菜了和面试官一直在交流自己的想法,面试官也一直在和我交流,耗时比较长,面试官一直引导我,收获很多)
18. 反问:部门是干什么的?(业务中台,类似于掘金那种平台但是是面向字节内部的一个平台)

HR面(8.12)

1. 自我介绍
2. 项目介绍
3. 在项目中遇到了什么困难?你收获了什么?
4. 看你是物联网专业的,那么你学的课程什么的和计算机相关的有哪些?
5. 计算机课程是偏少一点的么?
6. 为什么不做硬件行业?而要做软件行业?
7. 那你对之前的三面有复盘过吗?可以说一下前三面你自己认为的不足么?
8. 你的实习时间能是多久呢?
9. 你现在人在哪里?
10.反问

不得不说牛客许愿真的灵,昨天许愿今天就成功!!

#字节还愿##面经##校招##字节跳动##Java工程师#
全部评论
volatile三个特性是指?
点赞 回复 分享
发布于 2021-08-12 14:46
Hi,同学有意向面试下我们部门吗?阿里巴巴CBU技术部,负责1688网站,属于稳定盈利部门,不会因为业务节奏过快耽误个人时间,有足够时间进行技术学习。组内工作强度适中,白天10点至6点,晚上加班7点至9点左右,很少晚于10点,平均一周加班三天至四天。现在组内招聘Java技术同学, 投递邮箱Xipeng_Liu@foxmail.com,base杭州,简历直达主管,进度可查
点赞 回复 分享
发布于 2021-08-12 19:46
楼主三面结束到通知三面过了隔了多久呀~
点赞 回复 分享
发布于 2021-08-12 23:54
老哥弄的什么项目
点赞 回复 分享
发布于 2021-08-13 00:46
感觉你好强啊!会的这么多
点赞 回复 分享
发布于 2021-08-13 15:19
top10求答案
点赞 回复 分享
发布于 2021-08-13 16:36
字节大佬的公众号猿侠令狐冲,会分享经典面经,我实验室一个师兄的独家秘籍,offer收割机,现在写成公众号了,偷偷告诉你,他写了一个降龙十八掌,在我们实验室封神了,可以加公众号私信给他要。和大家一起加油,共勉!!!
点赞 回复 分享
发布于 2021-08-19 00:38
大佬,想问一下三面有写算法题吗
点赞 回复 分享
发布于 2021-08-19 16:25
哇,老哥你是研究生还是本科啊..问的好多啊
点赞 回复 分享
发布于 2021-08-19 21:52
楼主三面完大概多久有结果的呀,我今天下午面完到现在还无任何消息
点赞 回复 分享
发布于 2021-08-20 18:51
老哥是中台的用户增长方向的吗
点赞 回复 分享
发布于 2021-09-28 16:56

相关推荐

从可拖拽组件的设计开始讲起,我们需要设计组件的结构,每个组件都有一个JSON格式的数据结构来描述其基本信息,包括唯一标识、名称、属性和子组件。通过React.createElement()递归地将JSON信息渲染成组件树。这个方法的参数包括组件名称、属性对象和子组件。组件的属性存储在各自的配置文件中,每个物料的index.ts文件中定义了组件的setter、事件和方法,以便在渲染时传递给createReactElement。组件通信通过事件处理来实现:通过JSON结构来定义事件,当组件被选中时,可以选择触发其方法。使用Map来存储组件ID与实例的映射,以便在需要时进行方法调用。使用useImperativeHandle暴露组件的方法,通过ref可以在父组件中调用这些方法。组件选中与高亮,定义选中机制,在渲染时为每个组件添加一个唯一的key,通过事件监听获取被点击组件的ID,更新当前选中组件的状态。利用获取的组件ID,通过DOM操作来高亮被选中的组件。在组件被选中后,配置栏会动态渲染与该组件相关的表单,用户可以通过表单更新组件的属性。每个事件使用JSON存储,包括类型和配置。在预览模式下,将这些JSON格式的事件转换为可执行的函数。技术点1:撤销与重做针对面试可以分别准备两板,首先是全量的保存,后续你优化为快照管理:采用改进的快照机制,仅记录变更的组件ID和实例,而不是完整的组件树,避免冗余数据的产生。组件拖拽的拖拽实现:通过react-dnd等库实现组件的拖拽和放置,支持嵌套结构的拖放。也可以用原生dragapi去做关于编辑与预览模式模式切换:根据不同的模式(编辑/预览)使用不同的渲染器,分别控制事件触发和属性展示的行为。可以用本地存储去存预览的数据#编程# #前端# #前端入门# #前端项目# #前端面试#
点赞 评论 收藏
分享
相信能看我的帖子应该都是刚学不久的 能力有限 这些只能对一些基础不太好 时间来不及想速成的同学有用最近26同学咨询的比例激增 有问来不来得及学的 说实话 把我前面的帖子发的看完(这边可能没有发 可以去小红薯搜搜我 同名的)肯定就懂你的情况合适学不了 当然 想省事你问我一嘴更快doge 我一直是专注怎样应对面试的 怎样让你快速达到面试要求的 真要讲所有的技术细节 跟那么多写纯专研技术文章跟教程的大佬是根本比不了的有些同学可能不知道如何起步学习 今天就给大家说说首先那种学习路线的帖子应该遍地都是了 什么看xx视频多少天 多少天的 感觉这种帖子是不是很多人看 比如说看什么什么视频学html 学css 学js 学vue 学react 学小程序 花多少多少天我个人觉得这种意义有限 跟某马的就业路线差不多 你看完这种学完真的就能马上知道面试问什么不但是我在这里还是想给大家列一下 对于中大厂 什么技术需要学 什么技术栈不太需要(可选)技术栈上需要必须学习的内容:html +css+js+vue或react 没了别的比如说什么小程序 什么uniapp 什么node 什么图形学了 除非你很空闲 不然别碰好叭在中大厂面试准备上最高优:js八股+手写+计算机网络算法在部分的大厂实习 和全部的大厂秋招都需要准备 就趁早每天刷一点 别再拖了jrm说说很常见的误区:纠结学什么框架 纠结一堆细节 纠结必须看完这个某马外卖视频 把这个视频的都敲完 27届以后的同学时间充裕 花更多的时间打下基础是可选的 就不是很着急 慢慢摸索也行 但对于26的同学来说 明年三月就要开暑期 如果还想在此之前追一段日常实习的话 还把时间耗费在低优的事情上 不是特别明智如果你是92 or 研究生的同学 那么你和前端大厂offer差的只有时间 你学的久 自然就是offer收割机 你可以观察身边早早准备的同学 除非bg或者好 不然准备都得早现在还没学多少如何破局 首先 每天保证足够的学习时间 然后 在bg确实合适的情况下 相信自己稳上岸 不要浪费时间在犹豫学不学 最后 积极收集信息 比如说前端校招的一些情况 弄清楚你要学到什么程度 比如说做了什么项目 项目是什么难度 实习是要怎么样算有效实习 可以看我前面的帖子 如果还是把握不好 或者想省时间去高效准备 可以来私信我 #实习,投递多份简历没人回复怎么办#  #前端#
点赞 评论 收藏
分享
评论
6
65
分享
牛客网
牛客企业服务