字节跳动 后端 二面

8.22 时长1h
被拷打麻了
先自我介绍,但要吐槽一下还没介绍完就被打断开始问了。
项目:
为什么用单例模式,单例模式常用的锁机制;阻塞队列,有非阻塞的实现方式吗;小根堆这种数据结构产生的时间开销怎样,短连接而言这种开销能忽略吗;连接池会不会出现数据串流;
先问网络:
讲一下对socket的认识;如果tcp已经在一个端口号上链接,udp还能监听这个端口吗;如果要发送一个大文件,讲一下这个文件从客户端主机到服务端主机的全过程,包括操作系统层面和网络层面;这个文件怎么映射到内存上的,怎么变成字节流的;为什么要有缓冲区这个东西;从网络层讲一下这个文件的传输;这么大文件全塞进网络层吗,tcp和ip的分包分片;什么是粘包,怎么解决的;怎么知道丢没丢包;如果有大量数据涌入,tcp会采取什么措施。
操作系统:
讲一下多路io复用;讲一下Linux中进程是怎么管理的;Linux怎么实现多线程的;Pthread库中怎么实现的;如何用多进程模拟多线程;僵尸进程和孤儿进程,如何解决;孤儿进程被init进程收留的过程,数据结构角度讲;从数据结构讲一下父子进程关系,PCB里有没有相关内容。
缓存:
Redis用的什么数据结构;如何用Redis实现一个消息队列,如何实现异步返回。

手撕:
给出二叉树中两个子节点,子节点中有指向父节点的指针,找出两个子节点的祖先节点,要求常量级空间复杂度。这个简单,估计是准备好给我挂了。

面试官问的好深,目前为止压力最大的一场,面试官狠狠地问底层实现,说完概念问实现,说完原理问源码,哥们是真没看过Linux源码,只知道原理
不过面试官比较好的一点是,他一问下一个问题我就意识到是在给我上个问题的提示,可惜感觉还是凉了。
继续加油。

面后一小时挂。
全部评论
一小时,审问也要不那么久,太折磨了
16 回复 分享
发布于 08-22 22:37 黑龙江
这问题问的太恐怖了😅
5 回复 分享
发布于 08-23 11:43 浙江
出结果了吗?
3 回复 分享
发布于 08-22 22:54 黑龙江
太久了
2 回复 分享
发布于 08-22 23:53 黑龙江
找了下答案,分享给评论区的 xdm ```java /* // Definition for a Node. class Node { public int val; public Node left; public Node right; public Node parent; }; */ class Solution { public Node lowestCommonAncestor(Node p, Node q) { Node a = p, b = q; while (a != b) { a = a.parent == null ? q : a.parent; b = b.parent == null ? p : b.parent; } return a; } } ```
2 回复 分享
发布于 08-23 11:46 安徽
这难度是在扯淡吗,我也挂麻了,感觉永远也找不到工作了。哎
1 回复 分享
发布于 08-23 13:37 美国
哥们有说二面结果多久出吗
点赞 回复 分享
发布于 08-22 17:44 陕西
佬 啥部门啊
点赞 回复 分享
发布于 08-22 19:30 上海
啥部门
点赞 回复 分享
发布于 08-22 19:46 北京
好难,亏贼
点赞 回复 分享
发布于 08-23 11:33 四川
我嘞个Linux源码啊,之前看过PCB的源码,大的很😅
点赞 回复 分享
发布于 08-23 12:20 广东
好难啊我擦
点赞 回复 分享
发布于 08-23 13:19 山东
佬,来试试贝壳,贝壳还没有笔试,一天面完,流程迅速
点赞 回复 分享
发布于 08-23 13:47 北京
这八股都没见过😂
点赞 回复 分享
发布于 08-23 14:16 山东
是秋招吗 还是日常
点赞 回复 分享
发布于 08-23 16:13 福建
为什么要有缓冲区这个东西怎么回答
点赞 回复 分享
发布于 08-23 23:53 广东
字节校招还是看重基础 linux和网络tcpip,再就是项目
点赞 回复 分享
发布于 08-24 02:23 广东
搞这么难 这么抽象吗
点赞 回复 分享
发布于 08-24 18:06 广东
pdd秋招「技术专场」可以了解下哦 以下岗位任选:服务端/算法/客户端/web前端/安全/数据分析
点赞 回复 分享
发布于 08-25 10:47 上海
他们不缺人吧 估计戏弄你呢 搞这些问题
点赞 回复 分享
发布于 08-25 16:05 浙江

相关推荐

1.自我介绍2.手撕:数组均分最多能分成几组3.为什么选择这个岗位4.自动化测试怎么做的5.get和post区别(为什么post两次tcp链接,get一次)6.浏览器输入网址运行过程7.接口测试如何定位bug(错误码)8.mysql慢查询9.java线程处理10.浏览器开多个窗口是多线程还是多进程11.进程和线程区别12.登录页面怎么测13.反问
一笑而过2222:浏览器开多个窗口一般是多进程而非多线程。 多进程和多线程的主要区别在于:多进程中每个进程都有独立的内存空间,一个进程崩溃通常不会影响其他进程;而多线程是在一个进程内共享内存空间,一个线程出现问题可能会影响整个进程。 当浏览器打开多个窗口时,每个窗口通常都作为一个独立的进程运行。这样设计有很多好处,比如一个窗口出现问题(如崩溃、无响应等)不会影响其他窗口的正常运行。每个窗口的进程可以独立地管理自己的资源、处理用户交互和加载网页内容等。 而如果是多线程的话,多个窗口在同一个进程内共享资源,当一个窗口出现问题时,可能会导致整个浏览器进程出现问题,影响其他窗口的正常使用。 综上所述,浏览器开多个窗口通常是多进程。
点赞 评论 收藏
分享
57 374 评论
分享
牛客网
牛客企业服务