秋招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不到问的点
- 项目
- 手写快排
- 链表倒数K个节点
- socket建立过程
- 项目
- 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,12k(我自己要的),没去。
- 面试很水,没有参考价格,写了一道代码提,随便问了问,然后hr面随便聊了聊。