字节Data-EDU后端开发岗暑期实习3.31一二面面经

一面
视频面50分钟

1.社区项目什么功能,怎么实现的?
2.帖子点赞是怎么实现的,如何应对高并发问题?
3.a.jd.com能否共享jd.com的Cookie?a.jd.com和b.jd.com呢?
4.TCP如何保证有序传输?
5.TCP的滑动窗口如何实现的?  答:报文中有的窗口字段表示窗口的大小,请求和响应窗口大小一增一减表示窗口的滑动。
6.Java多线程安全问题是什么?如何避免?
7.进程通信方式。
8.JVM栈和堆都是存放哪些内容的?
9.讲几个你熟悉的HTTP方法。
10.问几个HTTP状态码表示的意思,201,302,401,405,504。
11.数据库事务特性,分别表示的意思。
12.MySQL的隔离级别,可重复读怎么解决幻读问题?
13.MySQL的B+ Tree索引有什么优势?
14.Redis的数据类型,ZSET的底层数据结构是什么?
15.Redis除了定期删除,还有什么处理key的方式?
16.Kafka如何保证有序性?
17.Linux查看大文件的头10行的命令,具体到参数?
18.Cookie和Session的区别。

算法题:给定一个字符串,返回其最长无重复子串。无重复子串是指:子串中每个字符都不相同,例如:s="1aaabcdddd2"最长的无重复子串为"abcd"。给20分钟的时间。原题为剑指Offer48.最长不含重复字符的子字符串

做题结束后面试官介绍了部门base在上海,能不能接受,还问了什么时候能来实习。

4.2二面
视频面55分钟
1.详细讲一下你做的项目或者研究的内容。
2.研究内容中用到了什么算法,为什么不用启发式的算法?
3.什么时候能来实习,实习多久?工作上有什么打算?
4.MySQL聚簇索引和非聚簇索引的区别。
5.MySQL的隔离级别,可重复读是怎么实现的?  答:MVCC机制。
6.JVM栈和堆内存有什么区别?
7.内存泄漏是怎么回事?什么情况会引起内存泄漏?
8.讲一下Java内存回收机制。
9.HTTP常用的状态码有哪些?
10.除了TCP、UDP、HTTP,你还知道哪些网络协议?
11.实习后有转正诉求吗?实习时间还有可能更长吗?

1.数据库设计题:做一个类似微信的im聊天工具,主要功能:好友,1对1文本聊天,聊天记录,群聊。列出核心的表和字段名字。要求写在视频面试的代码界面。
答:
好友表 user:
id, follower
消息表 message:
id, type, from, to, content, date, group_id
成员表 member:
group_id, user_id

哪些字段适合做索引?

2.算法题:对一个单向链表,以K为单位反转。
例如:1 2 3 4 5 6 7 8
K=3:3 2 1 6 5 4 8 7
k=4,4 3 2 1 8 7 6 5
原题为LeetCode25.K 个一组翻转链表

反问
教育部门都具体做什么业务?  答:做的是技术中台,会做整合,下面有很多条业务线。

面试官人很好,在做数据库设计题和算法题时,都会友善回答我提的问题,并引导我答题的思路,和我合作完成了这两道题。

#实习##面经##字节跳动##Java工程师#
全部评论
lz收到offer了吗
点赞 回复 分享
发布于 2021-04-13 09:46
请问下问题3如何回答的,有点get不到点
点赞 回复 分享
发布于 2021-03-31 23:44
点赞如何应对高并发,楼主是怎么答的呢
点赞 回复 分享
发布于 2021-03-31 22:53
只有一面吗
点赞 回复 分享
发布于 2021-03-31 21:15

相关推荐

飞书前端一面面经:从基础到实战的技术碰撞一、面试初印象这次飞书前端一面给我的整体感受是节奏紧凑且直击技术核心。面试官风格沉稳,问题由浅入深,既考察基础能力,又注重解决实际问题的思维,是一次很有价值的技术交流。二、面试问题复盘1. CSS 基础考察面试官开场便询问我 CSS 基础掌握程度,我坦诚表示“不是很好”,随后进入具体问题:如何实现三列布局,要求两边宽度固定,中间宽度自适应。我首先提到可以用 JavaScript 监听窗口变化动态调整宽度,但面试官希望用纯 CSS 方案。我迅速想到 Flex 布局,并详细解释了实现思路:.container {display: flex;}.left, .right {width: 200px; /* 固定宽度 */}.center {flex: 1; /* 自动分配剩余空间 */}接着,面试官追问 calc() 函数是否了解,由于平时使用较少,我仅简单说明了它能进行四则运算,用于动态计算 CSS 属性值,比如 width: calc(100% - 400px); 可以配合实现响应式布局。2. 项目与性能优化探讨当被问到 项目中的性能优化经验 时,我如实反馈:目前实习项目和个人项目经验较少,尚未深入接触性能优化模块。面试官没有追问,而是迅速切入算法题环节。3. 算法与代码实现题目1:封装 Promise 重试函数要求实现一个函数,传入请求的 Promise 和请求次数,请求失败时自动重试,达到次数上限后不再发起请求。我给出如下代码:function retryPromise(promise, times) {let count = 0;return new Promise((resolve, reject) => {const run = () => {promise.then(resolve).catch((error) => {if (count < times - 1) {count++;run();} else {reject(error);}});};run();});}题目2:实现对象深拷贝我先写出基础版本:function deepClone(obj) {if (typeof obj!== 'object' || obj === null) {return obj;}let result = Array.isArray(obj)? [] : {};for (let key in obj) {if (obj.hasOwnProperty(key)) {result[key] = deepClone(obj[key]);}}return result;}面试官进一步要求 考虑边界情况,我补充说明:若对象属性为数组,需递归处理数组元素;若属性为函数、正则等特殊类型,需特殊处理。例如,对于函数可直接返回原函数,对于正则可创建新的正则实例。三、反问环节我向面试官提出疑问:“为什么在前端面试中如此看重 CSS 基础?”面试官耐心解答:“CSS 是前端页面布局和视觉交互的基石,良好的 CSS 能力能确保页面高效渲染和兼容性,是支撑复杂业务开发的基础,所以我们会重点考察。”四、面试结果与总结幸运的是,面试结果显示 已通过一面。回顾过程,坦诚承认自身不足并积极思考问题,以及在算法题中清晰的逻辑表达是关键。后续准备二面时,我将重点补足 CSS 知识盲区,积累项目实战经验,尤其关注性能优化相关技术,同时加强对 JavaScript 细节和边界场景的理解。这次面试也让我深刻认识到,扎实的基础和灵活的思维永远是技术面试的核心竞争力。
查看5道真题和解析
点赞 评论 收藏
分享
评论
8
51
分享

创作者周榜

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