C++后台秋招总结(百度,阿里,好未来,腾讯,美团)

前几天收到美团和百度的意向书,算是对自己秋招的一个收尾了吧。总结一下这个秋招。
首先感谢牛客网,所有的offer都是通过牛客网上帖子内推获得的,也在这个平台上看了不少面经,刷了不少题,腾讯和好未来我已经拒掉了,剩下在百度和美团再这两家选,可参考我的前一个帖子,请大家给点建议。

PS:楼主是C++后台

阿里巴巴,蚂蚁金服(二面跪)
阿里巴巴跪了首先确实是因为自己能力不足,其次是因为自己作死投了JAVA岗(本人主要会C++)。

  1. 一面:
    1.实习经历
    2.说一下迪克斯特拉算法
    3.LinkedList和ArrayList区别
    4.B树B+
    5.一致性哈希
    6.图的的环检测(深搜)

    7.对称加密与非对称加密

    8.还有些东西时间有些久远不记得了

  2. 二面:
    1.写堆排序
    2.二叉树先序遍历(用递归和非递归)
    3.TCP三次握手,四次挥手
    4.说自己的项目,怎么优化

结果GG

百度运维部(三面跪)

  1. 一面
    1.TCP三次握手,以及为什么不是两次或四次
    2.TCP四次挥手状态,为什么要有time_wait,以及如何避免
    3.文件系统实现
    5.proc文件系统(meminfo,cpuinfo)
    6.Linux命令查看文件大小
    7.布隆过滤算法
    8.项目,如何改进

  2. 二面
    1.全程谈实习
    2.问了一个堆排序,然后堆得作用

    3.Topk

    4.将一个只含有1~n的乱序数组(不重复)的第一个数变成-1,求哪个数被变成了-1

    问面试官我进去做的是运维还是开发,被他教育了一番,但他说还是给我过了

  3. 三面
    1.输入baidu.com是怎么通信的
    2.能不能来实习
    3.。。。剩下的不记得了,被虐了

结果GG,被自己菜醒。。。

好未来(拒offer)

  1. 一面
    1.二叉树高度(递归,非递归)
    2.一个数组只有一个数不重复,找出这个数。
    3.一个数组有两个不重复,找出这两个数
    4.写一下堆排序
    5.虚函数实现机制
    6.一个硬币,有A,和B两人投币,A先投,正面A赢,反面B继续投,B投到正面算B赢否则A继续投,这个规则持续下去求A赢得概率(等比数列公式忘了*_*)
    7.Java与C++区别
    8.怎么学习的

  2. 二面
    1.快排如何优化,快排与堆排优缺点
    2.设计一个类,...忘记了
    3.static作用
    4.讲项目
    5.愿不愿意转算法方向

结果offer

美团 餐饮(offer)

  1. 一面
    1.meituan.com通信过程
    2.TCP三次握手,四次挥手,状态
    3.虚拟内存机制
    4.缺页操作系统如何处理
    5.什么是elf头文件
    6.写快排,二分,单例

    7.volatile作用,内存屏障

    8.Java与C++区别(从模板,编译,链接,内存,库几个方向解释)

  2. 二面
    1.给一个字符串数组和一个字符串S,找出字符串数组中所有的字符串s符合规则:s通过删除,增加,替换一个字符可以变为S。
    2.简单讲讲操作系统内存管理机制,段式与页式内存管理的优缺点(顺道讲了下段页式)
    3.知道sendfile吗(表示不知道),啥是NIO(小白表示没听过。。。)
    4.RPC实现(答得很烂)
    5.讲一下一个C文件的编译链接过程
    6.B树B+
    7.讲实习,讲自己的项目
    上来这个面试官就说前面的算法太简单,来个稍微难点的第一题,(也不算难吧*_*。。。

  3. 三面
    1.45度斜线打印二维数组
    2.讲一下网络通信协议栈
    3.TCP和UDP区别,TCP如何保证可靠性,time_wait,TCP有哪些缺点
    4.HTTPS如何实现

    5.什么是缓存,为什么需要缓存,有哪些缓存使用场景

    6.最近看了什么讲一下,讲了一下GFS的核心和mapreduc

  4. 4个瓶盖换1瓶酒,要喝150瓶酒,他自己最少买多少瓶?

  5. 8.聊了下人生

结果 offer

腾讯 SNG QQ音乐(拒offer)

  1. 一面
    1.vector与list区别
    2.什么是traits,作用
    3.迭代器失效
    4.unorderd_map如何实现
    5.模板两种特化,作用(要求根据STL讲,再配合traits说了下)
    6.说一下yacc和lex,递归下降
    7.tcp/ip...(这个答得都快吐了,参考前面
    8.深拷贝浅拷贝,右值引用,智能指针,引用计数,循环引用如何解决

  2. 二面
    1.两个排序数组合并成一个排序数组

    2.游戏(农药)用的TCP还是UDP为什么

    3.Epoll与Select区别以及epoll优点,为什么一般情况下epoll性能比select好,ET模式与LT模式

    4.Epoll ET下非阻塞读,为什么不能是阻塞

    5.发送3个80字节包,TCP与UDP下对端分别接受几次(其实就是TCP与UDP区别之一,TCP基于流)

    6.实习,项目

  3. 三面

    1.如何判断一个数是2的次幂

    2.快排

    3.还有些不记得了,回答的不是很好

    4.谈谈理想啥的

百度云计算事业部(offer)

  1. 一面

    1.给一个先序序列,重构完全二叉树,如果是一般二叉树能不能重构,为什么(QQ写代码_)

    2.有三个消息队列,随机的向三个队列插入元素(概率可能不同),如何保证插入和查找的高效(有两种思路,一种是加一个控制器,队列通知占用率,由控制器控制插入和查找,另一种是计算阻塞次数,再根据阻塞次数按比例控制该队列的插入频率和查找频率)

    3.最长公共子序列

    4.vector的拷贝,swap函数交换指针

    5.线程与进程区别,优缺点,进程内存模型

    6.IPC有哪些,共享内存原理

    7.说一下LRU ***思路

    8.赛马问题,36匹马,6个赛道,找出最快6匹马的最小赛马次数,如果是n匹马,m个赛道呢

  2. 二面

    1.虚函数实现机制

    2.内存模型影响因素(内存对齐,多重继承下的内存模型,菱形问题,虚拟继承内存模型,虚拟继承是如何处理的)

    3.NRVO优化,右值引用

    4.extern C作用,为什么需要

    5.C++重载,name manging机制

    6.Epoll与Select区别以及epoll优点,为什么一般情况下epoll性能比select好,ET模式与LT模式

    7..如何用epoll实现高并发,多线程,线程池,线程惊群问题

    8.二叉树先序遍历,递归,非递归,如何用O(1)空间实现(morris 遍历)
    9.互斥锁的实现原理(屏蔽中断,CAS),读写锁实现

  3. 三面

    1.实习,项目

    2.TCP拥塞控制,滑动窗口协议,糊涂窗口

    3.虚拟内存机制,二级页表,TLB快表,缺页,swap

    4.操作系统调度算法

    5.TCP如何保证可靠性,四种定时器,time_wait如何解决,Nagle算法

    6.一致性算法(raft),一致性哈希

    7.优点缺点,是否愿意来实习

结果offer

总结

作为一个学校不太好,非科班的同学,跟大神收们比还是有些差距的(**比如内核及TDF大佬 @赛罗·奥特曼)。楼主拿到成都美团的offer和百度的offer后就没有参加别的校招了,其他笔试也没去做了(**) ,上面就是我的全部面经。下面说一下我的学习经验,再分享些学习资源,有需要的可以自取

总结一下经验,有些常见的问题(比如线程进程区别,extern C,虚函数,IPC)可以深入去回答,面试官考这些问题其实是想了解学习的深度如何,这个就跟平时的积累有关。有些问题提前准备,不要临时去发挥,比如:自我介绍,offer意向,优缺点等的问题,个人项目和实习经历一定要提前复习,反复去演练,看看有哪些可以提升的地方。算法题要多练(leetcode,剑指offer),特别是剑指offer。面经可以多看,毕竟很多问题提前准备大有益处,也可以查漏补缺,还有一点,能走内推尽量内推,可以免去不少精力。

分享一些学习资料

这个是侯捷的C++教程视频,非常非常好的教学视频涵盖了内存管理,STL(从源码层面分析),C++11这些内容,面试关于内存管理,STL的内容,学会了视频里的可以说是秒杀这些问题,这里我骗下赞,求大家赏个脸,点个赞,涨涨经验(*_*)

链接: https://pan.baidu.com/s/1qXQynz2 密码: fus4

还有一些书籍推荐给大家,其实都是些常见的书,需要的看看就行:

C++

《C++primer》这不用说了吧,用了都说好。

《STL源码剖析》模板,traits,数据结构。。这个对我面试加成挺大的,看了几遍后,仿了个小STL

《深度探索C 对象模型》虚表,多继承,虚继承,NRVO。。。。

《Effective C++》学些C++技巧

还有些比较杂的就不推荐了

算法与数据结构

我看的是《算法》,红皮书,跟着coursera mooc(Algorithms I,II)走一遍,做做课后lab,功力大升

《算法导论》,没看完,查漏补缺用,补充上面书没提到的动态规划,B树等知识

剩下就是刷leetcode oj,楼主刷的不多就把前150道搞定了,听说某大佬大二刷了300多道,惭愧。。

网络

先看《计算机网络自顶向下方法》,再看《TCP/IP详解》

操作系统:

必须推荐一下神书《深入理解计算机系统》,内功大法好,面试吹逼必备

然后看《现代操作系统》,主要看进程,线程,内存管理,文件系统

实践的书推荐一下《操作系统真象还原》,实现一个小内核,挺好玩的,记得 @赛罗·奥特曼 大佬也推荐过。看之前回顾一下CSAPP的汇编那章。

Linux

stevens那几本圣经书,不在多说。。。

设计模式

简单易懂《head first 设计模式》,看了之后了解下设计模式,但我觉得这东西还是要落实到工程上,否则就是空谈。。。

其他的就是编译原理啥的,有兴趣的可以看看。。。《编程语言实现模式》这书挺有意思的,教你写parser啥的。然后是《编译原理及实践》,讲解基本原理LR,递归下降,DFA,NFA,程序编译过程的原理都涵盖了,但不深入。。。再深点就是大名鼎鼎的龙书《编译原理》,这个在看了前面两本书的基础下看就没啥压力。。看完这些书写点Parser,Lexer还是挺有意思的。。有兴趣玩玩再代码生成,优化等等,楼主才疏学浅玩不动,只看了点编译后端的原理。。。

关于分布式的学***家也可以向我推荐一下方法,还是有些simple and naive的,一直都在学习理论,缺少实践,,准备学下Redis(*_*),再看点源码


2017.09.18更新

关于简历

简历的书写着重突出重点,个人信息,实习经历,项目(两三个),然后介绍下技能点,我是这样的排版。一般简历一页就足够了。推荐一个神器Typora,可以用markdown写简历,这个软件可以转md格式为pdf,而且有不同的markdown风格,当然用LaTeX写最好了。

另外,推荐一下印度人的一个网站Geeksforgeeks,这个网站有很多算法和数据结构的讲解实例,虽然是英文的但挺好理解的,还有很多外企的面经。

#阿里巴巴##腾讯##百度##美团#
全部评论
知道自己找不到工作的原因,真的是自己太菜
点赞 回复 分享
发布于 2017-09-17 15:08
顶。。收藏了好多面经,就是来不及看。。
点赞 回复 分享
发布于 2017-09-17 15:10
我发现qq音乐,3次面试题跟你都一毛一样,应该是同一个小组...就是三面没问理想直接挂了... 我也拿到百度offer了..感觉咱俩境遇差不多,学校也不太好.当然大佬还是比我厉害的..美团深圳后台没位置了,不然也想去面面
1 回复 分享
发布于 2017-09-17 17:26
不错,很棒
点赞 回复 分享
发布于 2017-09-17 15:04
前排膜拜lee大佬。。。
点赞 回复 分享
发布于 2017-09-17 15:05
点赞 回复 分享
发布于 2017-09-17 15:12
请问美团一面的, meituan.com过程楼主回答有涉及到负载均衡吗?
点赞 回复 分享
发布于 2017-09-17 15:28
跟楼主情况差不多,普通学校只会c++,从3月份找实习开始基本天天刷牛客,看了很多面经,感觉学到很多东西。秋招就只面了batd,目前有百度和携程录用意向,滴滴面了四面等结果,过几天面完美团和腾讯就打算结束秋招了。实习的时候面过sng音乐,面试官说现在从腾讯独立出去了,类似于子公司,lz是因为这个拒的吗
点赞 回复 分享
发布于 2017-09-17 15:39
大佬666,膜拜
点赞 回复 分享
发布于 2017-09-17 15:59
点赞 回复 分享
发布于 2017-09-17 17:00
作为实习期间坐在你旁边的渣渣,膜
点赞 回复 分享
发布于 2017-09-17 17:09
mark
点赞 回复 分享
发布于 2017-09-17 17:54
百度云怎么样啊,为什么拒了腾讯?
点赞 回复 分享
发布于 2017-09-17 18:58
膜拜
点赞 回复 分享
发布于 2017-09-17 19:15
我面美团的题几乎和你一样,java后台开发
点赞 回复 分享
发布于 2017-09-17 19:30
不错,可否问下信纸范围😂
点赞 回复 分享
发布于 2017-09-17 20:55
大佬,你介绍的算法课程是····英文的!!??? 你跟着英文听得????!
点赞 回复 分享
发布于 2017-09-17 21:48
膜拜大佬,以后向大佬学习
点赞 回复 分享
发布于 2017-09-17 21:50
佩服,话说lz用yacc做过前端么
点赞 回复 分享
发布于 2017-09-17 22:07
好未来什么时候发的offer?贪薪资了?
点赞 回复 分享
发布于 2017-09-17 22:19

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
77 598 评论
分享
牛客网
牛客企业服务