百度/网易/拼多多/新浪/美团 部分面经(C++方向)

百度搜索推荐部门

百度一面面经
C++基础 static virturl inline vector set map list 模板 构造函数有哪些 引用 指针 智能指针等
Linux 进程线程、看进程、剩余空间 用过什么调试方法 core错误
python 字符串分割,写代码(我不会,跳过了,不该写了解python)
算法 反转链表 前序遍历 跳台阶 单例模式
计算机网络 TCP
百度二面
编程题
二进制加法,输入输出均为string
背包问题,容量K,N个物品,对于第i个物品,weight[i],value[i],求最大价值
linux内存管理,怎么找到文本中的几行
堆,怎么构建调整等
topK问题,10亿取最大的10个
学习能力怎么样,用过什么算法,看什么书,机器学习和hardoop方面懂吗
三面很忙的样子,鸽了我几次,技术方面问的不多,有道场景题,有份很大的黑名单,对邮件过滤

拼多多

一面 项目和c++问的挺久的
linux read想读50个字节,读到20就返回了,可能是什么原因,加载磁盘文件的过程,中断,accept,select epoll, 一些linux命令,
代码 实现字符串添加操作(底层实现自己的string,用数组),最长公共子序列
反问(搜索大部门,在线c++多,离线java多,还用到机器学习等,地点上海)

网易雷火

雷火游戏研发工程师(客户端引擎方向)一面,投递的方向不对,他们是搞渲染的
雷火二面 很多矩形(大小位置方向不定,可以预处理),判断点在哪个矩形
求镜面反射的向量,点积和向量表示
游戏寻路如何避开泥泞的路
ctrl+z撤销,ctrl+y还原,定义怎样的数据结构去实现

网易杭州研究院

一面
怎么通过kill命令打印进程当前的调用栈?代码要做哪些改动?
signal
coredump文件怎么产生?需要修改什么配置?存放位置是?怎么调试?
docker
RestFul
Linux bridge
VLAN、vxlan
iptables
如果你有一台Linux pc通过一台带路由功能的交换机上联到学校的核心交换机之后连接外网(不考虑拨号或认证问题),当它无法连接外网时,该怎么分析是哪里的问题?

求f(1)
int f(int n)
{
static int i=1;
if(n>=5) return n;
n=n+i;
i++;
return f(n);
}
面试和课程外看的技术书籍
c++ new malloc delete free 指针和引用,static,inline, vector和数组,++前面后面的区别,x=y=z=1, x=++y||z++,后,xyz的值(x=1,y=2,z=1)
linux 递归创建目录,查看进程网络,系统盘满了进程会怎样,看io状态,磁盘负载
计网 dns,路由和桥接,tcp可靠性,拥塞,乱序到达时的确认号

二面
最长的可整合子数组的长度
限定语言:C、Python、C++、Javascript、Python 3、Java、Go
先给出可整合数组的定义:如果一个数组在排序之后,每相邻两个数的差的绝对值都为1,或者该数组长度为1,则该数组为可整合数组。例如,[5, 3, 4, 6, 2]排序后为[2, 3, 4, 5, 6],符合每相邻两个数差的绝对值都为1,所以这个数组为可整合数组
给定一个数组arr, 请返回其中最大可整合子数组的长度。例如,[5, 5, 3, 2, 6, 4, 3]的最大可整合子数组为[5, 3, 2, 6, 4],所以请返回5
[要求]
时间复杂度为O(n^2)O(n2),空间复杂度为O(n)O(n)
示例1
输入
[5,5,3,2,6,4,3]
输出
5


新浪微博

一面
TCP建立连接断开连接、socket api、select epoll、水平触发边沿触发、c++11特性
## 请在下方描述你的面试题内容( 支持Markdown )
1. 64位操作系统char *p = "123",sizeof(p) =  8 strlen(p) =  3 sizeof(*p) = 1

2. 说明含义
(1)int*ptr;
(2)char*ptr;
(3)int**ptr;
(4)int *p[3];
(5)int(*ptr)[3];
(6)int*(*ptr)[4];
A a[4], b,*p;  构造几次
struct Test_B
{
char a;
int c;
char b;
};字节对齐
5. 手写一个bitmap/memcpy/shared_ptr智能指针
6. 二叉树后序遍历

二面

详细的问了项目,然后写了个图的dfs

美团到店事业群后台

记录下没答好的
内存泄漏和内存溢出
vim 全部替换、部分替换
前序中序后序,的实际应用
数据库一致性、锁
实现转账充值提现,需要考虑哪些点
5和3的桶,装4升水
三个点落在一个半圆上的概率

编程题(面试官说太难了,换了好几次题,实际写的是最后一个)
生产口罩:

牛妹是一家口罩厂家的老板,由于现在疫情严重,牛妹想重新分配每条生产线上的人数来使得能生产的口罩最多。
牛妹所在的公司一共有mm名员工,nn条生产线(0.....n-1),每条生产线有strategy[i].size种人数安排策略。例如:33个人在aa生产线上,aa生产线每天生产88个口罩;55个人在aa生产线上,每天aa生产线能生产1515个口罩。
牛妹想知道通过合理的策略安排最多每天能生产多少口罩?(可以不用将所有员工都分配上岗,生产线可以选择闲置)

输入:
给定n,mn,m,strategystrategy数组
1 \leq n,m \leq 2*10^{3}1≤n,m≤2∗10
3

strategy[i].size \ge 1 , \sum_{i=0}^{n-1}strategy[i].size \leq 3000strategy[i].size≥1,∑
i=0
n−1

strategy[i].size≤3000

1 \leq strategy[i][j].x \leq 2000,1 \leq strategy[i][j].y \leq 30001≤strategy[i][j].x≤2000,1≤strategy[i][j].y≤3000
strategy[i][j].x表示人数,strategy[i][j].y表示能生产的口罩数
输出:
返回每天最大的口罩生产数量

示例1
输入
3,5,[[(1,3),(2,4)],[(3,4),(4,4)],[(8,8)]]
输出
8
说明
样例解释: 11号生产线采用策略22,22号生产线采用策略11,33号生产线不生产

可见的山峰对数量
一个不含有负数的数组可以代表一圈环形山,每个位置的值代表山的高度。比如,{3,1,2,4,5},{4,5,3,1,2}或{1,2,4,5,3}都代表同样结构的环形山。3->1->2->4->5->3 方向叫作 next 方向(逆时针),3->5->4->2->1->3 方向叫作 last 方向(顺时针)。
山峰 A 和 山峰 B 能够相互看见的条件为:
1. 如果 A 和 B 是同一座山,认为不能相互看见。
2. 如果 A 和 B 是不同的山,并且在环中相邻,认为可以相互看见。
3. 如果 A 和 B 是不同的山,并且在环中不相邻,假设两座山高度的最小值为 min。如果 A 通过 next 方向到 B 的途中没有高度比 min 大的山峰,或者 A 通过 last 方向到 B 的途中没有高度比 min 大的山峰,认为 A 和 B 可以相互看见。
问题如下:
给定一个不含有负数且没有重复值的数组 arr,请问有多少对山峰能够相互看见?
输入描述
第一行一个整数 T,表示测试数据的组数。

每组数据的第一行有三个数字 n, p, m,其中 n 表示 山峰的数量,

山峰的高度数组等于 1 - p 的 p! 个全排列按字典序排序后的第 m 个全排列的前 n 项。
输出描述
输出一行一个整数表示答案。
示例1
输入
1
5 5 2
输出
7
说明
1-5 的全排列排序后的第二个排列 为 1 2 3 5 4

一样的水
有n个水桶,第i个水桶里面水的体积为Ai,你可以用1秒时间向一个桶里添加1体积的水。
有q次询问,每次询问一个整数pi,你需要求出使其中pi个桶中水的体积相同所花费的最少时间。
对于一次询问如果有多种方案,则采用使最终pi个桶中水的体积最小的方案。

示例1
输入
4,3,[1,2,3,4],[2,2,4]
输出
[1,0,5]
说明
第一次:花费一秒变为 2 2 3 4

第二次:已经存在两个水的体积一样的桶

第三次:花费五秒从2 2 3 4变为4 4 4 4
翻转字符串
给定字符类型的数组chas,请在单词间做逆序调整。只要做到单词的顺序逆序即可,对空格的位置没有要求。
输入描述
输入一行只含字母和空格的字符串,代表chas(1 \leq length_{chas} \leq 10^5)(1≤length chas ≤10^5)。
输出描述
输出一行字符串,代表逆转顺序后的字符串。
示例1
输入
i am a student
输出
i ma a tneduts


#百度##网易##美团##拼多多##校招##C++工程师#
全部评论
攒人品,许愿offer
点赞
送花
回复 分享
发布于 2020-09-11 13:58
楼主打算去哪了😂😂面了好多呀
点赞
送花
回复 分享
发布于 2020-09-25 14:53
现代汽车中国前瞻数字研发中心
校招火热招聘中
官网直投

相关推荐

​1.javase其实差不多已经结尾了,后面就剩一章正则没学,数据库其实学的飞快,因为之前有基础,用navicat熟练过后学的也快,就是很多东西可能记不住,但是理解起来没什么问题,目前来看的话难点就在于mysql的变化多样性,查东西可以用的东西太多了,指令也就那样,主要是想不到,简单简单,复杂复杂看不懂2.六级单词2k+1k+核心在网易之前就过完了,现在用的不背单词过星火核心2k,差不多每天是背一百个左右,感觉还是比较轻松的,跟课目前来说没什么难度,写作和翻译就是经验少,很多东西知道但是自己组织不出来 阅读应该也要开始了 听力坚持每天听3.算法目前有点放松,慢慢的,因为确实没多少时间,英语 ,毕设项目 还有自己跟老韩的课,时间目前对我来说有点赶,等这学期忙完,后面可以有大把的时间,要是真的学的可以还可以参加下周赛啥的这个星期其实过得很平淡,没什么我特别能记住的事儿,比起之前来说的话 可能有点开心的事儿就是到时候交的项目敲定了 3-4k行的样子 或者感情方面比之前稳定了另外就是我觉得超级超级倒霉的事情就是这个星期打球我急停疯狂打铁 简直无语了  不行 心情不好了先写到这不写了过了5个小时了已经 想加的一点就是我自己的一些理解 我觉得人就是一种受情绪支配的动物,而且是那种成长型的,一直以来都过得太平淡,当逐渐长大过后很多事情开始转变,自己对待问题得处理方式像以前一样的话就会显得幼稚不成熟,然后一直摔跟头,接着就是慢慢的总结去渐渐成长,我觉得这是一个过程,可能是因为我还太小,经历的太少,所以说我自己还不够好,然后我就能够想通为什么我自己身上有很多缺点 又回到为什么我觉得人受情绪支配呢,因为在我自己身上我能清楚得感受到因为情绪变化而对处理事情方式发生的改变说的有点复杂,但是确实是这样,这就是从我自己身上慢慢总结发现出来的,但是我觉得这也是我在成长过程中必然会意识到的事情,毕竟螺旋上升的过程不是头晕就是呕吐 真理总是需要去不断追寻的最近迷上一首歌就是杨坤和张碧晨现场版的在加纳共和国离婚 超级好听的 最喜欢的一句话就是在第二个图自己去看哈哈哈哈哈over #26届找工作求助阵地# #打卡# #26届实习#
点赞 评论 收藏
分享
5 36 评论
分享
牛客网
牛客企业服务