字节跳动 实习生面经

本人是大三的学生,所以仅供实习岗位的xd参考
(三面的面经有时间再更新)

周一下午拿到的offer,字节效率还是蛮高的,要内推的xd可以私聊我😄

一面

1. 浏览器输入URL之后的过程
2. 域名投毒
3. 计算机网络的7层模型
4. 说一说有哪些应用层协议
5. Http状态码中的302和401是什么用的
6. 有没有做过web的身份验证
7. 脏读的场景和解决方案
8. 谈谈幻读
9. 幻读和脏读的区别
10. MySQL中 redo log 和 binary log 的区别和场景的使用意义
11. 为什么innoDB使用B+树
12. TopK问题 用那些方式实现,一步一步的优化

- 首先是完全排序               O(n*logn)
- 然后是冒泡或选择排序    O(K*n)
- 接着堆排序                      O(n*logK)
- 使用二分的方式               ???

13. 算法题(给了我两道题,然后选一道来做)
给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。
按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:
"123"
"132"
"213"
"231"
"312"
"321"
给定 n 和 k,返回第 k 个排列
比如n=3,k=4
输出231
=====================
判断是否是一个二叉搜索数
节点的左子树只包含小于当前节点的数
节点的右子树只包含大于当前节点的数
所有左子树和右子树自身必须也是二叉搜索树
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
输入:
2
/ \
1 3
输出:true
输入:
3
/ \
1 6
/ \
5 4
输出: false
解释: 输入为: [3,1,6,null,null,5,4]。
根节点的值为 6 ,但是其右子节点值为 4 。
14. 反问:我有哪些可以提高的地方?请问您是做什么相关事务的?



二面

1. 介绍项目,结合项目问了 拉格朗日松弛算法,迪杰斯特拉算法
2. 浏览器输入了https://www.toutiao.com 的整个过程
3. 证书在ssl过程中的作用
4. 三次握手的过程中有哪些攻击方式,举例子
5. 网络通道非常拥塞时,TCP如何保证数据可以正确到达对方
6. 拥塞控制详细过程讲一下
7. 四次挥手过程原因
8. 应用程序如何将数据从网卡上面读取到进程当中
9. 同步IO和异步IO
10. reactor模型
11. IO多路复用
12. Linux中有那些多路复用方式
13. 进程的几种状态,CPU如何在这几种状态中调度
14. 线程池的七大参数
15. 核心线程数 和 最大线程数的作用和使用过程中的变化
16. 讲一下volatile
17. 原子类的实现方式
18. 讲一下锁的AQS的实现方式
19. 讲一下知道的一些锁
20. 算法题(给了我两道题,然后选一道来做)
给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。
输入: 1->2->3->4->5->NULL, k = 2
输出: 4->5->1->2->3->NULL
解释:
向右旋转 1 步: 5->1->2->3->4->NULL
向右旋转 2 步: 4->5->1->2->3->NULL
输入: 0->1->2->NULL, k = 4
输出: 2->0->1->NULL
解释:
向右旋转 1 步: 2->0->1->NULL
向右旋转 2 步: 1->2->0->NULL
向右旋转 3 步: 0->1->2->NULL
向右旋转 4 步: 2->0->1->NULL
=================
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:
1            <---
/   \
2     3         <---
\     \
5     4       <---
21. 反问:我有什么可以提高的地方嘛?

三面

  1. 策略模式

  2. 阻塞队列的Java API有那些

  3. 代理模式的API

  4. AOP解决了什么问题

  5. MySQL事务提交的过程

  6. redo log 和 undo log 实现了什么功能

  7. 完全解释一下ACID的意思

  8. 举例说明不可重复读

  9. 设计题:一个应用程序会写两个数据库,保证这两个数据库的操作满足原子性(随时存在宕机的可能性)

  10. 设计题:线上有一个服务调用十分缓慢,要如何排查?

  11. 操作系统为什么要设置用户态和内核态

  12. 详细描述一次IO过程

  13. 讲一下DMA的作用

  14. 一面、二面、三面有那些你比较擅长但是没有问到的点

  15. 算法题:

滑动窗口的最大值
限定语言:Javascript_V8、Python、C++、Javascript、Php、C#、Java
给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。
例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};
针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,6,[2,5,1]}。
反问:能不能评价一下今天的面试情况

(其实三面我一度以为自己挂掉了,两道设计题都答不上来,算法题只有一部分思路,并没有把他写完。但是没想到面试官最后还是说给我过了,希望我更多的去做一些项目,有更多的编码量。总之感谢面试官能够相信我吧!)


#实习##面经##Java工程师#
全部评论
别人家的大三学生
5 回复 分享
发布于 2020-12-08 09:15
电子科大的太猛了😂
2 回复 分享
发布于 2020-12-07 13:09
大佬我也想寒假实习,可以加个好友咨询一下吗
点赞 回复 分享
发布于 2021-11-11 23:46
请问楼主项目是做的哪一个呀
点赞 回复 分享
发布于 2020-12-14 01:02
这得学多久才能都会啊😞
点赞 回复 分享
发布于 2020-12-13 16:51
楼主三面第九道题数据库是怎么设计的啊
点赞 回复 分享
发布于 2020-12-11 19:08
字节有说实习的时长是多久嘛?
点赞 回复 分享
发布于 2020-12-10 17:46
大佬很强,不愧是成电
点赞 回复 分享
发布于 2020-12-09 21:31
楼主,1月去实习的话,下个学期的课怎么办呀?
点赞 回复 分享
发布于 2020-12-09 16:02
楼主是咋学的
点赞 回复 分享
发布于 2020-12-09 14:53
请问楼主面试的什么部门呢?
点赞 回复 分享
发布于 2020-12-08 11:43
这面的是java? 这面这么多网络知识
点赞 回复 分享
发布于 2020-12-08 08:22
Reactor 模型是简历涉及到相关的知识才问的吗
点赞 回复 分享
发布于 2020-12-08 02:51
太强了
点赞 回复 分享
发布于 2020-12-07 23:45
楼主你好,hr面完不是还要等审批结果吗,为什么你直接就通知实习时间了啊。
点赞 回复 分享
发布于 2020-12-07 23:03
字节是每时每刻都在招人吗,面了就可以去实习?
点赞 回复 分享
发布于 2020-12-07 21:57
算法题需要处理输入输出吗?还是就像leetcode那样的
点赞 回复 分享
发布于 2020-12-07 20:23
恭喜老哥!
点赞 回复 分享
发布于 2020-12-07 17:52
哥哥,你面的是什么岗位
点赞 回复 分享
发布于 2020-12-07 16:48
lz啥项目,竟然还问了图论的算法
点赞 回复 分享
发布于 2020-12-07 15:30

相关推荐

bg双非本科,方向是嵌入式。这次秋招一共拿到了&nbsp;8&nbsp;个&nbsp;offer,最高年包&nbsp;40w,中间也有一段在海康的实习经历,还有几次国家级竞赛。写这篇不是想证明什么,只是想把自己走过的这条路,尽量讲清楚一点,给同样背景的人一个参考。一、我一开始也很迷茫刚决定走嵌入式的时候,其实并没有一个特别清晰的规划。网上的信息很零散,有人说一定要懂底层,有人说项目更重要,也有人建议直接转方向。很多时候都是在怀疑:1.自己这种背景到底有没有机会2.现在学的东西到底有没有用3.是不是已经开始晚了这些问题,我当时一个都没答案。二、现在回头看,我主要做对了这几件事第一,方向尽早确定,但不把自己锁死。我比较早就确定了嵌入式这个大方向,但具体做哪一块,是在项目、竞赛和实习中慢慢调整的,而不是一开始就给自己下结论。第二,用项目和竞赛去“证明能力”,而不是堆技术名词。我不会刻意追求学得多全面,而是确保自己参与的每个项目,都能讲清楚:我负责了什么、遇到了什么问题、最后是怎么解决的。第三,尽早接触真实的工程环境。在海康实习的那段时间,对我触动挺大的。我开始意识到,企业更看重的是代码结构、逻辑清晰度,以及你能不能把事情说清楚,而不只是会不会某个知识点。第四,把秋招当成一个需要长期迭代的过程。简历不是一次写完的,面试表现也不是一次就到位的。我会在每次面试后复盘哪些问题没答好,再针对性补。三、我踩过的一些坑现在看也挺典型的:1.一开始在底层细节上纠结太久,投入产出比不高2.做过项目,但前期不会总结,导致面试表达吃亏3.早期有点害怕面试,准备不充分就去投这些弯路走过之后,才慢慢找到节奏。四、给和我背景相似的人一点建议如果你也是双非,准备走嵌入式,我觉得有几件事挺重要的:1.不用等“准备得差不多了”再投2.项目一定要能讲清楚,而不是做完就算3.不要只盯着技术,多关注表达和逻辑很多时候,差的不是能力,而是呈现方式。五、写在最后这篇总结不是标准答案,只是我个人的一次复盘。后面我会陆续把自己在嵌入式学习、竞赛、实习和秋招中的一些真实经验拆开来讲,希望能对后来的人有点帮助。如果你正好也在这条路上,希望你能少走一点弯路。
x_y_z1:蹲个后续
点赞 评论 收藏
分享
评论
40
183
分享

创作者周榜

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