秋招C++面经(篇幅很长,慎入)

百度三面面试官告诉我现在C++的人不好招了,我给他说现在的人大部分去搞了算法,研发的当然也不少,但是研发中java占了很大一部分,C++少的可怜。我其实搞C++都是被逼的,要不然我也去搞Java了。经理说其实算法的需求并没有比以前多,大家一窝蜂的挤上去不太好。秋招从七月初开始准备,看书,刷题、投简历,总共投出去60多份,覆盖主流大厂。投出去的20多天,一点消息都没有,一度怀疑自己。后来到了七月底 八月初迎来了面试高峰,总共面了十几场,拿到offer的有百度、京东、链家、一点资讯、vivo。楼主211渣硕,新浪水过实习,在一个小公司做了将近一年,简历也挂了很多,通过率1/6吧,废话不多说了,上干货吧。
阿里一面挂(25分钟,秋招第一面,挂的没脾气,确实自己菜)
  • http1.0 1.1 2.0区别
  • http重定向如何实现
  • 为什么需要IP地址?
  • loopback的底层优化,实际就是他可以不走网络,直接交付
  • 二个相同网络如何通信(如二个局域网,他们的IP都一样)
  • quic协议了解吗
  • http和html的区别
  • http连接如何区别 get不到问的点
腾讯omg(一面)
  • 项目
  • 手写快排
  • 链表倒数K个节点
  • socket建立过程
腾讯omg(二面挂
  • 项目
  • KMP算法
  • hash冲突怎么解决
  • 找nginx日志文件中503次数最多的IP
  • 自己经历和她们很不match,面试中就说了,然后就挂了。
百度智能云一面(一个小时,挂掉,写代码的题目没回答出来,gg)
  • 项目
  • 滑动窗口和流量控制区别
  • 回调函数作用
  • 点开网页发生了什么
  • 单链表逆序
  • http和https区别
  • http长连接和短连接
  • 操作系统虚拟内存和物理内存的区别
  • static作用,怎么实现的
  • ip报文如何从下向上交付
  • gdb调试
  • 如何设计服务端程序
  • ab ba互为兄弟子串 abc acd也是,求字典中兄弟子串的个数,其实就是把字符串按字典序排序,然后记录重复数量,用hash来记录。
头条一面 (一个半小时 一面感觉还可以)
  • 项目
  • 旋转数组的二分查找
  • socket api的参数
  • 一万个对象,一百个线程,如何做到高并发访问(了解到的有lockfree 读的时候不加锁,写的时候先复制对象,然后用cas操作循环,复制指针)
  • 如何在main函数之前调用函数
  • mysql的数据引擎有哪些?b+树 b树 mysql默认端口号3306
  • socket,问到了每个api和参数
  • 二叉树的中序递归和非递归,
  • 一个数组分为AB二部分,是有序数组的旋转,给一个数返回下标。
  • 输出1-n的子集。比如123,有1,2,3,12,13,123,23.
  • c++虚函数、重载和重写,传入一个1,怎么确定执行的重载函数,比如int还是double。
  • inline的作用
  • 进程线程区别,线程共享进程的什么东西?
  • 手写实现一个条件变量(随便在windows下,linux下的api给他写一个就行)
  • timewait状态
头条二面 (一个小时,挂,给人的感觉头条的面试你要回答的行云流水,编程题答不上来,基本你就gg了,最难的面试没有之一
  • 项目
  • 找数组中比当前位置第一个大的数字,去年校招题
  • topN问题
  • 54张扑克牌平均分成三份,大小王在同一份里的概率
  • STL deque的内部实现
  • int x;
  • void fun(){} ,实现fun修改x的值,不能传参。
<stron>一面(offer,40分钟) </stron>
  • 二进制中一的个数
  • 求一个数二进制中从左向右第一个1所在的位数
  • 面试官好像不太懂我的技术栈,剩下的都是些简单题了,后面又叫了一个二面的。
<stron>二面(一个小时)</stron>
  • 位图法求大数据中重复的数
  • 二个链表的交点
  • http和https区别
  • TLS握手过程,公钥被截获发送给你一个假的怎么办
  • 三次握手四次挥手,每个对应的状态,timewait存在的意义
<stron>三面(20分钟</stron>
  • 技术leader,谈人生和技术方向,没有技术问题。
<stron>hr面(20分钟)</stron>
  • 问了女朋友、薪资期望、bat给你发offer去不去,一直追着我问大厂和小厂之间如何抉择,其他的还好。
京东云一面 (offer 35分钟)
  • 三次握手四次挥手,和socekt api的对应。
  • map的实现,红黑树,时间复杂度多少,红黑树的插入过程,详细描述
  • 如何实现红黑树的插入有序,即插入顺序和遍历顺序相同,方法是采用最小堆来实现优先级队列记录插入顺序。
  • 操作系统调度算法
  • 操作系统同步的算法,互斥锁操作系统是怎么实现的,自旋锁的使用
  • 场景提,如何实现分布式集群的每个url的访问量统计
京东云二面 (38分钟)
Q:socket如何建立处理一个连接,描述过程,从 bind listen开始说起。
A:我回答一个线程对应处理一个socket,
Q:那成千上万连接呢,
A:排队,又回答采用epoll来复用,改成单线程,
Q:又问如何处理io密集型的请求,
A:最后回答不会,其实有异步IO的模型。(高并发服务器怎么设计没接触过,回答的很差)
  • 如何统计一个目录下所有文件中含abc的行
  • topN问题,问的很详细,给他讲明白,基本代码都能写出来了。二种方法,partition和最小堆的解法都说了
  • TCP和http那个比较熟悉?回答:都可以。
  • tcp报文字段都有啥,如何实现字节流控制。http报文字段有啥。
  • 一个网站有成千上万的访问量,如何处理请求。答***,又答使用集群,集群中由负载均衡器负责分配请求,
  • 负载均衡器性能达到瓶颈怎么办? 答多个负载均衡器,那如何协调?通过http重定向,问:所有流量还是需要在一台上。答:不会了。其实可以用dns服务器来实现分配不同的负载均衡器。
  • 讲一下STL deque
  • 了解docker吗
京东云 hr面:
  • 实习为什么离职
  • 可以提前来实习吗
  • 想做算法吗
百度视频搜索(offer 40分钟 一面)
  • 二进制中一个的个数
  • 把一个32位的int转成ip地址,八位对应一个ip的四分之一。
  • 看过什么书
  • 问了一个多态的题,答错了,让我回去实验实验。
  • 统计一个文件中前十多的ip地址
百度视频搜索 二面(一个小时)
  • 写一个strcmp
  • 写一个单链表逆序
  • send和recv的缺点
  • 一方发数据,另外一方不调用recv接收,中间会发生什么报文。
  • top命令,虚拟内存和物理内存对应那个字段
  • stl空间配置器
  • 头文件中声明static变量,非static呢
  • 多态的实现方式
  • 进程通信方式
  • 共享内存如何实现
百度视频搜索三面(35分钟)
  • 聊具体的实习项目
百度搜索架构组 一面
  • topk问题
  • 寻找最长的递增子序列
  • 单例模式和观察者模式的类图
百度搜索架构组 二面
  • 项目
  • URL短网址设计,扯了很长时间
百度搜索架构组三面(挂掉
  • 聊人生
搜狗一面(挂掉)
  • string类实现
  • vector 删除一个元素
  • map的数据结构定义
  • 单链表逆序
  • 大数相加
  • map 数据过多 性能损耗在哪
  • malloc实现
  • mmap的实现
依图科技(挂掉,二面放在一起了,想不起来了)
  • 实现+-*算术表达式
  • 实现一个含最大值的栈
  • 给一个内存分配的函数,找错
  • delete[]和delete的区别
  • 数组删除某一个元素(c和c++版本都要写)
依图科技 hr面:
  • 这里特别点名他们的hr,我是北京这边的,这一面是我所有面试中最生气的,hr狂怼我,问我性格缺点,我一时没回答上来,后来就狂怼我,你不自信啊,你既然不自信刚才问你缺点的时候你为啥不说,我没见过这种hr,我找个工作本来就不容易,大中午的,二面技术完我很累,到了hr,你还给我压力面试,我面了这么多家遇到的第一个,一生黑,亏了没给我发offer。
贝壳(offer,一面20多分钟)
  • 主要问了项目,20多分钟就完事了,当时很惊讶,心里没底,不过最后还是过了,贝壳会在5-10分钟之内挂了通知你走,没有就等着就行了。
贝壳(二面,一个小时)
  • 二面的话比较全面了,从操作系统、计算机网络、linux都问了,这里就写的自己记住的吧,楼主数据库不太会,没咋问,项目都是网络编程的,这方面问的多。
  • 数组{1,2,3,1,1,1,1,1}与坐标轴围成的最大矩形面积,下标表示x轴,数组中的数表示高度,求最大的矩形面经,不懂的自己画图。
  • 二叉树蛇形遍历
  • 二台服务器要通信,需要考虑哪些指标?如效率、可靠性等,如何设计这么个可靠的协议,和面试官扯了一通quic协议
  • tcp拥塞控制算法
  • 操作系统如何实现互斥锁
  • 剩下的记不住了,可能一些基本的比如三次握手、四次挥手,进程线程、同步、通信都问了,比较基础。c++的基础知识没问我,估计面试官不是搞c++的,最终去的部门也不是二面面试官的部门,都是再分的。
贝壳(hr面)
  • hr面的话主要问一些简历上的项目,公司的实习经历,没有什么你性格缺点啊这种比较操蛋的问题,有什么问题问他。
多贝网(小公司,实习offer,没去,在拉钩上投的,七月份刚开始为了涨点面试经验,有点不太道德,大家不要学我)
  • 介绍自己。项目相关
  • 多线程与多进程的区别 进程同步和线程同步的方法 自旋锁的使用
  • select epoll poll的区别
  • 用过的数据结构
  • tcp如何高效,udp如何可靠传输
博尔(offer 同上)
  • 做了一套笔试,包括智力题和简答题,然后去和经理聊了十几分钟,经理看了下笔试题,然后问了几个问题,就完事了,第二天收到了offer,12k(我自己要的),没去。
VIVO(offer
  • 面试很水,没有参考价格,写了一道代码提,随便问了问,然后hr面随便聊了聊。
一开始准备的时候也看了很多面经,还是不能这么自私,C++的老铁们我只能帮你们这些了。一般都是根据简历来发问,楼主不会数据库,所以没有,项目是网络编程的,所以网络的问的多,linux。操作系统也比较多。最后祝大家拿到满意offer,以后应该不会再上牛客了,专心准备论文了,二年半的硕士快要毕业了。
#面经##C++工程师##校招##百度##京东##链家网##腾讯#
全部评论
可以的 兄弟 就冲你写这么多 点个赞
点赞 回复 分享
发布于 2018-09-11 17:30
学习了
点赞 回复 分享
发布于 2018-09-11 17:37
谢谢楼主如此辛苦,感觉还是java招的多啊
点赞 回复 分享
发布于 2018-09-11 19:51
C++的人不好找,他也没要我啊,哎
点赞 回复 分享
发布于 2018-09-11 23:36
给楼主点赞
点赞 回复 分享
发布于 2018-09-12 00:30
可以来腾讯试试
点赞 回复 分享
发布于 2018-09-12 00:53

相关推荐

四度读读书:其实大多数人坚定的搞技术并不是因为他们职业规划有多清晰,而是他们只熟悉这一条路,其他的路他们压根没思考过,或者没勇气走不熟悉的路,我就是😂😂,大多数都是人云亦云泛泛之辈,怀疑自己大可不必,适合自己的才是最好的
点赞 评论 收藏
分享
37 276 评论
分享
牛客网
牛客企业服务