【网易有道、百度、美团、中兴、海康威视】C++开发15场面经

背景

本科通信工程专业,大一在搞各种硬件,大二玩了一段时间音乐和LOL,大三开始有针对的学习计算机方面的知识,学艺不精但涉猎广泛。

回想这一年,感慨良多。期间经历了蛮多的心理变化,由于自身的学历、专业、以及计算机知识的欠缺,曾一度以为自己即将加入失业大军,已经做好了去富士康的觉悟,不料秋招居然获得了梦想的offer,遂写此面经,希望各位加油,争取获得心中的offer。

简历

七八月份互联网公司就陆续开始内推了,由于简历写得不好,没有ACM奖牌和过硬的项目经历,投了好多内推简历全都杳无音信,心情一度跌落谷底。在这里给大家安利一款在线简历制作网站《乔布简历》,我第二版的简历就是用它制作的。

简历最好选用简洁的格式,内容清晰易读,一定不要超过一页纸,上面最好可以附上照片,打印完全用黑白就可以了。简历上一定要写清楚专业技能,比如百度招聘会用人工智能给简历打分,所以写一些技术关键词就比较重要了,有专利论文之类的完全可以写出来,校内经历奖项之类完全用一句话概括就好,不要占太多地方。项目一般选两个与应聘职位相关的就好,对每一个项目用文字概括一下。最后可以写一栏个人说明,说明自己有团队精神,善于沟通等等。

建议大家从内推阶段就开始找工作,这段时间虽然成功率比较低,只有少数大牛才能脱颖而出,但对于我们普通人在秋招阶段会提供很多帮助。比如简历从初稿到完善,真的不是一周两周就能写好的,这期间需要不断的调整,去适应公司的需求。内推期间有很多笔试,可以感受整个紧张过程,积累经验。

中兴

中兴是最早开始面试的,去官网填写简历,然后做了笔试(AMCAT)和性格测试(SHL)。笔试不难但是不能用IDE,感觉不怎么刷人,也许是今年扩招的原因吧。不过感觉软件岗位竞争蛮激烈的,聊天群人数大概是其他岗位的2倍以上。

中兴一面
整个面试过程比较机械,流程化。先做5分钟的自我介绍,再用15分钟介绍项目(5分钟项目需求、5分钟设计思路、5分钟方案改进),最后再介绍一下自己的优点。但这是第一次面试,所以比较紧张,巴拉巴拉一直说个不停,感觉面试官听得偷偷发笑。全程只问了一个技术问题:Linux进程通信有哪些方式。

中兴二面
半技术面半HR面,期间问到了父子类C++构造函数与析构函数的过程、C++内存模型,其余就是介绍社团经历、项目经历和询问薪资城市之类。

网易有道

网易的笔试题答得并不好,但是幸运地通过了简历筛选,在这里特别感谢HR大大。

有道一面
面我的是一位大哥哥,言语不多但很亲切,看了简历说:“我们基本都招硕士的。”心里很害怕,以为要把我赶出去呢,不过做过自我介绍后,就开始正常面试了。

  • 有多个不同词典保存在独立的文本文件内,如何设计一个查词服务器
  • 一个线段上任意选取两点,求这三小段围成三角形的概率
  • Linux路径处理程序:/home/file/../media ==> /home/media
  • 动态规划 LIS 问题
  • 介绍Hadoop框架
  • 介绍SVM

一面主要考察数学题、算法题、设计题。可能见我是非科班出身的,并没有问操作系统、数据库、程序语言等。最后我问了一下评价,说我对某些算法可能缺乏了解,我说举个栗子,于是问我了解聚类算法吗,我大概画图讲了下K-Means。感觉一面运气比较好,问的基本都会,回答的都很不错。

有道二面
二面PM是一位特别有魅力的大叔,从自我介绍开始,聊项目,聊产品,聊经历,聊人生。感觉好久没这样畅快的聊天了,这也是我最开心的一次面试。

期间用VIM手写了TOP K问题。由于之前只是了解,但从未写过堆操作的代码,所以比较紧张,想了很久才写出来。

海康威视

海康的笔试题不难,据说有人没答题也收到面试短信了,一天之内完成一二面,效率很高。

海康一面
技术面,自我介绍之后就是聊项目,会问到一些技术点,也会问一些项目相关的问题,据说有的面试官会要求写程序,这个看运气吧。

  • Shell编程了解多少
  • MySQL和MongoDB的区别
  • Socket数据包传送校验问题
  • 你认为有哪些服务器性能测试方法

海康二面
HR面,好好聊天就可以,不要给自己挖坑。

  • 举一个最近看到的新技术
  • 平时获取信息的途径
  • 你都关注了哪些大V
  • 你期待的薪资城市

百度

本来投的研发结果二面挂了,转岗测试又面了三面。

开发一面
面试官小哥很年轻,很热情,整场面试就像在探讨问题一样,涉及的知识点比较多。

  • 如何实现一个优先级队列
  • 说说常用的排序算法
  • 锁有哪些,作用是什么
  • Linux进程与线程通信机制
  • Linux下缓存机制
  • Linux的I/O模型
  • Linux内存模型
  • Linux内核态、用户态、零拷贝
  • Socket连接过程
  • 你所知道的数据结构有哪些
  • STL容器内部数据结构
  • 红黑树的五种特性
  • 讲解MapReduce模型
  • Redis中的ReHash方法
  • 大数据问题BitMap和Bloom filter
  • 关于C++,平时读哪些书籍
  • 编程题:已知一个二叉树,每个节点有一个数值,用路径值表示该路径上所有节点值的和,求全局最大路径值

开发二面
这一面是最难受的一面,上来就是三道算法题,别的什么都没问。

  • 已知一随机发生器,产生0的概率是p,产生1的概率是1-p,现在要你构造一个发生器, 使得它构造0和1的概率均为1/2
  • 有两个排序数组,数组长度都为n,二分法求第n、n+1大的数
  • 判断链表是否有环,求入口位置,写出最优解以及数学推导

第一题就不会,心态炸了。当时的想法是设置一个全局计数器,第奇数次调用函数返回p,偶数次调用函数返回1-p,这样在宏观上看就是1/2。不过被说不符合题意。后面两道题虽然会做,但是紧张的写错了很多地方,没有达到二面要求。

最后面试官说:从这两道题看出你的过程化思维很严重,没有面向对象的编程思想,建议转岗测试。比如第二题要处理两个数组,可以把二分查找部分封装到一个函数里,第三题虽然简单,但要把原理完整推导出来。希望大家练习算法时不单单要会做,还要多手写,把函数命名、封装,算法的细节,数学推导都弄熟,不要输在细节上。

测试一面
本来心情极度郁闷,但是跟面试官聊了一会儿渐渐调整过来了,问了我对测试开发岗位的看法,给我介绍了职业前景等等。之后聊项目,把项目中遇到的两个难点清晰的讲解一下。

  • 写一个字符串比较函数
  • 数组中乱序+、-两种字符,把+置左,-置右
  • 若数组中还存在0,说说思路
  • C++内存模型、什么是内存泄露
  • new、delete和malloc、free区别
  • STL线程安全与不安全
  • HashMap和HashTable区别
  • Python缩进、代码块如何定义
  • 黑盒测试和白盒测试区别
  • 假设搜索引擎只有一个文本框和按钮,如何做测试

测试二面
二面是个大姐姐,这么多次技术面还是头一次遇到,很不容易。整场面试更多考察的是解决问题的思路、想法。

  • 什么是Hadoop和MapReduce模型
  • 介绍Redis和AOF持久化
  • MySQL的两种引擎区别
  • 有两个表分别是<KB,KB>、<TB,KB>、<TB,TB>级别数据表,设计三种数据库系统以完成Join操作
  • 已知两个日期,求这两个日期相隔多少天
  • 如何测试一个冰箱,想一分钟再说
  • 有100个球(50红50蓝)和两个袋子,把所有的球装进袋子中,如何分配使得拿一个球为红球的概率最大

测试三面
面试官很和蔼,让我讲了下大学经历和项目,还问了我平时用什么APP,吐槽了下百度的应用。三面总体还行,但是学历和专业背景是硬伤。

美团

美团面试在一个大厅里面,周围比较吵,所以也没什么压力。

美团一面
一面的时候自己有点不假思索,很多问题上来就回答,结果说的不够完善,后来又要做补充,有些面试官还是比较介意这点的,建议大家用一分钟把一个问题考虑完善再回答,这样给人一种成熟冷静、思维严谨的感觉。还有一点,有些听起来比较泛泛的问题,回答起来尽量不要泛泛,最好多添加细节。

  • 用UDP实现TCP协议
  • MySQL事务隔离级别有哪些
  • 常用的设计模式、能否实现一个***模式
  • 你知道有哪些锁,都有什么作用
  • 假设项目要用到Redis,你的学习路径是什么
  • 一个链表,求倒数第M、N个元素
  • 一个停车场,一个入口,三个出口,设计停车管理程序

美团二面

  • Html标签提取,保存在K-V存储器中,正则和算法
  • 字符数组中A、B两字串拼接在一起,不使用辅存如何最快交换为B、A
  • 设计T9输入法的数据结构,Trie树+HashMap

美团三面
三面聊聊项目、把细节说一说,面试官有让我介绍一些框架,但听到我讲的比较熟练,就没有让我继续讲下去了,其中比较详细的问了TCP/IP协议、HTTP协议、OSI模型,整场气氛很轻松。

美团四面
HR姐姐很漂亮,问了问简历上的内容,然后愉快地聊聊天。

结语

经历了各种各样的心路历程,我的秋招也于9月22日结束了。回首往昔,更进一步,在这一年中感受到最多的是压力和孤独,因为同学大部分考研,少数找工作也没有人去互联网。没有参考,也没有人指点,有的只是不确定和孤军奋战。七月份学校组织实训,第一次用C++写Linux项目,八月份入驻牛客,一边投内推简历,一边刷题,把语言基础、操作系统、网络、数据库等知识强化了一遍,算法题做了80道,顺便把STL学会了,期间学了MySQL、MongoDB、OpenCV、TenserFlow,泛读了《大话设计模式》、《深入理解Linux内核》、《图解TCP/IP》、《图解HTTP》、《统计学习方法》、《Hadoop实战》、《Redis设计与实现》,总之就是刷题、学东西、完善简历。永远不要降低自己的标准,更不要轻言放弃,种一棵树最好的时间是十年前,其次是现在。你所付出的努力,对待学习的态度,对待技术的热情,总有一天会被人发现、理解、认同。

#百度##网易##美团##中兴##C++工程师#
全部评论
赞一个
点赞 回复 分享
发布于 2017-09-23 20:34
膜拜大佬
点赞 回复 分享
发布于 2017-09-23 20:35
赞一个
点赞 回复 分享
发布于 2017-09-23 20:36
所以是哪一家的offer?
点赞 回复 分享
发布于 2017-09-23 21:08
🐮
点赞 回复 分享
发布于 2017-09-23 23:32
一个月时间看那么多书,大神呀
点赞 回复 分享
发布于 2017-09-24 00:58
大佬,大佬!
点赞 回复 分享
发布于 2017-09-24 11:11
同为本科生,请问下海康威视的线上评测有难度吗?
点赞 回复 分享
发布于 2017-09-24 12:17
都差不多
点赞 回复 分享
发布于 2017-09-25 14:17
很赞,很棒,加油
点赞 回复 分享
发布于 2017-09-26 15:31
同九义教,缘汝此秀?
点赞 回复 分享
发布于 2018-07-30 23:44

相关推荐

挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
评论
16
179
分享
牛客网
牛客企业服务