腾讯开发面试
腾讯的开发面试流程通常包括以下几个环节:
项目细节
面试官会询问你在前一段工作经历中的核心业务,以及简历上写的每个关键词。你需要能够清晰地阐述设计和实现的好处,与其他技术的区别,以及系统底层的实现方法。
存储系统基础问题
面试官可能会问到关于内存TLB、存储和网络协议栈的问题,主要是如何优化和提升系统性能。这些问题通常与项目细节有关联。
数学思维题和编程题
面试题可能包括力扣原题,难度为中等到中等偏难,采用ACM模式。编程题可能涉及链表和二叉树等数据结构,需要自己编写测试用例,容易写bug。
专业知识和项目经历
面试官会重点关注专业知识和项目经历两部分。专业知识包括数据结构、操作系统、数据库、计算机网络等基础专业课程。项目经历则主要考察个人在校参与过的科研竞赛项目或网络上的开源项目。
跨部门交叉面
在一些事业群,面试流程可能包括多次本部门的面试(如mentor、leader、本部门交叉面)、一次面试委员会的面试(跨部门交叉面)和一次HR面试。
基础知识
面试官可能会问到一些基础知识,如C++的多态、虚函数、全局变量、线程安全等问题。这些问题旨在评估面试者的基本编程能力和对计算机科学基础知识的掌握程度。