B站后端开发岗社招二面至HR面面经

高手哪位知道,B站后端开发岗社招二面至HR面面经
最新回答
思檀郎

2025-03-02 00:13:23

二面:难度:★★☆☆☆

在一面通过后约10分钟后,我接到了二面预约电话,第二天进行了二面,形式为电话面试。面试官首先询问了个人问题,如如何入门计算机、本科期间的学习方式、喜欢阅读的书籍以及毕业后的第一份工作选择。之后,技术问题开始出现,主要围绕 MySQL。

面试中问及的MySQL相关技术问题包括:

1. 对于以下查询,准备如何构建索引和优化?SELECT * FROM table WHERE A = 1 AND B = 2 AND C >3 ORDER BY D LIMIT 10000。为了解决这个问题,建立包含ABDC的联合索引,利用最左匹配原则,同时考虑到>操作符。

2. 在JOIN查询中,两种方法有何区别?哪一种更高效?面试官询问了使用ON和WHERE进行JOIN操作的区别。我猜测ON可能更快,因为它在连接表时进行过滤,而WHERE在所有数据获取后进行筛选,这可能导致复杂度差异。

3. 针对返回1000万条数据的查询,如何实现高效读取?利用分页查询和子查询优化,具体如下:SELECT * FROM tableA WHERE id >= (SELECT id FROM articles WHERE col=A ORDER BY id LIMIT 10000000, 1) LIMIT 10。

4. 了解并使用过消息队列吗?解释其工作原理。我分享了使用Python的celery与redis处理异步任务的经验,celery是一个分布式消息队列框架,而redis作为broker。

5. 简述Golang GMP模型。GMP模型中的G代表一个Goroutine,M代表一个真实的系统线程,P是处理器,负责调度Goroutine到M上,P的数量由CPU核数决定。

6. Golang map的底层实现机制。

7. Redis为何速度快?Redis单线程操作,所有操作在内存中进行,使用简单数据结构,从而提高效率。

8. 在k8s中,pod与node之间的关系是什么?node支持多个pod,而pod是k8s的基本部署单元。

三面:HR面

HR面试主要涉及个人项目、挑战、薪资、绩效考核情况等。面试官询问了对我所在公司的项目、我面对的挑战、当前薪资水平、绩效评估机制的看法。最后,讨论了我是否喜爱B站,特别关注的内容,以及喜欢的Up主。

面试流程至此结束,希望分享的资料对大家有所帮助。感谢阅读,期待更多分享与互动。