字节面经 后端开发实习 已OC

面了两个部门,5轮技术面 + 1轮 HR 面,流程花了一个多月,最后拿的offer是字节上海data商业化下的一个部门
时间太长记得不清楚,大致回忆下,算法题都还记得
前两轮其实是面的字节商业化广告后端,挂了

商业化广告第一轮:
自我介绍,问了百度实习的项目细节,qps是多少?怎么优化?回答:项目qps只有几千,直接用的mysql,理论上可以用redis做缓存,Nginx做负载均衡
go语言里面异常是怎么处理的:考 panic 的用法,和 if err != nil 这种错误处理
go语言开发函数返回值用什么接收:我说了map,后来补充了可以用channel
问了下协程的基础用法:go + 函数名,带缓存的不带缓存的
然后问一个系统设计需要注意些什么和各自的作用:答了低耦合性,可拓展性,并发性什么的(说实话我不确定这是考的什么,哪里有整理的比较好的答案谁可以分享下???)
大概就这些,可能遗忘了一点点
算法题是:leetcode 22题 https://leetcode-cn.com/problems/generate-parentheses/
dfs很快解决了,深搜的规则是:左括号数量大于等于右括号,左右括号数量都是n的时候返回结果

商业化广告第二轮:
自我介绍,问百度实习的项目,问TCP握手挥手,然后追问CLOSE_WAIT是对应哪一次,我没背这个当时随便回答了一个,现在都不记得答的对不对了
问进程和线程的区别,答了个大概,但是没有仔细背所以不详细,估计又被差评了
问 go 语言怎么实现定时执行任务? 答: time.sleep,追问别的方法:应该是要问Timer和Ticker,当时没反应过来(本来也不熟悉这个),就开始说用WaitGroup和defer,应该是答偏了……
算法题:
LeetCode 链表求和的变型 面试题 02.05. 链表求和 https://leetcode-cn.com/problems/sum-lists-lcci/
比如说1 -> 2 -> 3 + 4 -> 5 -> 6 表示123加456输出这种形式的和,要求O(1)空间复杂度,需要先反转两个链表,再找出长的链表,把短的链表加到长的链表上,然后再反转结果, 不能新建结点
有点麻烦,我第一遍写新建了结点,相当于另外生成了第三个链表返回了,不满足O(1)空间复杂度,提示后改对了
LeetCode 146 LRU缓存机制,见过原题,自定义一个数据结构,模拟一个双向链表,左右各需要一个哨兵,用hash存key和Node方便查找,每次把最近访问的移动到最左边,删除的时候删最右边的
面试官看出来我做过这个,又问了LFU怎么实现,这是hard难度了……当时只想出来了用小根堆,时间复杂度是logN,其实有O(1)的做法,挺复杂的有兴趣可以去看下题解
这里的教训是:遇到做过的题要装作没做过,当场思考推理一段时间,不然面试官会觉得你背题了,换更难的新题考……
最后重磅的来了:
智力题:一盒扑克牌一共有10张朝上,42张朝下,分成两堆,怎么用最优的方法让两堆正面朝上的数量一样? 描述就这样
答案是:把牌分成10张一堆,42张一堆,10张的全部翻面这样两堆朝上的数量就一样了(简直是脑经急转弯,特别是已经面试50分钟比较疲倦的时候,实在很难想出来)
没答上来面试结束,果不其然挂掉了,当然这一轮答的确实问题比较多,有自己的问题

data商业化第一轮: 介绍实习项目和自己负责的部分 问比较常规的八股文 数据库ACID特性 数据库聚簇索引和非聚簇索引的区别:主要是数据和索引是不是放在一起,是否需要回表 数据库b+树的特性,优点,和b树的比较 https和http的区别,https的详细过程 对称加密和非对称加密 https用的是对称加密还是非对称加密:其实是都用到了,这里我只说了对称加密 tcp和udp的区别 http用的是tcp还是udp:一般书上说的是tcp,但是http3.0开始用udp了,我说了这一点,面试官表示了肯定 应该漏了一些,我记不得了 还有一些go语言的基础问题,也是协程channel什么的,然后问gpm模型会不会,我只略微看过一点,忘的差不多了就说不会 然后开始写算法题:让我二分和动态规划选一个,我选了二分 题目是一个已排序的数组除了一个数字出现一次其他的都出现了两次,要求logN的时间找出 136. 只出现一次的数字 https://leetcode-cn.com/problems/single-number/
异或是O(N)的不行,需要根据下标的奇偶性判断要找的数字在前面或者后面,整数二分的模板不能直接套,需要根据边界和奇偶性改一下,写完跑了几个case就过了

data商业化第二轮:
几乎没怎么问常规八股文,先自我介绍
问怎么自己实现一个哈希表
答:数组 + 一个映射函数,如果冲突可以顺序往后再散列,但查找效率会降低, 追问怎么优化:用链表优化,如果链表很长,改用红黑树。问红黑树的优点:主要是跟链表比较查找深度变小了

问go里面的哈希表是不是线程安全的

答:线程不安全

追问线程不安全具体会出现什么样的问题,我本来说不知道,面试官说让我自己想下场景,然后就答了可能会覆盖数据丢失数据之类的,自己举例分析了一下,其实我现在都不知道对不对,改天一定去找博客看看……

问怎么实现一个队列 答:用stl的queue,或者用两个stack模拟,追问go语言怎么实现:定义一个结构体,用一个数组和两个指针表示队列头和队列尾,数组尾部和头部看成是连在一起的一个环形数组的形式。 问百度实习项目: 问项目中的CRON表达式的定时任务如果自己去模拟实现,要怎么做? 答:用消息队列 + 一个表示时间的字段 如果不用消息队列,怎么做? 答:用一个双向链表,每个结点有一个下一次执行的时间字段,执行完成后更新时间,插入到双向链表中,维持链表结点下一次执行时间是递增的,链表不能随机访问,所以每次插入需要O(N)的时间复杂度, 面试官没理解我的意思追问了几遍 问时间复杂度能不能优化? 我一开始没理解这个提问,回答可以用协程 + WaitGroup实现, 后来明白了意思,答:用小根堆,每次取堆顶的任务执行,执行完增加一个单位时间间隔再放回堆中 ,这样时间复杂度是O(logN) 算法题: 122. 买卖股票的最佳时机 II https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 123. 买卖股票的最佳时机 III https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/ 两道买卖股票的题目,前面一个很快写出来了,后面一个是hard讲了个错误的贪心思路,自己推出来不对,然后开始想动态规划怎么做,大致写了一下,但是还没写对时间就到了,面试结束 二面基本上全程在问算法设计,好在答的还不错,实习项目里面的一个很小的点被拿出来深入提问设计方面的问题是我比较意外的,算法的hard题没见过有点难想,但还是给我过了

data商业化第三轮:
看出来了是主管级别的面试官,迟到了10分钟才来,我都准备给HR打电话了
面试开始后他说要去回消息,于是直接给了一道算法题我先写:给一个非负整数,找比这个数字大的最小的回文数字
564. 寻找最近的回文数 https://leetcode-cn.com/problems/find-the-closest-palindrome/是这个题的简化版本,原题更难,思路是:分数字位数奇偶讨论,比如说偶数位数的数字,1234,把左边一半和右边一半提取出来,12和34,把左边的翻转,12翻转成21,如果翻转后的数字比右边一半大,返回1221,否则返回1331,详细描述很麻烦,意会一下
小于10的数要单独判断,然后奇数位数的数字需要对中间的那一位单独处理。如果越界还有大数的问题,好在给的case比较小没有这种问题,一开始有边界问题,提示之后,case都过了
然后就是聊人生环节,比如说北京的学生怎么来上海实习?前一段实习的收获是什么?没什么参考性就不细说了

最后的HR面:
确认了一下入职时间,沟通了一下实习的各种信息,然后就发offer了

不会排版有点乱…… 接下来希望坚持打周赛双周赛,攻克一下hard,秋招冲一下外企
#字节面试##实习##面试题目##后端开发#
全部评论
好简单啊😂
2 回复
分享
发布于 2022-01-16 03:54
请问楼主找出只出现一次的数字怎么用二分做呀?不保证相邻可以直接用二分做吗?
1 回复
分享
发布于 2022-01-18 19:54
滴滴
校招火热招聘中
官网直投
简单到哭啊。。。
1 回复
分享
发布于 2022-02-07 14:14
同学还是很优秀的。有其他同学想内推的可以直接点下面链接。字节春招➕暑期实习也开始了,欢迎投递。三餐➕房补,实习事情也不多。内推链接https://job.toutiao.com/s/LwANxJB
1 回复
分享
发布于 2022-02-22 13:03
楼主啥时候入职呀
点赞 回复
分享
发布于 2022-01-18 13:00
请问楼主LRU可以直接用现成的数据结构吗?还是要自己定义
点赞 回复
分享
发布于 2022-01-25 19:58
看来对应届生都偏算法。
点赞 回复
分享
发布于 2022-01-31 23:50
请问LRU写了多久
点赞 回复
分享
发布于 2022-03-04 11:17
扑克牌那个只需要找出来10张翻个面就行了😂😂以前笔试的时候碰到过一个类似的翻硬币的踢
点赞 回复
分享
发布于 2022-03-13 14:20
楼主hr面后几天收到的offer啊?我hr面完了,但官网还是面试中状态😢
点赞 回复
分享
发布于 2022-03-13 16:45

相关推荐

比亚迪深圳规划院 产品经理 0.9×1.36×12
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
43 236 评论
分享
牛客网
牛客企业服务