2020今日头条面试真题及答案整理&最新最全&持续更新中~~~~

tlsmile 2020-05-20

大家好,我是好好学习天天编程的天天
一个整天在互联网上爬虫的程序员,每天给大家分享学习干货的攻城狮

如果你关注腾讯面试题,请参考:
腾讯C++面试题【合集】来啦~持续更新中


下面是今日头条(字节跳动)2020年面试真题整理,持续更新,敬请关注!

一面-2020/03/29 -牛客网

  1. 进程和线程、上下文切换了什么、共享了什么
  2. 线程独占什么、切换时候内核做了什么
  3. 七层模型、协议有哪些、arp、rarp
  4. 为什么要有ip和mac、mac地址是如何来的
  5. C++多态、继承、重载
  6. Map的种类
  7. 数据库语句!!!count(*)、count(1)、count(字段)
  8. group by、order by、distinct
  9. 一条sql语句,数据库做了什么?
  10. 缺页了怎么办,物理内存如何分配的
  11. 虚拟内存和物理内存,为什么
  12. B+树和红黑树
  13. 红黑树和一般的平衡二叉树,增、删、改、查的过程和效率、时间复杂度
  14. 有序数组,找出和为k的数对

如果你有不会的面试题,这里会有面试题讲解的视频
干货 | 名企高频考点-C++ vector基本使用

每天的视频我都会汇总到一起:
IT笔试面试真题讲解合集

二面-2020/03/29-牛客网

  1. 数据库组合索引,最左前缀,为什么
  2. 数据库事务特性
  3. 隔离机制有哪些,分别避免了什么
  4. http1.x的新特性
  5. 长连接和短连接,什么时候会出现
  6. 长连接是如何维持的,心跳机制,如果一直想要连接着怎么办
  7. 输入一个url发生了什么
  8. 二叉树各层节点数,递归、非递归,时间、空间复杂度
  9. 静态多态和动态多态
  10. 重载和覆盖
  11. 聚簇索引和非聚簇索引,实现区别,索引存在哪里了
  12. 主键索引存放
  13. 死锁是什么,死锁发生了怎么办
  14. 什么叫字节流,什么叫数据报

一面-2020/03/29-牛客网

  1. 进程和线程、上下文切换了什么、共享了什么
  2. ? 线程独占什么、切换时候内核做了什么
  3. 七层模型、协议有哪些、arp、rarp
  4. 为什么要有ip和mac、mac地址是如何来的
  5. C++多态、继承、重载
  6. Map的种类
  7. 数据库语句!!!count(*)、count(1)、count(字段)
  8. group by、order by、distinct
  9. 一条sql语句,数据库做了什么?
  10. 缺页了怎么办,物理内存如何分配的
  11. 虚拟内存和物理内存,为什么
  12. B+树和红黑树
  13. 红黑树和一般的平衡二叉树,增、删、改、查的过程和效率、时间复杂度
  14. 有序数组,找出和为k的数对

二面-2020/03/29-牛客网

1.数据库组合索引,最左前缀,为什么

2.数据库事务特性

3.隔离机制有哪些,分别避免了什么

4.http1.x的新特性

5.长连接和短连接,什么时候会出现

6.长连接是如何维持的,心跳机制,如果一直想要连接着怎么办

7.输入一个url发生了什么

8.二叉树各层节点数,递归、非递归,时间、空间复杂度

9.静态多态和动态多态

10.重载和覆盖

11.聚簇索引和非聚簇索引,实现区别,索引存在哪里了

12.主键索引存放

13.死锁是什么,死锁发生了怎么办

14.什么叫字节流,什么叫数据报

一面-2020/03/09-牛客网

  1. unordered_map和map区别

  2. STL,vector,list

  3. C++多态,虚函数机制

  4. 进程通信

  5. 进程线程差异

  6. TCP三次握手四次挥手细节

  7. 算法题:最长不重复字串(HashTable,O(N))

  8. 面试官人非常好,有一些遗漏的知识点会给你指出来并且讲解,也很耐心。

二面-2020/03/15-牛客网

  1. C++多态(看程序说结果,比较复杂,考了有关虚函数表,还考察了override和overwrite,虚函数内部调用非虚函数是调用指针类还是对象类)

  2. 二叉搜索树

  3. B树b+树

  4. 红黑树删除算法

  5. 用互斥锁实现读写锁,写者优先

  6. 算法题:有100个方格,每个上面有毒蘑菇和体力蘑菇,毒蘑菇减体力体力蘑菇加体力,当前体力是能跳到的最远距离,求是否能跳到最远方格,如果可以,求落在第100格上的最大剩余体力

三面-2020/03/17-牛客网

  1. 服务方法调用

  2. RMI/RPC

  3. 序列化/反序列化

  4. 10亿找Top10000,需要考虑分片,如果用最小堆需要考虑高效合并

  5. 要考虑等待时间且带有优先权的打印机,设计数据结构使打印任务高效

  6. 二十四点牌

  7. 在三面开始的时候面试官问了能够实习的时间和想要实习的地点,猜测可能是leader直接面试(最后也正好去了这个面试官在的城市),人很和善,不过问题都不是我准备过的基础题型,碰到的时候还是有一点束手无策。

  8. 其实准备字节跳动的面试还是需要着重准备基础部分(数据结构、算法、操作系统、计算机网络),另外对做算法题的要求很高,如果在看到题目的时候能直接给出这个题目的最优时空复杂度解法,面试官对你的评价会很高。如果基础知识比较扎实了,可以看看网络上的面试经验,找找自己不会的知识点,查漏补缺。

一面-2020/03/24-牛客网

  1. 首先自我介绍
  2. 开篇直接做题,时间戳转换成日月日时分秒~继续讨论其余的情况。。(此时面试官突然说,算了,不问了吧,再问下去感觉你都快崩溃了)
  3. 讨论实验室项目

二面-2020/03/24-牛客网

  1. 自我介绍
  2. 问了一些个人情况,如为啥选后台,什么时候能实习,一周能工作几天,base选的哪
  3. 因为做过一些后台项目使用java语言开发的所以就问的我java,,,抽象类与接口的区别
  4. 一些c++的基础问题,讲一下const,指针与引用,new与malloc,内联函数,如何防止内存泄露等问题
  5. 一些操作系统的问题,讲一下进程、线程、协程,锁机制,信号量,开锁时如何通知其他线程等问题
  6. 编程题,判断一棵树是否为二叉搜索树,首先用递归判断实现的,后来有问不递归怎么实现(判断每一个点的中序后继节点是否大于该点),如何空间复杂度O(1),讲了一下morris遍历的原理

三面-2020/03/24-牛客网

  1. 自我介绍
  2. 什么时候能来实习,下半年能不能也来,base是哪(感觉是照例问的都是)
  3. 简单的介绍了一下项目,使用的技术框架,自己的职责
  4. spring的iop,aop(楼主是cpp选手,有java的项目,但对原理这一块不太了解,所以就简单的说一下自己的理解,面试官也没有继续深问)
  5. http请求的全过程,顺带着问了http报文格式
  6. cpp中的struct内存大小问题,注意空struct的sizeof为1,和字节对齐
  7. 权力反转,问了一下部门的工作内容,实习转正率

一面-2020/02/06-牛客网

  1. 自我介绍和项目延伸

  2. 讲了寄存器/cache优化的项目(我的项目经历来自学校课程实验,太简单不提了,但是再简单的项目也可以“加加戏”包装一下,提前准备一些可拓展说的知识点)

  3. 顺着项目问:如果要做一个栈,用数组的结构还是链表?(提示)数组和链表哪一个遍历的效率高?(解答:数组。考虑cache缓存,所以是一组一组读进去的,而链表肯定是一个一个读的)

  4. cache和内存关系?

  5. 循环展开知道吗?

  6. weak_ptr了解吗(我讲了解决shared_ptr的循环引用问题,面试官就没再问了,应该算押到考点...

  7. move语义?(讲了移动构造函数的原理)
    volatile?
    template了解吗

  8. 元编程(meta programming) 了解吗

  9. 原子操作?

  10. 回答了大概概念(要么执行完,要么什么都不做),接着问 ”它可以用来解决什么问题?“

  11. TCP和UDP区别,UDP使用场景

  12. 算法:

    [1 2 3 4 5 6] 排列成[1 3 5 2 4 6] (奇数排右边,偶数排左边,不考虑顺序)(剑指offer原题)我先用了冒泡,然后面试官问了时间复杂度(O(n2)),想了一会后改成O(n)

  13. 股票问题 ([1 3 5 7 2 3 ]是每日股票价格,买一次卖一次,问如何使得收益最大,即求最大差)

二面-2020/02/28-牛客网

  1. 自我介绍
  2. 算法:多个有序数组排序 vector<int> fun( vector<vector<int> > )

  3. 先用了priority_queue + int [], 面试官同意想法后开始写,但是后来发现复杂度太高,改成map+int[]。

三面-2020/02/28-牛客网

  1. 自我介绍
  2. 实现一下 memcpy() [要点:地址重叠]

  3. 对void*你了解什么?
  4. int a[10000000]会有什么问题?
  5. 如果想让一个函数在main函数之前执行,该怎么做?

一面 -2020/03/28-牛客网

  1. protobuf向后兼容怎么做的。
  2. C++里面虚函数怎么实现的。
  3. 智能指针。
  4. C++单例模式实现
  5. 别的不记得了,但算法题还是记得的,删除倒数第k个节点并返回头指针,leetcode接雨水。

二面 -2020/03/28-牛客网

  1. 这个上来就是做题,做的是头条去年的笔试题好像,搜字节跳动笔试,扑克移动就能搜到了。
  2. 然后是100只老虎,一只羊,羊最后会不会被吃的问题,只答对了关键的一小部分。
  3. 内核创建进程时会自动打开哪几个文件。

一面-2020/03/25-牛客网

  1. 上来都没有自我介绍,直接写代码
  2. 实现一个类,该类在一个局部作用域中修改外层作用域的值,当局域作用域结束的时候,恢复外层作用域原来的值(析构函数和泛型编程)
  3. 给你n,k求一个数x使得x的n次方等于k,x保留五位有效数字(二分)
  4. 多个区间,问区间的最大重叠数量
  5. 一个整数数组,求区间min乘以区间sum的最大值(前缀和+单调栈)
  6. 对C++的泛型了解吗,底层如何实现?
  7. 进程间通信的最快方式?
  8. 使用共享内存通信有什么缺点?
  9. 有什么想问我的?

二面-2020/03/25-牛客网

  1. socket编程服务端和客户端调用函数的流程
  2. accepted函数的参数和返回值分别是什么
  3. C++的打开文件函数freopen和系统调用的open函数关系和区别
  4. TCP的拥塞控制
  5. 网络中的丢包原因
  6. 现场写了一个多态,问各种情况的运行情况,内存对象模型,问的比较底层
  7. 一个整数数组,两个人一次分别从左边或者右边拿走一个数,两个人足够聪明,求第一个人拿到数的最大和

一面-2020/03/23-牛客网

  1. leetcode 152
  2. leetcode 853

二面-2020/03/23-牛客网

  1. 先二分出k的位子,然后这个位子开始二分左边有x个,那么右边就有k-x个,根据这个情形是否是我们需要的答案就可以判断了。
  2. 栈+dfs+时间戳标记
  3. 裸的ac自动机

如果有不会的面试题,请参考:
干货 | 名企高频考点-C++ vector基本使用
每天的视频我都会汇总到一起:
IT笔试面试真题讲解合集

相关推荐