字节跳动 - 日常实习 - 业务中台 - 二面
字节跳动 - 日常实习 - 业务中台 - 二面
时间线:12.6 一面 —— 12.10 收到二面通知 —— 12.14 下午五点二面 —— 12.16 上午收到感谢信,已挂
前言:二面应该是一个Leader,会参考一面的面评 进行提问,没有自我介绍,说一面项目问的差不多了, 考察一下其它基础知识。
-
Linux交互用的Shell,加上有一个应用程序想要获取Linux当前目录下的信息,能讲一下这个具体流程吗,会发生哪些问题?
-
发起系统调用后,用户态的应用程序会进入哪些状态呢?
-
应用进程在不同状态下,对应的CPU状态又是什么呢?
-
应用进程阻塞,哪内核通过什么机制通知用户态进程呢?如何找到被挂起的程序?如何唤醒它?
-
用户态的进程之间会用哪种IPC的方式呢?(面到这里,面试官看出来,我不太熟悉这个操作系统,他后面一步一步引导我)
-
先说说有哪些进程通信方式?
-
讲到进程的通信中的消息队列,问这个消息本质上的实现是一个什么样子?消息队列是一个什么样的东西?(面试官想让我借此扩展到 RabbitMQ)
-
回来刚才问题,内核回调是怎么做的?
-
书本上讲过死锁,你在你的项目中有思考处理过这个问题吗?
-
有哪些设计模式可以避免死锁?
-
有哪些灵活的治理手段可以应对下游的异常?
-
Nacos 中的15S 不健康,30S 摘除,总会有一段时间不确定服务节点的情况,极端情况下,刚报完心跳,服务节点挂了,这种情况如何保证上游的正常调用或处理呢?
-
如果服务不能调用,如何去处理呢?
-
如果是服务节点不稳定,比如调用超时或者不稳定,有什么机制可以避免调用这个服务节点?
-
有考虑限流和熔断的概览以及相关实现吗?
-
限流和熔断,分别用于那种场景呢?他们是解决同一个问题吗?
-
这个题面试官一步步引导我做出来的,先说思路,思路对了再开始编码 。
这里我在变量命名时犯了错,面试官问“为什么有这些命名规范?因为编译器的哪些原因?”
#字节跳动##面经##实习#