作者:./a.out
链接:https://www.nowcoder.com/discuss/14022
来源:牛客网
话说在牛客网上混迹了半年,也没啥拿的出手的贡献。现在基本上自己的校招生涯要告一段落,就把自己的经验总结拿出来分享下吧。 原文记录在个人的博客http://foocoder.github.io
欢迎来访~
校招准备之知识储备
讲到校招的知识储备,当然不同岗位是需求不不一样的,个人偏C++后台方向( 话说自己除了这个啥都不会 ),所以有相同方向的可以参考一下。
一般而言,面试的方向无非就是语言基础,操作系统,网络,数据库,数据结构及算法。 额外还有逻辑推理智力题相关的等等。
在语言基础上,看的书有:《C++Primer》,《C程序设计语言》,《C语言参考手册》(参考用),《深度探索C++对象模型》,《C++标准库》(参考用),《Effective C++》以及 《STL源码剖析》(参考用)。 忽的发现这一总结,自己看过的书还不少。当然这些书并不是完完整整全部看完的,毕竟一本《C++标准库》1000多页给我半年也不一定看完。 基本上是相互参考着看的,反正都是关于C/C++的,肯定不少重复的地方,可以相互对照着理解。
网络方向的书主要就三本:《TCP/IP 协议族》,《TCP/IP 详解 卷一》 以及 本科时网络的教材《计算机网络》谢希仁版的。 虽说一般国内的教材都是比较烂的,完全可以扔掉的。但这本谢希仁的网络总体来说还是不错的。 另外就是《TCP/IP 详解》虽然经典,但里边好多协议显然是过时了,一开始看的时候积累了好多疑惑。 最后还是决定以《TCP/IP 协议族》这本为主来复习网络方向。
操作系统则是《现代操作系统》以这本经典的教材为主了,当然也入手了圣经级的AUPE以及UNP,不过这套比较偏重编程,概念性的还是要靠《现代操作系统》。 另外还有一本CASPP,把它放到操作系统下似乎有些不大合适,但这本书却是让人受益匪浅。不愧为价值比同等质量的金子更加值钱的书。
数据结构以及算法则是一些大公司的一大杀器,像一些国际巨头更是以这个为主。 然而这一块的准备并非一朝一夕之功,自己的水平只能处于临阵磨枪级别。 这里主要看了《算法第四版》,弥补了一些基础的数据结构以及经典的算法。 另外也买了牛客上左神的《直通BAT面试算法精讲课》视频。令人激动是面试时却是遇到不少原题,物超所值。这里强行植入一波广告,课程专属优惠购课链接:http://www.nowcoder.com/courses/1?coupon=AhIXhIx 之后把左神的那本《程序员面试代码指南》也入手了。虽说校招已经结束了,但莫名的发现自己对刷题也有点兴趣,留着无聊的时候刷题用。 自己也入手过网上一些其他大神出的刷题书籍,但终归是左神的这本更加良心一点。 最后再推荐一本左神最热衷的《程序员面试金典》( 看清楚不是宝典那本 ),国外的一本神书,竟然在上边遇到好多面试的智力题,相见恨晚。
至于数据库由于时间关系没怎么看了,而且个人感觉数据库光靠看书的话是远远不够的的,没有相关的优化经验以及项目经验基本上意味着 数据库这块处于盲区。
校招面试经验
这里总结一下校招的面经,毕竟面过那么多家,参加过几十场面试,而且每场面试都详记在册。 从春招实习到秋招内推一直到最后校招,几乎每场面试完都会把面试问题记录下来,当然不乏一些遗漏的问题以及遗漏的面试。 这里总体来梳理一下。
阿里巴巴(2面) 失败
作为一个计算机出身的,肯定梦想着国内的BAT这三大巨头。 而对于综合考虑地点环境,以及薪资待遇,A厂的条件算是Top了。地点杭州,待遇又属上等。 最可惜的是,A厂是Java出身,C++想进A厂的话难度恐怕较大了。
首先是实习内推。但是还是在实验室跑实验,突然接到一个杭州支付宝的电话,意识到难道这就是传说中的点面? 然后就在毫无准备的前提下进行了人生的第一场面试。 ( 一开始电话里说我们来简单聊聊,我还天真以为谈天说地呢,谁知道聊聊就是面试啊 )
阿里实习生内推电面:
- 自我介绍
- 讲一个拿得出手的项目
- C/C++ 与Java的区别
- 你说C/C++较Java有性能优势,为什么?
- 从N个无序数中寻找Top-k个最小数( 经典海量数据 )?
- Hashmap 的底层实现
- Array与List的区别
- 进程与线程的区别
- 网络的七层协议
- TCP与UDP的区别
- TCP的三次握手与四次挥手
- 进程间调度算法
- 数据库索引的实现方式
- Inner Join, Left Join 以及Right Join的区别
- 有什么问题
由于当时处于裸面阶段,这些问题基本上没回答上多少,虽然现在看来很基础了。 当时中途还跟面试官抱怨这些概念性的东西看了就知道,不看就不知道,没什么用。 现在才体会到自己当时还是图样图森破。 基础都不好,怎么指望你成神? 不过好一点的是面试官人很Nice,并不会因为你啥都不会吐槽你鄙视你,而是一点点挖掘你的能力和潜力, 基本上是去寻找你的闪光点,这样让我并没有感到太多的紧张。 虽然第一场面试以失败告终,但由于面试官的Nice,反而给自己积累了不少的信心。
接下来阿里内推没过系统自动进入了实习生的校招流程,然后参加笔试,收到到南京现场面的通知。
阿里实习生校招现场面:
- 自我介绍
- 关于科研项目
- 关于文件服务器的项目
- 项目中有没有用到数据库?对数据库了解多少?
- 谈一谈数据库的3个范式
- 有没有用到其他的开源数据库
- C++面向对象的三个特性
- 面向对象设计的基本原则
- C++多态的实现方式
- 虚函数表是一个类一个还是一个对象一个?如果继承,子类与父类的虚函数表有何区别?虚函数表中可不可以存放非虚函数?
- 有没有用过typeid检查运行时类型?
- 模板中非类型参数与类型参数有什么区别?
- STL中有那些容器?vector与deque有什么区别?
- 什么是智能指针?写一个模板的智能指针
- Linux下/etc/下有那些配置文件,有什么作用?resolve.conf是用来做什么的。
- 如果修改Linux下网卡配置在哪修改?有没有用过iptable?
- Linux有5个运行级别,你知道么?( Ps这里是面试官下的坑,实际有7个运行级别 )
- 内核态与用户态的区别?从用户态切换到内核态有哪几种方式?
- 数据结构有没有了解?
- 图有几种存储方式?邻接矩阵与邻接表存储结构的优缺点?什么时候用什么结构?
- 排序算法哪些是稳定排序?归并排序常用于哪里?
- 手写斐波那契数列?
- 为什么不用递归?递归有什么不好?那为什么不用inline来写递归呢?如何来避免递归?
- 有什么问题
阿里现场面的时候是在一个大厅,一个面试官一个小桌,每个人被叫到号后就去对应的面试官那里。 当时发现Java面试的大概有二三十个,然而C++只有四五个面试官。 而且面试官年纪比较大,很有经验,自己所谓的包装的各种高大上的项目被他一层一层剥开,一种被透视到内心深处的感觉。 虽然这次面试比第一次要好一些,回答上来百分之六七十,但最后还是挂了。 阿里C++要求还是较大的。
就这样,阿里的实习生内推跟校招都是一面挂掉。 本想经过一番准备,再去向阿里重新发起挑战。 后来7、8月非秋招内推则连面试机会都没给。后来问了阿里的学长,据说是简历的评估跟春招的面试成绩挂钩的。 当时心凉了半截。春招阿里两次挂在一面上,因此秋招也就没有任何机会了。 只能说与阿里无缘吧。
腾讯(6面) 失败
腾讯的流程跟阿里类似,也是参加了春招的实习招聘以及秋招。
话说实习生内推的时候明明收到腾讯的内推短信,却没收到完善简历的链接,所以内推的机会给错过了。 之后参加实习生春招的笔试,然后腾讯来合肥现场面试。
腾讯实习生招聘现场一面:
- 自我介绍
- 项目里到的主要语言
- 项目中用到了Python,Python起的作用是什么
- 是否理解hadoop等大数据平台
- 项目的代码量在多少
- C++指针与引用的区别?经常使用指针还是引用?
- const在成员函数的位置,作用,如何保证成员变量的const?
- C++虚析构函数的作用,如果析构函数不是析构函数有什么后果?
- C++虚基类是什么?纯虚函数可不可以有实现?什么情况下会对纯虚函数进行实现?
- C++中如何实现接口,接口与多继承的优劣
- 如何帮一个不懂电脑的女生找出电脑的问题(只能通过电话联系)
- 项目中用到网络通信的地方
- TCP如何保证可靠传输
- TCP的流量控制
- IP分组传输以及重传等
- 假设项目中TCP客户端申请一个文件的读事件,而服务端找不到该文件,却返回一个成功信号,这种情况有没有可能?
- 项目里如何设计访问量过大,如何提升?
- 微信中附近的人的功能,其位置信息该如何存储?
- 操作系统页面管理是怎样的?页面大小一般多少?过大或过小会怎样?
- 进程请求资源死锁,如何在编程上防止死锁?
- 手写singleton。如何避免多线程同步问题?
- 实现一个singleton的基类,令其派生类都是singleton?( 利用template )
- STL中容器的迭代器在什么情况下会失效?
腾讯这次现场面是自己的第一次现场面试,要比阿里的现场面还要早。 面试官看起来比较宅的那种,所以也比较严肃。 整场面试回答上来百分之七八十,当时面试官都没说你有什么问题要问,感觉自己要跪。 但当天晚上通过微信查状态发现已编程复试中,有些意外。 不过二面时面试官没有到合肥,所以二面是电面的。
腾讯实习生招聘电面二面:
- 自我介绍
- C++虚函数的实现机制
- 如果基类的析构函数是非虚函数,会有什么后果
- gdb调试core文件的参数是什么
- 有没有网络通信相关的项目
- hash表中为了防止冲突过多常用素数,为什么?
- stl中allocator adapter
- vector中内存扩充方式怎样?为什么每次都有2被扩充?( 算法导论中平摊分析 )
- vector与list的区别
- static的作用
- 两个文件,一个是class A,一个是class B,如果A跟B相互引用,如何include?
- 有什么问题
据说二面的面试官是以后工作的boss,那二面面试官应该是SNG的腾讯云部门的,人也很好,面试感觉回答上来百分之九十左右。 果然,晚上面试状态就变了HR面了。
HR面还是现场面。但腾讯的HR面不涉及任何技术,就没有记录。只是从 HR那里得知了自己的部门是腾讯云。
本以为HR面都面过了,基本上没什么问题了吧。但后来却收到了要加面的消息,好吧,加面就加面吧。
腾讯实习生招聘电面四面:
- 自我介绍
- 网络字节序与主机字节序的区别?为何要有这样的区别?
- 内存对齐,为什么要内存对齐
- 1G的内存可以装入2G的程序么?怎么装?
- 常见的页面置换算法?
- 用浏览器打开网页发生的全部事件?第二次打开这个网页呢?
- 循环与递归的区别
- 二叉树给出前序,中序求后序
- 墙上有一个插孔,提供无线的4孔插板,有28盏灯,至少需要多少插孔?280灯呢?
- 一个处理机时间分辨率是1s,单执行流,每秒系统运行一次run函数,现要求设计一个提供定时任务的函数addfunc( Xs, func),可以设置在X时间运行函数func。提供系统API是gettime()来获取当前时间。
这次面试不是太好,后来就没有然后了。 虽说自己实习即便是过了也不能去,但毕竟拒offer跟被offer拒的感觉还是不一样的。 而且这次是实习阶段离offer最近的一次。所谓看到希望的失望最是让人绝望。
通过春招发现自己的不足吧。也体验了一遍大厂的面试流程。 总体来说还是自己能力欠缺,尤其是项目经验方向。 于是自己又花时间改了改补了补项目。 也花时间调整了下简历。
之后腾讯秋招内推,却发现成了TST专场了。虽然找人内推了,却一直没有消息。 之后又是继续通过笔试来参加校招了。
腾讯秋招现场一面:
- 用5分钟来介绍一个项目,你在项目中的职责以及获得的成绩
- 做题,面试官给了个小本,上边好多题目。int i; (!!i);是什么含义。
- 做题。关于unsigned int 与int相加截断问题
- 做题。int a = (((int * )0)+4);
- 做题。关于printf的缓冲区问题
- C中引用跟指针的区别
- Linux下如何检测内存泄露?如何检测程序crash?
- gdb调试设断点?如何查看系统堆栈?
- 如何实现多态?
- 进程通信的方式有哪几种?那种的效率会更好?为什么?
- Linux下swap区作用?
- 给4个瓶子11种粉末,只有一种溶解呈现蓝色,溶解需要两分钟。问多久能测出蓝色粉末?
- 写代码不用第三个变量交换两个变量值
- 字符串匹配,O(n+m)
- 给一个单链表如何判断有环?
- 8个抽屉有一份文件,其中8个抽屉都没文件的概率是20%,现打开一个抽屉发现没有文件,求剩下7个抽屉会有文件的概率。
一面面试官人很好,面试完后直接就说面试通过了。之间还兴致勃勃的聊了个人爱好什么的,因为是早上第一个面试的么,毕竟心情还是比较不错的。
因为腾讯秋招的进度跟百度差不多,所以一直担心的一件事发生了,腾讯的二面跟百度三面冲突了。一个是早上八点,一个是早上九点。 显然腾讯的面完肯定赶不到百度那去。 于是面试当天7点就赶到腾讯面试现场,想跟HR申请调整下面试时间。 不过HR没遇到,倒是碰到一个面试官。跟他讲明情况后( 当然是以其他理由说明的,但看他的眼神感觉一直不相信我 ),面试官说他来给我面,就面半小时,给我留出时间。
腾讯秋招现场二面:
- 做题。内存对齐,为什么要内存对其?
- 1G物理内存,malloc申请2G空间,可以么?为什么?
- 浏览器打开一个网页,说明一下这其中发生了什么事?
- TCP与UDP区别?
- HTTP 为什么要用TCP而不用UDP?
- HTTP 报头以及状态码。
- 如果客户端keep-alive,服务端不支持keep-alive,连接是从客户端断开还是从服务端断开?为什么?
- 一个处理机时间分辨率是1s,单执行流,每秒系统运行一次run函数,现要求设计一个提供定时任务的函数addfunc( Xs, func),可以设置在X时间运行函数func。提供系统API是gettime()来获取当前时间。
- fun(){ int a; a=6; } 与fun(){ int a=5; a=6; }二者在二进制代码上有什么区别?若变量是static的呢?
- 一个函数rand可以等概论生成无符号整数,假定M的值是这样定义的,若rand产生的序列中只有一个r0=r1,则M=2;若有r0=r1=r2,则M=3;以此类推,求M的期望。
整体面试自我感觉还行,基本没什么卡壳的,但最后还是挂在的二面上,只能跟腾讯说拜拜了。 鱼与熊掌不可兼得吧。
百度(7面) 已拿Offer
百度是实习的时候并没有投简历,而是在内推的时候投过一些简历。 内推时总共经历过两个部门的4次面试。
首先Web Data的知识图谱。
百度知识图谱内推电面一面:
- 自我介绍
- 考虑一个Int64的整型。若计算一个数的各位数上的平方和,通过不断迭代最终得到1,则称这个数为有趣的数。现给定一个数,判断该数是否为有趣的数?若判断一个数组的数呢?
- TCP与UDP的区别
- 项目中文件服务器如何支持断点续传?
- 用什么数据结构保存cookie
- hashmap支持并发,如何上锁来保证锁粒度最小。
- 堆与栈的区别
- 析构函数为虚函数的作用。
- 普通类的析构函数对异常有什么要求?
- 有什么问题?
百度知识图谱内推电面二面:
- 自我介绍
- 项目中如何用Python来处理数据?
- 有一个文件,有不同的属性列,如何将ID相同的Item整合到一起?
- Python如果考虑多处理机。
- 简单介绍文件服务器的项目
- TCP 流量控制
- 如何在main函数调用前处理一些事情
- main函数前会有什么操作
- 考虑如何设计一个高并发量高吞吐量的服务器?如果是分布式的怎么设计?
- 扑克牌均分3堆,求大小王在同一堆的概率。
- 介绍自己科研项目
- 服务器中端口复用
- 程序中出bug,从哪些方面考虑找bug
百度知识图谱内推电面三面:
- 前两面感觉如何?
- 项目如何用PY处理数据,是怎么处理的?
- 项目中规模如何?有没有多人合作的项目?
- 多人合作项目中个人职责是什么?工作量有多少?
- 有没有一些学一些新技术应用到实践中?
- Traceroute如果路由动态改变了,会出现问题,如何克服该问题?
- 有没有算法角度的新技能?
- 有没有失败的项目?为什么会失败?考虑下失败的原因。
- 如果重新做失败的项目,会从哪方面考虑
- 项目中遇到哪些困难?如何解决?
- 你有什么问题?
总体来讲,百度的面试难度是较高的,毕竟是三面技术面。第三面经理面偏技术与HR面结合的感觉。三面的时候感觉压力很大。 之后发现挂在了三面上。问了下面试官,说自己达到校招的水平,但提前批还是差点火候。 看来提前批应该是sp的概率会大些吧。
接下来接到百度运维部门的电面:
百度运维电面一面:
- 聊项目
- C/C++static作用;static函数与非static函数区别
- 宏定义与const的区别?宏定义可以完全用const替换么?宏定义如何调试?
- 对设计模式有多少了解?
- 一个有n行的文件,随机选m行?如何选?
- Linux查看文件的磁盘空间,监控进程cpu,内存使用率
- ping的底层协议?ICMP处于7层的哪一层?
- socket位于哪一层?socket编程的过程?
- 内核分几个部分?
- OS同步与互斥的区别?
- 数据库中事物的原则
- 你所知道的最快的排序算法?
- 若在数据库底层进行排序,该如何设计排序算法?
这场面试是面试最久的一次,历时将近100分钟,只因为卡在了概率题上,面试官给了好几次机会,说这题你说上来就给你过,然而最终还是没答上来。 事后发现的确是很简单的一道题。只能惋惜了。
接着参加百度的笔试,之后是合肥本地的现场面试。
百度秋招现场一面:
- 手写vector删除元素,需要注意迭代器失效情况。
- 手写两个类,要体现构造,析构,拷贝构造,赋值,虚函数,重载函数等特点。
- 析构函数为什么为虚函数?
- new跟malloc的区别?
- free是如何识别free区域的
- Linux的找到目录中cpp文件?如何找文件中一变量?
- Linux检测内存泄露?
- 了解哪些开源项目?redis,mysql有多少了解?
- n级台阶问题
- 手写代码,有序数组查找某个元素出现的次数
- 一致性哈希
百度秋招现场二面:
- 自我介绍
- 如何判断一个图是否有环
- 讲一个你觉得很完美的代码或开源项目
- traceroute有什么优势?
- 介绍一个比较完整的项目,画出流程图
- STL中vector内存分配?如何从原内存拷贝的新内存?会调用构造函数么?
- 软件工程?
- 如何看待C++面向对象?与c有何区别?
- 面向对象设计原则?里氏替换是指什么?
- 多态是如何实现的?画一下虚指针与虚函数表,如果多继承,虚函数表怎么画?虚指针是对象成员变量么?在什么时候初始化?
- 讲一下TCP中拥塞控制
- 你还有什么问题
二面面试官人很Nice,过去的时候还给我倒了一杯水,很客气,也很友善,看起来年级也不大。
百度秋招现场三面:
- 自我介绍
- 析构函数为什么要虚函数?
- C++中强制类型转换?Dynamic_cast的作用
- 多态是如何实现的?
- C++中构造函数发生异常会怎样?
- C++中构造函数中this指针暴露了会有什么后果?
- 针对简历详细询问每个项目的细节
- 介绍自己的部门( 企业安全方向 )
- 你还有什么问题
三面也是技术面,而且面试官就是之后的boss,做的是企业安全方向,虽不是百度的核心部门大搜,但这一方向还是很有前景的。 当时面完就感觉基本差不多了。 后来在十一前收到了面试通过的信息,整个秋招算是比较圆满了吧。
华为 SP 已拿Offer
华为则是参加2016的软件精英挑战赛获了赛区二等奖,之后参加的合肥地区的软件精英挑战赛专场的面试,当天面完就跟我说通过了。 但正式offer也是十一前才下来的,算下来,华为这offer基本是面的最早,下来的最晚了。
深信服-星云计划 失败
深信服的星云计划据说待遇也很高。
- 聊项目
- 对于N个点的网络,求任意两点的最短路径的复杂的
- C语言局部变量与全局变量
- 对于大的数组,如何使用局部变量?
- 不同文件中如何引用外部变量?
- 递归时栈溢出怎么办?任何递归都可以用非递归实现么?
- 存储通讯录信息:姓名,手机,邮箱,简介,如何能实现快速查询以及部分查询?
- Linux编程中的锁有哪些?
- 自旋锁与互斥锁区别
- 进程IPC方式
- socket与共享内存用于什么情况?
- 卫星网络中网络带宽足够,但丢包率高,导致网页打不开,通信质量差,什么原因?如何解决?
- Dijkstra单源最短路径
深信服这场也跪在了算法上,面试官说只要你回答上这个问题就给你过,但还是没想起来Dijkstra的具体内容。 无奈。
CVTE提前批 失败
- 自我介绍
- C++多态实现
- 虚函数表的位置
- C++中new跟malloc的区别
- 堆与栈的区别
- Python三种内置数据类型
- shell后台运行
- STL中容器
- vector的内存释放
- shell中调用脚本是通过线程还是进程
CVTE面试还是比较简单的,然而还是挂了,主要是因为项目经验缺乏的问题。 面试官对科研项目不感兴趣,自己包装的服务器又是烂大街,最后评价说基础很好但项目经验不足。
金山WPS 失败
- 自我介绍
- 项目
- C++中虚函数的作用
- 那些函数不能是虚函数
- 析构函数可不可以为虚函数,为什么
- const 引用,为什么用const引用
- 指针与引用的区别
- static 的用法,每种用法的作用域以及生存周期
- 模板类声明跟定义放在两个不同文件中可以么?为什么?
- 快排的思路
- 查找的复杂度
- STL中list跟map的不同应用场景
- 红黑树查找、删除、增加的复杂度,为什么?
- 介绍一个项目,遇到的困难,如何解决?
评价:基础很好,项目经验不足。然后果不其然又给挂了。
多益网络-内推 已拿Offer
多益总共一轮笔试,一轮视频面试。
- 自我介绍
- 介绍项目
- 如果有比主管更好的Idea,你会怎么办?
- 怎么看待加班
- vector如何扩容
- 怎么理解线程安全
- 如果有一个很难重现的bug,如何处理(可能运行好多次都难以重现)
- 设计一个爬虫爬网页的话是DFS好还是BFS好,或者有没有更好的策略
- 关于一些网盘中,服务商如何提高服务器存储利用率
- 数字签名中伪造问题
- 地图软件中实时路况的实现策略
- 有什么想问的。
科大讯飞-大数据研究院 已拿Offer
因为地处合肥,所以讯飞对我们学校的学生还是比较认可的。 整个面试过程也比较随意,总共就经历了一面面试,包含了技术+HR的因素。 但没有记录,所以面试内容也就不记得了。
远景能源-提前批 放弃
- C++如何申请释放内存?与malloc/free的区别
- 实现一个strlen,不用循环怎么做?
- C++面向对象的作用,特点
- 若析构函数不声明为虚函数,会有什么后果?为什么?
- fork 一个新进程与建立一个线程的区别。
- gdb 调试查看栈的命令
远景的提前批很早,八月就面试了,一直没消息,一开始以为是跪了。后来九月收到现场面试的通知,才知道八月的面试是过了。 后来因为一些事而没参加后续面试,自己主动放弃了。
知乎 岗位不匹
- 自我介绍
- 有没有用过Python的Adapter 适配器
- 对Java有多少了解
- C++中多继承与Java单继承的优缺点。Java如何体现多继承
- 线程与进程区别与联系?为什么进程切换代价比线程高
- 有没有听过协程
- TCP的建立连接与释放过程?为什么最后需要2个MSL时间关闭
- 数据库了解么?事物的四个原则?索引是如何事项的。
- 知乎话题之间子话题跟父话题之间的数据结构存储你是怎样?如何判断新加入的节点是否有环?
- HashMap怎么实现?如何解决冲突?hashmap是如何扩容的?
- 怎么理解面向对象?有什么优点?
- 用过拿些web框架?
- 了解哪些攻击手段?
知乎总体来说岗位偏Python跟Java,面试官也是这方向的,于是最后扑街了。
滴滴出行 岗位不匹
滴滴投简历时投了个系统工程师,一开始不知道是做什么方向。 后来面试的时候才发现完全不是研发。 面试偏运维方向,问好多分布式,虚拟化,Docker等问题,真个是大眼瞪小眼了。 面试这么多,从来没有这么尴尬的时刻,什么都不会,后来还是我打破的尴尬的局面,跟面试官说抱歉投错岗位了。
后来收到滴滴现场面试的通知,不知道什么鬼,难道是给调岗位了?然而自己却忘记去了。。。
涂鸦移动 已拿Offer
涂鸦移动笔试是发给你两道编程题,一天内写完后再发给HR就OK,都比较基础。
涂鸦一面现场面:
- 自我介绍
- 多态
- 手写螺旋矩阵打印
- 象棋中马走日从A点到B点的最短路径走法
涂鸦二面电面:
- 自我介绍
- 做过什么开源项目
- git
- 长为N的数组,元素范围是0-N-1,其中只有一个数是重复的,找出这个重复元素
- 矩阵从左上角向右下角走,每次只能向右或者向下移动,求经过最大的路径
- 数n可以由完全平方数构成,求最小的完全平方数构成数。
- 对算法有多少了解?算法导论看多没?
- 堆排序
- 两个栈实现一个队列
网宿科技 待定
网宿科技也是内推时投的简历,但面试的时间较晚,在九月中旬左右。先是一面HR面。之后是一面技术面。
网宿科技技术面电面:
- Linux环境变量的配置
- Linux定时任务
- 设计一个QQ群,如何存储群里的发送消息?
- 两个很大的文件,去匹配相同的数据行
- Linux的重定向
- 如果有很多很大的对象,如何用容器存储?
- gdb 如何调试
- STL中vector, list, map的区别
- 有什么问题。
网宿面完后一直没消息,开始以为是跪了,前两天收到消息说要成绩单照片,所以现在也不清楚具体是怎样。
招银 一面
招银的笔试比较简单,编程题是完形填空。
招银电面一面:
- 介绍一个项目
- 项目遇到什么困难
- C++用过什么容器
- STL中如何计算迭代器距离
- C中static的用法
- TCP,UDP的区别
- 你有什么优缺点
面试大概二十分钟左右,面试官人很好,一开始我在外边,给我调整了两次时间。最后官评价说挺满意的,说两周左右有反馈。 后来收到完善简历的消息,貌似是十月下旬会有现场面试。
金蝶 失败
差点把金蝶忘记了。金蝶是一轮笔试加一轮视频面试。 值得吐槽的是,金蝶的面试总共不到10分钟,除了一个问题“你对运维有多少了解”之后,一半的时间是面试官在讲金蝶很牛逼,一半的时间是我在问问题。 后来就没有后来了。 着实让人无语。
总结
总结下,BAT这种大厂的面试还是很享受的,整个面试过程面试官是在不断挖掘你的闪光点,即使一开始你并不知道问题的最优解,但他也会一步步引导你,拓展你的思路。 而且大厂并不要求你有多丰富的项目经验,而是看你能挖掘出多大潜力,因为这些大厂还是很愿意培养人才的。而对于其他的一些小公司,看中的可能更是项目经验和 实习经历了。毕竟这些公司资金有限,他们所需要的人希望一出来就能接手项目来产生价值的,而且这些公司员工流动较大,花大价钱培养出人了没两天就跳走了,不如 直接就招聘项目经验丰富的能直接上手的人才。
另归纳下常考的知识点:
C/C++方向:
- 指针与引用的区别
- const 关键字与static关键字
- malloc 与 new区别
- 堆与栈区别
- 多态,虚指针,虚函数表。
- 析构函数为什么是虚函数。
- STL中容器
网络方向:
- TCP UDP区别
- TCP三次握手四次挥手
- TCP流量控制拥塞控制
操作系统方向:
- 进程调度算法
- 进程线程区别
- 进程IPC方式
- 进程同步与互斥
- 页面调度算法
数据结构与算法方向:
- 排序算法
- 查找算法
- 字符串,矩阵算法
- 哈希表
- 堆结构
- 海量数据处理
- 这块可以参考牛客网左神视频
最后再强行植入一波广告,课程专属优惠购课链接:http://www.nowcoder.com/courses/1?coupon=AhIXhIx
反正我是觉得很值,而且通过优惠码也赚了不少~~
最后祝愿大家都能找到心仪的Offer
【转自】https://www.nowcoder.com/discuss/14022