专栏名称: 牛客网
程序员必备求职神器,刷真题,练算法,看面经,得内推。点击查看: http://www.nowcoder.com/
目录
相关文章推荐
FT中文网  ·  “海拔1049”:阿尔卑斯山深处的艺术能量 ·  10 小时前  
安徽省发展改革委  ·  做好稳外资“加减法” ... ·  22 小时前  
新消费日报  ·  老铺黄金要调价了! ·  昨天  
中欧商业评论  ·  杭州为什么难以追赶? ·  2 天前  
51好读  ›  专栏  ›  牛客网

百度,美团,鼎信,涂鸦面经

牛客网  · 简书  ·  · 2018-02-26 12:37

正文

8.12 百度运维部共三面(offer)


1.自我介绍

2.聊项目

3.epoll和select的区别,epoll两种触发方式,踩过那些坑

4.讲讲reactor模式(结合muduo来回答)

5.OSI七层模型,每一层的作用是什么,tcp和udp的区别,tcp如何保证可靠性,三次握手和四次挥手过程

6.多线程和多进程的区别,进程间通信方式,无名管道和命名管道的区别,共享内存的实现方式,线程同步方式。进程和线程独有的是什么。

7.mysql数据库优化方式,工作原理

8.二叉树之字形打印

9.给定一个整型数组和一个数sum,在数组中找到两个数之和等于sum的所有数据对

10.求一个整型数组的最大连续和

11.海量数据求中位数

12.hash,hash冲突,rehash的增长方式,一致性哈希

13.快排有哪些优化(三数取中,重复放中,STL中的排序手段);数组TOPK,时间复杂度

14.epoll底层实现,项目中时间设置为多大,超时时间是否精确。红黑树的性质,元素插入和删除哪个更复杂

15.B+树和B树的区别,数据库索引用哪一种,为什么?

16.慢启动和拥塞避免

17.arp协议

18.TCP粘包问题,心跳机制

19.为什么要自己实现http服务器而不是借助现有的nginx

20.Linux命令find的使用

21.项目开发中印象最深的一件事

22.在项目开发过程中最受不了的是什么

23.对bat三个公司的看法

24.工作城市的看法

25.平常通过什么手段学习,看过那些开源项目

26.非CS专业,报这个岗位是因为技能符合,项目符合还是其它原因

一共三面+笔试,前两面纯技术,第三面部门经理面,技术人生一半一半,笔试不算难。


8.28 涂鸦移动(offer)


1.八大排序算法挨个过了一遍(复杂度,实现过程,优化)

2. 给定一个整型数组和一个数sum,在数组中找到两个数之和等于sum的所有数据对,如果给定的数组是排序的有什么优化方法

3. 判断链表有环及入环地址

一共两面,一直在问数据结构算法,其他的一点没问,还有一些题记不清了,工资略低。


9.5 多益网络(面试挂)


1.1分钟自我介绍

2.指针和引用的区别,引用需要释放内存吗

3.栈溢出

4.知道哪些跨平台技术

5.同步和异步的理解

6.百度地图,高德地图实时路况是怎么形成的

7.5分钟内完成代码:字符串中对于连续的空格只保留1个

8.IQ测试是正常情况下完成的吗(估计是太差了,当时想不起来了什么情况下做的,就说了正常)

9.对于互联网加班的看法?

10.目前找工作情况。

感觉有点草率,一共就1面,而且只面20分钟左右,技术问题很少。


9.7 鼎信C++(offer)

一面:

1.自我介绍

2.项目介绍

3.HTTP在第几层,长连接短连接?怎么保持状态的

4.TCP,UDP区别

5.mysql事务的性质,原子性举例,持久性是什么意思

6.智能指针的底层实现

7.虚函数的底层实现

8.生产者消费者模型

二面和Boss聊人生谈理想

工资给的较高,不过应该很累


美团点评(offer)

一面:9.10  44分钟(电话面)

1.因为我主要熟悉C++,面试官是受别人委托面我的,没有看过我的简历,说明情况后开始让我进行自我介绍(会不会草率了点….)

2.聊一下#define的特点,说了一下预处理进行替换及define的优缺点,当多处使用同一个值使用define进行一次替换就行,函数也可以做到一次替换,为什么用define不用函数,在debug版本下需要改变ifdef用make的哪个命令。

3.聊一下static,主要分为C和C++分别讲述了一下(文件作用域,内存分配,函数内部生命周期,C++中成员函数和成员变量,this指针,初始化位置等)

4.三次握手过程和相应状态,在可以ping通接收方的情况下接收大量的ACK是什么原因,TCP的超时定时器可以手动设置吗?

5,讲一下CS模型一般用到那几个函数,每个函数都有哪些参数设置,客户端和服务器的bind是否必须?

6.因为自己实现了一个http服务器,大概描述了一下项目,提到了epoll, 让讲一下epoll, 什么是多路IO复用,epoll的边沿触发和水平触发,用边沿触发一般会遇到什么问题,该怎么解决?

7.linux多线程和多进程的区别,调用fork后父子进程共享哪些资源,fork之后父进程修改的内容子进程也会改变吗? 子进程修改的值父进程也会改变吗?聊一下写时复制技术?Fork子进程时父进程一般需要做什么,如果不用wait进行回收会出现什么情况,init进程是自动回收孤儿进程吗?我在回答wait的时候说了一般fork之前用signal函数,在signal中调用wait或者waitpid,被问了除了信号还能使用什么手段,答了kill函数,但好像不是想要的答案。

8.pthread_exit会调用析构函数吗(这个不太了解)

9.进程IPC机制,共享内存中多进程是怎么做到多个进行对同一块内存的安全访问的。

10.线程局部变量需要注意什么,当时没有反应过来问的是thread_local,GG了

11.求一个整型数组的最大连续和,说了动态规划和转换方程,然后又问了还需要注意什么,说了下数组全负的情况及注意点。

12.linux命令介绍,说了一下自己用过的命令,被问了netstat怎么查看超时重传的(gg),然后聊了一下我在项目中如何使用tcpdump,又被问了tcpdump要和哪些工具结合使用。

13.shell编程,awk命令,讲了一些使用awk一般分为那几个部分(FS,begin,end,print),每个部分的格式。给我10行10列数据,都是以逗号分隔,其中第五列数据可能有重复的,统计第五列不同数据出现次数。说了一下大体思路,确实平常用的不太多。

二面 9月18日 现场面 40分钟

1.按照惯例自我介绍

2.三个项目挨个说一遍,每个项目的难点,技术细节都会过问

3.tcp和udp的区别,tcp如何保证其可靠性

4.拥塞避免的理解

5三次握手四次挥手全过程

6.epoll的底层实现,和select和poll的区别

7.tcp的最大报文段长度(隐约记得65535字节),ip分片过程,如何实现把一个报文不分片一次性传输

8.手写代码一个字符串char *p="key1=value1&key2=vaule2&key3=value3",将字符串的key和value以键值对存在map中

9.有什么问题想问的?主要问了下c++在公司的运用情况

三面 9.18 现场面 1小时

三面面试官一看就是个boss,问技术问题一直很严肃

1.撸代码,找出一个字符串中只出现一次的字符,返回下标

2.红黑树有哪些具体应用(答了map,epoll)

3.谈项目,因为用到了epoll,让讲一下epoll的原理,epoll,select,poll的区别

4.tcp四次挥手,拥塞避免

5.项目中用到了md5,sha1,讲了一下性质

6.指针和引用的区别

7.new和malloc的区别

8.mysql有哪些索引,原理及分别应用在哪些场景中,聚簇索引和非聚簇索引的原理

9.事务的四种隔离级别,每种隔离级别分别解决什么问题,默认是哪种,哪种最好,问什么?

10.百度搜索一个字符串,是怎么把以这个字符串为前缀的其它字符串找出来(说了一下字典树,然后让讲字典树的原理和实现过程)

11.美团app首次登陆需要发验证码,以后的访问不需要了,是怎么实现了(回答不知道,然后说猜一下,原理可能类似cookie和session,接着讲了一下这两者的原理,接着被问了如果采用cookie,别人抓取到了包是不是可以黑掉你的账户,应该采取什么措施,不清楚,但是balabala说了下自己的看法,session存在服务端的内存中,内存过大咋办,答采用内存,ssd,机械硬盘加上分布式)

12.形参加const优点。

13.内存四区

14.vector的扩容原理

15.好,技术问题到此结束,开始聊人生,家是哪里的?手里有哪些offer?别人怎么评价你的?平常喜欢一个人还是积极参加集体活动,因为拿到了某个公司的意向书,面试官作为过来人也给了一些自己的看法和建议,同时介绍了一下他们部门的大体情况。







请到「今天看啥」查看全文