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

8.12 百度运维部共三面(offer

1.自我介绍

2.聊项目

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

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

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

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

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

8.二叉树之字形打印

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

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

11.海量数据求中位数

12.hashhash冲突,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版本下需要改变ifdefmake的哪个命令。

3.聊一下static,主要分为CC++分别讲述了一下(文件作用域,内存分配,函数内部生命周期,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_localGG

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

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

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

二面 918日 现场面 40分钟

1.按照惯例自我介绍

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

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

4.拥塞避免的理解

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

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

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

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

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

三面 9.18 现场面 1小时

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

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

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

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

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

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

6.指针和引用的区别

7.newmalloc的区别

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

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

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

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

12.形参加const优点。

13.内存四区

14.vector的扩容原理

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

Hr面:问了一下家庭情况,职业规划,印象最深的事,最近遭受最大的失败,手里offer情况等等。

腾讯霸面 9.21上海

自我介绍

三个项目挨个问,画流程框图

手写一个完整的epoll模型

会用哪些数据库

实现一个函数,一个float数组,利用数组首元素除以后面的每一个,返回结果

听说你拿了**offer,是什么部门

总结:这个霸面机会来的太不容易,过程很曲折,等到晚上8点半才面的,最后面试官说明天应该会有二面,但是结果还是挂我了。



由于本人水平有限,拿到百度已经很知足啦,美团之后就基本结束秋招了
最后总结一下学习路线:


背景交代:本人属于双985守门学校,双非CS,完全自学,大四找工作机试连VS工程都不会创建,研究生期间研究方向主要是嵌入式和matlab,本科学了点C++,幸好研究生跟着大神师兄(Damon)利用空闲时间学了点C++

看过的资料主要包括以下一些:

传智播客视频:(C++基础,C++进阶,CC++数据结构,六天带你玩转MySQLlinux服务器开发三-网络编程,Unix编程)

书籍:C++ primereffective C++STL源码剖析,现代操作系统,程序员代码面试指南,linux多线程服务端编程,tcpip详解1mysql技术内幕:innodb存储引擎,高性能mysqlUnix环境高级编程,算法导论(这个啃不动,看了不到三分之一),深度探索C++对象模型,C++11新特性解析与应用(看了一点),鸟哥的私房菜,linux网络编程

Github:找了tinystl, tiny http,看完重写了一遍,受益很大,看了larbin源码,muduo源码,基于这两个实现了两个小项目。另外libevent看了一点。

博客:陈硕,陈皓,廖雪峰,陶辉。博客里面有一些工具,比如GDBMakefilegit的使用很详细。

刷题:这部分本人比较渣,导致秋招笔试大厂没过几个笔试。目前完成的有:牛客上C++选择填空专题1000多道,剑指offer66leetcode40多道,程序员代码面试指南刷了一多半,算法是软肋,希望后续加强!

目前在学分布式,有懂这块的大佬可以私信我,带带我入门(目前在看Google三宝,raft,paxos, zookeeper,rpc

#百度##美团#
全部评论
同在学分布式这块内容
点赞 回复
分享
发布于 2017-10-20 12:41
大佬牛逼!
点赞 回复
分享
发布于 2017-10-20 13:56
百信银行
校招火热招聘中
官网直投
楼主写的很好,顺便写一份答案吧
点赞 回复
分享
发布于 2017-10-20 15:02
大佬,收下我的膝盖!!!
点赞 回复
分享
发布于 2017-10-20 16:52
达神,又名DD、mit卡王、offer收割者
点赞 回复
分享
发布于 2017-10-20 20:18
手写一个完整的epoll模型。。。。。啥意思  是要调用那三个函数还是说要自己写一遍epoll的源码。。
点赞 回复
分享
发布于 2018-05-03 17:55

相关推荐

19 127 评论
分享
牛客网
牛客企业服务