字节跳动 Data 后端 PEG 一二三面+HR面

一面4.11(60min)

  1. 自我介绍

  2. Java GC 系统讲一下

    什么是垃圾? -> 2 种判断对象是否是垃圾的算法及其优缺点 -> 3 种垃圾清除算法及其优缺点 -> 堆结构 -> 各个区域对应的具体的垃圾回收器

  3. 浏览器输入一个 URL 后按回车键发生了什么

  4. TCP 三次握手,每次握手都详细讲一下,包括包中的标志位

  5. 为什么要三次握手?两次可以吗?

    全双工:协商序列号、MSS、缓冲区大小。

  6. 系统介绍一下数据库中的索引

    什么是索引 -> 索引的作用 -> MySQL 有哪些索引及其适用场景和优缺点 -> 索引的底层数据结构 B+ 树 -> InnoDB 和 MyISAM 索引的区别 -> 最左匹配原则 -> 建索引注意点 -> 索引调优思路。

  7. 为什么要用 B+ 树,用二叉树可以吗?

    B+ 树高度低很多,磁盘 IO 次数大大少于二叉树。

  8. 建了索引 index_a_b_c,然后给一堆查询 sql,判断是否走索引

    根据最左匹配原则,顺序不重要,MySQL 底层会进行换序优化。

  9. like 'xxx'、like '%xxx'、like '%xxxx%'、like 'xxxx%' 是否走索引

    左边没有%的都走索引。

  10. 事务的四个特性

    ACID。

  11. MySQL 事务的3个问题

    脏读、不可重复度、脏读。

  12. 在 MySQL 的事务隔离等级

    4个。

  13. 为什么 SERIALIZABLE 能解决三个问题?

    严格串行化。

  14. 事务隔离下是否会造成锁的竞争?

  15. 会锁住哪些数据?是整个表不能读写还是部分数据?

  16. 设计一个登录功能?从流程和数据库设计。

    认证 -> 授权。

    基于权限划分。

    基于角色划分。

    加密、HTTPS。

  17. 算法:给定一个列表 [负数部分,0部分,正数部分],找到最后一个负数和第一个正数,复杂度 O(logn)

    二分。

  18. 这些技术是自己学的还是学校教的?

反问:

  1. 部分业务

  2. 技术栈

  3. 面试表现评价、建议

二面4.13(70min)

  1. 自我介绍

  2. 讲一下微服务

    什么是微服务 -> 微服务的诞生过程 -> 微服务的作用

  3. 微服务中的模块如何平稳升级,重新部署

  4. 先下线再上线的优缺点

  5. 如何解决先下线再上线中间这个时间差的问题

  6. 先上线再下线的优缺点

  7. 服务发现在服务升级之中提到了什么作用

  8. 项目中负载均衡的方式

    Ribbon,轮询。

  9. 算法:实现一负载均衡算法,随机输出一个 ip 地址,大量输出的结果需要符合权重的规律。

    [{'ip':'1.0.0.1,'weight':50}、{'ip':'1.0.0.2,'weight':30}、{'ip':'1.0.0.3,'weight':20}、{'ip':'1.0.0.4,'weight':20}]

    weights[i] 累加权重,然后 Randon 随机生成一个 totalWeight 范围内的值,看看落在哪个区域,由数组下标定位到具体哪个 IP。

  10. 算法:不断接收输入流,然后每接收一个值,就输出当前的 topk

    优先队列(最小堆)。

反问:

  1. 部门目前在做什么事情,解决什么问题?

  2. 平时如何提升自己,学习建议。

三面4.15(60min)

  1. 自我介绍

  2. 介绍你到现在为止最有挑战的技术点

  3. 具体讲讲 OAth2.0 协议

    四种模式。

  4. 具体讲讲授权码模式的流程。

  5. 授权码模式为什么有了 code 还需要去鉴权中心拿 access token?

  6. 授权码模式的 code 被黑客拦截了会造成什么问题?黑客拿到 code 有什么用呢?

  7. 设计一个豆瓣的爬虫策略。

  8. 如何反爬虫?

  9. 如何反反爬虫?

  10. 爬虫和反爬虫最终是谁赢了?

    我答爬虫,数据就在那,抄都给你抄下来。😢

  11. 除了简历上的项目自己平时还做些什么东西?

  12. 百度小程序比赛是如何发起的?当时为什么想到要做这个项目?产品的需求是如何来的?

  13. 项目是怎么部署的?

  14. 设计一个周报系统的数据库,要满足第三范式

    1. 有用户

    2. 用户属于某个组织

    3. 用户可以发表周报

    4. 用户可以评论周报

    5. 用户可以查找自己属于的组织下的所有周报

  15. 最近在学习什么技术?

  16. 平时是如何学习技术的?

反问:

  1. 对于实习生的期望?自己理想中的实习生应该具备什么素质和特点?

HR 面4.16(20min)

  1. 前面几轮面试感觉怎么样?

  2. 介绍一下自己(从技术、项目经历、优势)

  3. 为什么参加百度智能小程序大赛?有多少人参加?你们排多少名?它有做什么宣传吗?这个比赛有什么奖励?

  4. 你说你能承受失败,那你是有什么心得吗?

  5. 你的学习方法讲一下?

  6. 什么时候能来实习?

  7. 平时学校的任务和自己的学习任务比例是多少?

  8. 为什么想来字节?

  9. 现在还有其他 offer 吗?还投了哪些公司?进展到哪里了?

  10. 如果其他公司发 offer 了会优先考虑字节吗?

  11. 人生规划

#面经##字节跳动##实习##Java工程师#
全部评论
好家伙会这么多居然才是实习,跪了跪了😥
2 回复 分享
发布于 2021-04-17 02:17
请问楼主准备了多长时间呀?我准备了大概一个月,但是看各路面经总感觉有自己不会的,只有那几个八股文问题算比较熟悉的😂是不是面试问题和简历有关
点赞 回复 分享
发布于 2021-05-12 02:20
hr面之后还会打电话通知过了吗
点赞 回复 分享
发布于 2021-04-22 15:44
请问楼主base哪里
点赞 回复 分享
发布于 2021-04-20 20:25
请问楼主收到offer了嘛
点赞 回复 分享
发布于 2021-04-20 09:49
请问楼主hr面是视频面吗
点赞 回复 分享
发布于 2021-04-19 10:11
hr面完多久给的offer?
点赞 回复 分享
发布于 2021-04-18 08:33
请问那个数据库怎么设计的啊?
点赞 回复 分享
发布于 2021-04-17 12:02
事务隔离下是否会造成锁的竞争? 这个怎么答的?
点赞 回复 分享
发布于 2021-04-17 10:53
求一份offer😫
点赞 回复 分享
发布于 2021-04-16 23:47

相关推荐

第一次在牛客上发帖子,直接把写的笔试复盘md文件贴过来了。p.s. 暑期实习投递的太晚,只能说希望能有结果吧,没有的话后面找找日常实习也行,现在切忌不要过度焦虑,把战线拉长,每天好好沉淀总会有好结果的。# 题目回忆考试时长90分钟,其中10道选择题(总分30分),3道编程题(总分70分)## 选择题前五道题目考的很杂,涉及到数据结构(平衡二叉查找树、栈),磁盘计算等等后面的题目主要是围绕ML和LLM展开的,lr调整策略(余弦退火等)一题,ViT一题,微调好像考了三题## 编程题### 第一题q次查询,每次查询:n, m, w2, w3初始数字是n,每次操作可以(1)将当前乘以二,花费w2代价(2)将其乘以三,花费w3代价对于每次查询,输出从n开始,让其最终大于等于m的最小代价数据范围:- n, m <= 1e9- q <= 1e5### 第二题定义漂亮数:对于数字x,如果存在质数p,使得x % p == 0且p * p >= x,则x是一个漂亮数输入一个数字n,需要输出[1, n]范围内漂亮数的个数**数据范围**- n <= 5e5### 第三题输入n,m接下来n-1行,每行u,v,d表示树上u和v之间有一条长度为d的边然后m行询问,每行x,y,要求输出树上经过x和y两个点的简单路径的最大长度(其中简单路径是指路径上所有点互不相同)**数据范围**数据范围n和q都是5e5# 考场表现回忆以及反思## 选择题刚开考的时候明显没有进入状态,没有时间的紧迫感。有一道关于栈的题目描述相当奇怪,自我感觉读题的时候不专注。用时大约15分钟## 编程题### 第一题**解题心路过程**1. 一眼看上去是dp2. 但是数据范围是1e9,dp存不下,那看样子不是dp3. 考虑是不是一个数学问题可以直接求,比如是不是最佳策略只会是全乘二或者全乘三或者全乘三但是最后一次乘二4. 发现完全把握不住,于是还是考虑dp,存不下那我们就记忆化搜索具体时间不记得了,但是我记得这个题目和第二题加起来是花了30分钟不到### 第二题**解题心路过程**1. 拿到题目首先转化条件,一个数是漂亮数当且仅当他的最大质因数的平方大于等于这个数(n >= 2时),特别的,1不是漂亮数2. 这个时候有冲动直接暴力检验每一个数是不是漂亮数,但是这样是O(n * sqrt(n)),太慢了,决定再想想,想不出来就先写暴力3. 印象中这个时候直接跳过去看了一下第三题,题干没仔细看完,又跳回来做第二题4. 突然灵光一闪,逆向思维一下,对于每一个质数p,找到以其为最大质因数的所有漂亮数即可。类似于n = 10时。p = 2 -> 2 * 1, 2 * 2; p = 3 -> 3 * 1, 3 * 2, 3 * 3; p = 5 -> 5 * 1, 5 * 2 ... 直到p大于n**代码实现过程**实现的话就是质数筛,然后对于每一个p,统计其对于答案的贡献但是一开始写的是 res += n / p,发现过不了样例之后加了几条调试信息,于是改成了res += min(n / p, p),这个调试过程大概花费了5分钟### 第三题**解题心路过程**1. 对于题干还不太理解,于是手玩了一下样例2. 很快意识到这是一个lca + 树上dp,思考了一下处理查询所需要的信息:首先对于每一个点,维护它往下的路径最大值(这个直接一个dfs就行,树上dp),然后对于查询的两个点,以他们为端点的路径就是一个lca + 树上前缀和3. 注意这里并没有去思考上面这个是不是有逻辑bug,直接就开始编码了**代码实现过程**整体编码过程并不利索,我有点分不清是我自己本身编码熟练度不够,还是考试的时候太放松没有紧迫感依稀记得 当时看到时间还有30多分钟,感觉编码的时候有点悠哉游哉的,等实现完dfs,得到parent[][0], maxDis[], preSum[], dep[]之后进一步得到parent[][]可以确信的是,关于lca的部分我写的很谨慎,都是在脑子里把过程想清楚了再编码,这一点倒是正确的最后实现完毕之后,只剩下几分钟,跑了测试样例,WA于是加输出调试,发现自己读进来的x和y在找lca的时候直接修改了x,y。后续查询的时候又是直接用的x,y。赶紧修复了这个,找lca的时候修改的是x,y的副本的值样例过了,但是提交之后通过样例0%,这个时候时间好像只有3分钟了,突然意识到一个逻辑bug,当x是y的祖先关系的时候,maxDis[x] + maxDis[y] + (preSum[x] + preSum[y] - 2 * preSum[lca])中,两个maxDis有可能出问题,即y在x往下延申最大路径上但是我如何知道在不在?在困惑中考试结束了**赛后正解思考**记一个第二深的叶子再最深和第二深记一下具体是哪个叶子这样可以判断v是不是在u最深的叶子那条路上如果是就用第二深的# 一些反思TODO
查看7道真题和解析 投递美团等公司6个岗位
点赞 评论 收藏
分享
评论
9
53
分享

创作者周榜

更多
牛客网
牛客企业服务