求职刷题神器

funit.cn

讨论区 > 求职面经 > 腾讯人工智能面经

腾讯人工智能面经

末日狂欢
发布于2020-12-18 15:46:01 182浏览

基本情况


我本科和硕士都在清华计算机系,研究生期间研究方向是AI相关,由于对研究方向失去兴趣决定转开发。暑假在某跳动实习,秋招主要投了基础架构方向。

下面是面试时印象比较深刻的问题,做了大致的分类和整理,有不对的地方也欢迎大家指出讨论,希望能给大家带来收获。


数据结构与算法


1.链表分组翻转(注:leetcode)

2. 矩阵的最大子矩阵和(注:leetcode,子矩阵占据的行的情况有n(n-1)/2种,遍历之后用前缀和) 

3. 求一个数的平方根(注:leetcode,石头多次强调,可参考《从一道面试题谈谈一线大厂码农应该具备的基本能力》 ) 

4. 实现nth_element(注:类似于快排,可参考 《STL 源码剖析》)


语言与程序


1.C++的 lambda 表达式是怎么实现的?有什么缺陷和坑?(注:函数对象,悬挂指针和引用)

2.介绍一种GC的方法。(注:例如 Go的三色标记,常见的还有 Java 的) 

3.怎样设计一个内存池和内存分配器。malloc 如何申请大内存和小内存。(注:使用大的内存块,根据申请的内存的大小分桶,brk,mmap,之前石头在面试 MS 的时候也遇到过这个题目) 

4.介绍程序运行时的内存布局。动态链接库是怎么加载的?动态链接库中的函数是怎样调用的?各种类型的变量是放在什么地方的?(注:.code, .data, .bss、 堆、动态链接库、栈,动态链接器,plt表,got表)


计算机网络


1.TCP的总体过程,time_wait的时间以及为什么。(注:三次握手、四次挥手、状态机、2MSL)

2.简述TCP/IP的每层有哪些协议。(注:TCP/UDP/IP/ICMP/ARP) 

3.全连接队列/半连接队列是什么?如何控制他们的大小。(注:通过内核参数和backlog) 

4.介绍一下IO多路复用。(注:select/poll/epoll, 红黑树, 数据传输量) 


操作系统/体系结构


1.简述物理内存管理(buddy system, slab),以及页表的实现方式。(注:四级页表)

2.CFS基本过程, 包括如何处理新线程和唤醒的线程. 调度的触发时机是什么?(注:时间记账,返回用户态或线程阻塞) 

3.文件从打开到读写的过程是什么样的?(注:名字解析, inode, fs, mount point, 文件描述符, buffer/cache) 

4.简述信号处理的基本过程。信号处理函数是如何被调用的,调用后如何返回内核。(注:sigmask, 返回用户态时, sigreturn) 


小结

最后,再次强调,机会总是留给有准备的人,就看你能不能把握住了。上面的题目,你能了解多少?不清楚的地方,正好抓住机会学习了解一下




本文首次发布于趣IT ,转载请注明出处,谢谢合作

腾讯人工智能面经

全部评论0

成为第一个评论的人

还可以上传7

表情
  • 快速扫码进群
    加入职友圈
下一步
知道了