可能有的面试比较水,不要笑我XD
字节跳动 (多媒体开发)
- 一面
- 自我介绍
- 项目经历
- 两个链表交点
- 多进程多线程
- ipc方式
- c++的基础知识
- 动态绑定
- static的用法
- 四种cast
- shell中一个正在运行的程序,ctrl+c终止程序是依赖于什么。还有哪些信号量
-
- 知道直播有哪些协议吗
- 有没有读过开源项目的源码
- 二面
- 自我介绍
- 项目经历
- 连续最大子数组的和
- ipc方式
- c++一些基础知识
- 虚函数
- 构造函数可不可以为虚函数,为什么
- 析构函数可不可以为虚函数,为什么
- 保持长连接的常用方法
- 对安卓了解吗
- rtsp协议的底层看过吗
- 三面
- 自我介绍
- 讨论项目
- 实习经历
- 面试官介绍他们部门的东西
- 一些HR会问的问题
- 自我的优点
- 你觉得你老板怎么评价你
- 你做过最硬核的事情
- 秋招之后有什么规划没有
百度 (c++/php)
- 一面
- c++
- 虚函数
- 多态的几种实现
- 智能指针
- 左值右值
- 网络
- 平时用过什么网络库
- 操作系统
- 进程和线程
- 编程题
- 给定三个字符串str1和str2,以及str3,判断str3是否由str1和str2交替组成 动态规划
- 编写一个双向循环链表类,写出插入和删除函数
- 介绍一下实习经历和项目
- 问了一下我频繁跳槽的原因
- 搞过分布式和机器学习没有
- 有没有什么想问我的
- 反馈一下写代码的网站体验极差,写代码都有重影
- 贵部门是搞分布式和机器学习的吗
- 头条也做大搜,你怎么看
- c++
- 二面
- 锤了一下实习经历,提了一些比较尖锐的问题,确实也是我没怎么相过的问题
- 锤了一下基本语法
- map的swap
- 有哪几种锁
- 自旋锁和普通的互斥器有什么区别,哪个可能会陷入内核态
- yield
- 协程
- 有一个hash表,三个读者,一个写者,设计一下数据结构
- 三面
- 给定两个整形数组A和B,数组A中元素互不相同,数组B中元素互不相同,求A和B中相同元素,以及时空复杂度
- 给定两个字符串数组A和B,数组A中元素互不相同,数组B中元素互不相同,求A和B中相同元素,以及时空复杂度
- 同样,给定整形数组A,但是B是流式输入,怎么处理
- 数组a换成大文件,怎么处理
- 内存有限,给定两大文件A和B,大文件中存放若干url,求文件A和B中相同url
- 给定200G整形数据文件,现在将其随机分散在100台内存4GB的机器上,设每台机器上分到2G数据,将100台机器编号从1到100。现在需要对这些机器上的数据做排序,使得机器1上的数据小于机器2上的数据,机器2上数据小于机器3上数据,依次类推
- 四面
- 自我介绍
- 聊腾讯的项目和商汤的项目
- 场景题
- A集群100台机器会产生日志,B集群10台机器处理日志,设计一个系统,用于将A集群的日志传输到B集群去处理
依图 (服务端方向)
-
一面
- 问了实习经历和项目经历
- 算法题
- 数组A,长度N-1,其中元素各不相同,且范围在[0,N),求缺少的那个数字
- 数组A,长度N-2,其中元素各不相同,且范围在[0,N),求缺少的那两个数字
- vector的扩容方式
- vector连续push_back n个元素,求元素发生了多少次拷贝
-
二面
-
给定两个 stack (pop/push),实现一个queue (enqueue/dequeue)
-
1
2
3
4
5
6
7
8
9
给定一张任务表,计算执行任务表所需要的最小人数。
任务表分三列,分别是起始时间、结束时间和所需人数。
任务表举例:
<
9
:
00
,
9
:
45
,
1
>
<
9
:
30
,
10
:
00
,
2
>
<
10
:
10
,
10
:
50
,
1
> -> <
9
:
50
,
10
:
50
,
1
>
<
11
:
00
,
11
:
30
,
2
>
-
-
三面
- 截断有序数组,查找某个数
网易互娱(游戏研发)
- 一面
- TCP为什么三次,二次会有什么问题,三次会不会有相同的问题
- 如何判断一个有向无环图
- 编译期间发生了哪些事情
- 预编译干了哪些事情
- c++17的新特性
- 以及一大堆碎碎的密集的面经题hongz
- 二面
- 如何实现一个http server
- 100M的key(int), context(string)存在磁盘上,只用10M内存,做
- 高效查询
- 热点数据
- 写一个LRUCache类,实现Get,Set, Remove
- 写一个定时器管理类,实现AddTimer,CancelTimer
- 字符串寻找子字符串的个数,比如90125749027中寻找9027有多少个
- 用两个栈实现最大栈Pop,Push和GetMax方法 ( MAX_MIN)
阿里 (c++方向)
- 一面
- 自我介绍
- 在腾讯做的项目
- c++
- 指针和引用
- 多态和虚函数
- 进程与线程,线程没有共享的部分
- ipc通信
- sleep和wait区别
- core_dump的产生原因
- vector底层实现
- map和unordered_map
- 多核编程
- 有哪些互斥器
- 死锁的产生
- 什么时候用多线程?什么时候用多进程
- 数据库
- 索引
- b+树
- 编程题
- 模拟LRU过程
- LRUCache
- capacity()
- get(key)
- put(key, value)
- clear()
- LRUCache
- 模拟LRU过程
- 网络
- 三次握手四次挥手
- 长连接短连接
- 大量time_wait
- nginx负载策略
- 二面(挂)
- 聊实验室项目,聊未来想做的方向,聊实习项目,聊你觉得最nb的项目
- c++
- 四种cast
- 多继承
- pthread
- vector和list区别
- 构造函数中可不可以抛出异常,析构函数中可不可以抛出异常
- 多核编程
- 死锁产生原因
- 多线程死锁怎么解决
- 单线程、死锁怎么解决
- 算法题
- 排序二叉树,给定两个节点,查找最近公共祖先节点
- 链表倒数第k个节点(遍历一次)
- 对字符串数组进行分类,由相同元素组成字符串为一类
1
2
3
4
// 实现一个函数 能够对输入的字符串数组进行按含有同样的字符进行分类
// 举个例子,输入:``["eat","tea","tan","ate","nat","bat","batt"]``,
// 输出:``[["ate","eat","tea"],["nat","tan"],["bat", "batt"]]``
// 相同的字符只算一次比如 aate 和 ate不是一类 aate 和 teaa是一类
拼多多 (服务端方向)
- 一面
- 数据库索引优化
- hash表的实现,几种解决碰撞的方法
- 整形数组中连续最大字串和
- 求出一个数组超过一半的数字
- 求出一个数组超过1/3的数字
- 和一堆乱七八糟的问题
- 二面
- 介绍项目
- 讲下https
- 链表的插入排序
网易有道 (C++方向)
- 一面
- 实习经历和相关提问
- 算法题
- 求二叉树中两节点之间的最长距离
- 给定一个vector<int>,里面是1-9的整数,求字典序中的下一个排列。比如14532,下一个排列是15234</int>
- c++
- c++的编译过程
- 静态和动态库
- static的作用
- static修饰类方法,哪些变量可以访问,哪些变量不可以访问
- static的初始化是在类外还算类内
- static可以是虚函数吗
- 还有哪些函数不可以是虚函数
- stl你说一个你比较熟悉的数据结构吧
- 多线程
- 消费者生产者队列
- 对整个队列加锁吗,怎么优化
- 嵌入式
- 嵌入式malloc有遇到过什么问题吗
- malloc和new什么区别
- 二面
- 小易在维护数据的时候遇到一个需求,具体来说小易有一系列数据,这些数据构成一个长度为n的数字序列,接下来小易会在这个序列上进行q次操作。每次操作有一个查询的数字x,小易需要将序列数据中所有大于等于K的数字都减一,并输出本次操作中多少个数字被减一了。小易犯了难,希望你能帮帮他。(这一题我直接暴力做超时了,然后打表还是超时了,然后就GG了)
- 输入描述
1
2
第一行n, q,表示数字个数和操作个数。
接下来一行n个数表示初始的数字,接下来q行,每行一个数,表示要查询的数。
- 输出描述
1
每次操作输出按行输出
华为(软件开发)
因为做过华为的软件挑战比赛,所以有张绿卡,可以直接终面。终面就是聊人生,所以没有什么面经