字节提前批一面二面三面面经--回馈牛客

早上三面终于通过了,再offer 审核,还没发意向书,讲真这个效率是真的快。
这个部门是做搜索的,我应该是被捞起来的,然后简历上的技术栈基本上完全不匹配
一面

建表语句,建立一个学生表,考的是字段的数据结构定义,比如说 男女 可以用 1bit 来替代,学生一共就10000个 用 smallint 大概这样的
两个mysql 更新一句 一共是 where a >30  一个 是 where a = 20 问锁住的区域是否存在交集,这个分情况讨论下
由于技术栈有交集的可能只有 Nginx ,两面都问道Nginx
Niginx 轮询的算法
算法题:
一个int 数组,求里面所有 和为 sum 的组合,用回溯做

二面
二面是真的绝望,1小时15分钟,20分钟算法,其他时间全程再扣项目
项目上写了 Netty 的RPC
手写一个用Netty 实现 PRC 远程调用的 伪代码,有一些重点(动态代理,序列化,异步调用)这一类的
序列化问了 protobuf 答:没有用过
问了 CDN 和 Ngixn 进行动静分离的区别,答 CDN 不太了解,
然后问了 Nginx 负载动静分离是怎么配置的,就是 那个 location \ {xxxx}  这个东西,基本上忘光了,没写出来
然后扣了很多的项目细节,这里没啥参考意义

算法题:
leetcodde 
二面答得稀烂,一方面是对于Nginx 是真的不熟悉,另一方面 RPC远程调用伪代码也写的不好,可能就最后算法做出来才过了

三面
三面全程再做题目
一小时15分钟,就问了15分钟简历上项目的基本信息,其他都不问了,就开始做题
算法题1:
一个很长的int 数组,里面存在重复的数据,求重复次数最多的 TopK,比如说 【1,1,2,2,3,3,3】 三出现次数最多,如果K =1 返回3
用一个 HashMap 去记录 出现的次数,然后用堆排序进行 topK的操作,这里我直接用优先队列,写完面试官说不能用优先队列,你写个堆排序把,然后写了一个堆排序
算法题2:
36进制的乘法,两个36进制相乘,后来感觉太麻烦了时间不够,就改成两个36进制相加,这里不能36转10进制,得转字符串,去模拟加法的过程,最后返回字符
难点在:字符串中获取一个代表36进制的char 如何转为 10进制,需要分类讨论 如果是小于‘9’ 和 大于‘9’
三面的面试官估计比较忙,给我搞了题目就不怎么管我了,算法1写的时间有点久,算法2有部分错误,然后在他的提醒下修改了

这个部门没有hr面
第二天10点打电话问hr 说三面过了,offer 审核阶段










#字节跳动面经##面经##校招##字节跳动#
全部评论
可以问一下lc.1574你的解题思路吗🤣
2 回复 分享
发布于 2021-07-29 14:48
需要主动去问hr吗,我都好多天都没消息,也不敢问😭
1 回复 分享
发布于 2021-07-29 12:27
手写堆排序也太难了😂
点赞 回复 分享
发布于 2021-07-29 15:45
美团到店事业部招人啦,NLP、CV、ML方向均可~技术氛围好,生活氛围也好!欢迎私聊,欢迎投递简历,将有机会获得优先面试机会哟~
点赞 回复 分享
发布于 2021-07-29 21:20
老哥RPC项目细节怎么问的啊? 主要问哪方面啊?
点赞 回复 分享
发布于 2021-08-01 12:19

相关推荐

HTTP请求方法GET和POST是两种常见的请求方法,它们在使用方式和作用上有一些区别。GET请求:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=02b1742be4564f04b7e1bdf3b39333d7GET方法用于从服务器获取资源,通常用于请求获取页面、图片、文档等内容。GET请求的参数会附加在URL的查询字符串中,并以键值对的形式传递,例如:http://example.com/resource?key1=value1&key2=value2。GET请求具有幂等性,即多次发送相同的GET请求,不应对服务器产生副作用,只是获取相同的响应。GET请求参数的长度有限制,不适合传递大量数据。POST请求:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=02b1742be4564f04b7e1bdf3b39333d7POST方法用于向服务器提交数据,通常用于提交表单、上传文件等操作。POST请求的参数会包含在请求体中,并以键值对的形式传递。参数不会直接暴露在URL中,因此相对于GET方法更安全。POST请求可以传递大量数据,没有像GET方法的参数长度限制。POST请求不具有幂等性,即多次发送相同的POST请求,可能对服务器产生副作用,例如重复提交订单。总结:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=02b1742be4564f04b7e1bdf3b39333d7GET方法用于获取资源,参数附加在URL中,通常用于无副作用的读取操作。POST方法用于提交数据,参数包含在请求体中,通常用于有副作用的写入操作。GET方法适合获取少量数据,POST方法适合传递大量数据。GET请求可以被缓存和收藏,POST请求一般不会被缓存。需要根据具体的场景和需求选择适合的请求方法。
点赞 评论 收藏
分享
10 41 评论
分享
牛客网
牛客企业服务