一、十几道C++基础简答题或改错题
二、一道字符串分割的算法题
三、一道string类的实现
四、一道快排的实现linux
一、c++多态的种类、C语言的多态怎么实现
二、struct与类的区别
三、union和struct的区别,union如何知道当前使用的是哪个元素,如何设计
四、vector和map删除时,迭代器失效如何解决
五、线程安全的单例模式(注意volatile和double-check)
六、排序时衡量性能的标准
七、复杂的字节对齐计算(须要分32位和64位讨论,但两种系统最终结果相同,pragma pack 1的应用场景(节省空间,公司统一标准)?
八、用户有两个进程,分别运行while(1){},系统如何切换(时钟中断,进一步延伸到内中断,外中断)
九、项目中有用到模拟退火算法,让我讲了下思路与实现
十、虚函数的实现c++
一、我的状况
二、家庭状况
三、手上offer状况
四、发展规划面试
一、项目
二、B+树、B-树的区别
三、数据库隔离级别,幻读和不可重复读的区别
四、有hell, well, hello, world等字符串组,如今问可否拼接成helloworld,代码实现
五、快排
六、线程安全的单例模式正则表达式
一、25匹马赛跑,有一个赛场,只有五个赛道,没有计时器,只能经过目测来记录快慢,求出求3快的马要多少场比赛?
二、kmp算法next数组的求解思路
三、数组中有三个数字出现超过3/4,求着三个数字
四、1到n+2个数组中缺了两个数,如何用O(n)时间,O(1)空间找到这两个数字
五、一条线段长为1,随机选两个点,将改线段分为三段,三段能成三角形的几率是多少?
六、有一个教授,他三个学生,脑壳背后分别各写了一个数字,其中一个数字是另外两个数字的和,通过几轮后,有一个学生猜出了本身的数字请问是什么缘由?
七、B+树作索引时,B+树一般高度为多少层?要参考哪些条件?算法
一、问我喜欢什么运动,说篮球,聊了篮球和工做,大概近10分钟,后来知道面试官之前是校队,校赛拿mvp的大神,怪不得问我拿过什么篮球的荣誉
二、一个3L的杯子,一个5L的杯子,如何倒出4L的水,要求两种方法
三、情景题:周一领导布置任务,周五完成,周三发现完成不了,你会怎么处理
四、对BAT三家的见解,如今看好谁
五、介意学机器学习吗?(怎么可能介意,梦寐以求)
六、问我有什么问题要问(我说这不是技术面吗?怎么没怎么问技术,结果面试官加了第七题)
七、二维数组行优先读取和列优先读取哪一个快,从操做系统层面解释(从减小缺页中断的角度出发便可)数据库
一、聊了项目。面试官很感兴趣,聊了半个小时
二、操做系统,null指针为何不可访问(涉及到段页式内存管理中,内存分配问题)
三、socket syn攻击原理,超时重传的次数及时间间隔编程
一、项目
二、select/poll/epoll
三、线程池
四、ipc,以及共享内存使用的时候须要注意什么
五、手写代码,题目记不清了设计模式
一、简历细细过一遍
二、cat file | grep x 建立几个进程 他们是什么关系
三、父子进程间,子进程退出后会发生什么
四、若是父进程不须要捕获子进程退出消息怎么办
五、pcb包括什么
六、有一个文件,每一行都有一个IP范围,以及对应城市。你须要检测,同一个城市的IP是否冲突。不一样的城市IP相同不算冲突。
七、将来的打算,自我评价,职业生涯规划数组
一、自我介绍
二、项目(问的很深)
三、数据库实现原理 B+树 B-树区别
四、数据库索引种类
五、接口响应时间由20 ms偶发提升到1000ms多是什么缘由
六、左联结,右联结,数据库隔离级别
七、数组中找出和为target的两个数的位置
八、Linux命令
九、对Java的了解
还有一些忘了安全
一、自我介绍
二、项目
三、模拟退火算法,登山算法,应用场景。。
四、tcp udp,udp的各类应用场景,udp如何实现可靠传输
五、syn攻击
六、黑客怎么越过防火墙,对防火墙内部计算机进行攻击
七、设计餐馆的数据库,须要几张表
八、stl有哪些优缺点 为何有时候很慢
九、设计模式,观察者模式
十、堆排的实现
十一、聊了下我的状况
一、自我介绍
二、socket11种状态,详细介绍
三、阻塞与非阻塞
四、同步与异步
五、connect能够异步吗?
六、如何看待上层应用编程与低层架构编程?
七、看什么书,怎么学习的
还有一些忘记了
大同小异,不过美团hr给我印象特别好,特别主动介绍了公司的各类状况,好评
一、自我介绍
二、介绍操做系统的段页式内存管理
三、socket三次握手,以及半链接的含义,可能出现的问题,以及处理方案
四、写代码,正则表达式模式匹配
一、自我介绍
二、模拟退火算法介绍
三、手写代码:8*8的网格中,一个皇后选择一个位置后,她横竖斜三条直线上都不容许放其余皇后,问放8个皇后有几种方式
四、设计题,有一个车库,里面能够停大车和小车,能够本身拓展须要的信息(我拓展了计费等服务)
一、自我介绍
二、项目
三、进程与线程的区别(这里我说的很细致)
四、管道通常用途,如何用管道实现非亲缘进程间通讯(有名管道)
五、实现memcpy(注意区分pSrc和pDes重叠的状况)
六、环形链表检测,以及入口求解,手推公式
七、智力题:A房间三个开关,控制着B房间三个灯,只容许进一次A,进一次B,如何肯定开关与电灯的对应状况
八、问其余offer状况
一、最满意的项目,详细介绍
二、手写代码:有一个数字N,由1,2,3,4四种数字组成,请问怎么调整其顺序,可使其整除7
三、手写代码:map中,删除key值为素数的元素,
四、socket中,缓冲区只有2k,要接受4k的数据,怎么处理,代码实现
五、linux里ipc有哪些
一、自我介绍
二、若是有人质疑你非计算机专业的,你会怎么看
三、学习了哪些课程,怎么自学
四、家庭状况,职业规划
五、对我骑行2000km的经历感兴趣,聊了下
六、让我提问
全部公司投递岗位的都是C++软件研发工程师/后台研发工程师。截止2017.9.26,确认的有华为、斗鱼、美团、百度。等通知的有腾讯,小米,滴滴。因为已经有一些offer确认,京东、招银网络、网易互娱面试没有去参加了。附本身博客地址,里面有我整理的一些基础知识和面试题,我的以为应该对你们有所帮助:www.jianshu.com/u/2dab0cda8…
本人非计算机专业出身,读研阶段才开始接触编程,不过读研期间付出了比别人更多的努力。所以,付出总会有回报的,但愿你们也继续努力,也预祝找工做的同窗也都能拿到满意offer,加油!
2017.9.27 更新:已收腾讯sp,决定去鹅厂了~