C++面经 阿里,网易游戏,腾讯

作者:Simon_
链接:https://www.nowcoder.com/discuss/23512?type=2&order=0&pos=12&page=2
来源:牛客网

2017暑期实习C++面经(阿里,网易游戏,腾讯等)

Simon_

编辑于 2017-04-22 09:51:15

回复25
|
赞 42
|
浏览16520

2017暑期实习C++面经(阿里,网易游戏,腾讯等)

对自己一个月以来的内推实习做个总结。希望大家也能找到一个好实习。 :D

主要是C++研发内推实习的面试题。包括阿里云,网易游戏,腾讯,完美游戏,神马搜索。华为的面试题比较友好,感觉像聊天,所以没有记录。

阿里云(C++研发)

1面:

  1. 聊项目,你怎么实现的,用了什么框架,你觉得最难的地方在哪里。一般都是说到哪问哪,自由发挥的题目
  2. 你觉得C++和objective-c最大的区别在哪里?(由于我简历里写的技能有C++和iOS)。解释一下你所说的动态运行时语言这个特性。
  3. 一般用的C++的数据结构有哪些?(stl的数据结构)
  4. map由什么实现的?你知道红黑树和AVL树有什么区别吗?为什么像map,set都用红黑树来实现?你有听过skip-list吗?(没听过,然后他建议我可以之后看看)
  5. 用过vector.reserve()吗,vector的数组是怎么增长的?
  6. map-reduce了解吗?
  7. linux熟悉吗?目录权限,如644代表什么,目录如果有可执行权限代表什么?
  8. 平时有使用vi吗?一般的linux命令熟悉吗?(如awk,grep等) 有用过gdb的调试吗?
  9. TCP/UDP的区别,如何实现拥塞控制,如何实现可靠传输?UDP的应用?
  10. 数据库的ACID分别代表什么?原子性的定义?
  11. 使用python的程度,有使用到多线程和装饰器吗?
  12. 实习时间

2面:

  1. 实习时间
  2. 项目问题,你负责什么部分,怎么优化的?
  3. Socket通信时客户端和服务端所经历的状态。当客户端不close直接退掉的话会发生什么。
  4. 为什么要用虚析构函数,什么是多态
  5. vector,list,deque的区别
  6. 给你一个n,随机输出1~n的值,要求最后全都输出一遍。
  7. 用两个栈的结构来实现队列

3面:

  1. 实习时间
  2. 设计一个函数,如果需要修改形参,应该怎么做(引用或者指针)
  3. const vector<int> 和vector <const int>的区别
  4. 给2TB数据,2GB的内存,详细说明外部排序算法,算法复杂度。然后回答一共读了多少数据量,写了多少数据。(2路,多路都问了)
  5. 堆排序,如何调整堆,伪代码。

这一面有一点尴尬的是,我在第4题的回答是对的。但是面试官对“读了多少数据量”这个问题上理解错了,然后说我错了,说我这不会之类的。感觉他对我有点失望了,然后第五题我答对了之后他就没问题要问了。

然后我挂掉电话之后,回忆面试题和他说过的话。后来我想明白第四题我是对的,然后就给主管发短信,委婉地告诉他我的思路,以及他说错的地方。后来主管晚上12点半的时候给我回了个电话。我们又聊了10分钟,他说我说的也对。

4面:(有可能是3面的补充面试)

  1. 项目问题,主要有什么功能?遇到的最大的问题是?如何解决的
  2. 有做过其他项目吗,比如操作系统或者文件系统方面的项目?(我老实回答没有)
  3. 那如果要你设计一个文件系统,你怎么设计?
  4. 设计一个线程池
  5. 设计一个内存池
  6. 有用过gdb调试程序吗?一般都怎么用的。
  7. 熟悉shell吗?如何统计一个文件中某个字符串出现的个数?(我在这方面学的比较少)
  8. 问算法题,一个大文件中有很多字符串,如何统计出现次数最多的字符串?
  9. 给一个1~n的无序数组,求最少次数让这个数组变为有序。

5面:(技术面)

  1. 全程唠嗑。聊项目。

hr面:

  1. 面试过程下来,你觉得你表现的如何?
  2. 你对分布式存储有了解吗?有兴趣吗?
  3. 你更希望从事哪方面的工作,应用型还是研究型的工作?为什么?
  4. 你觉得应用和研究之间的关系和区别?
  5. 平时会逛技术论坛吗?
  6. 平时会自己写一些小程序吗?
  7. 来一段英文的自我介绍。

神马搜索(离线算法)

1面:

  1. 聊项目,你的项目基于什么考虑,为什么要选择这个模型,为什么选择这个作为结果评价的指标?有听过模糊算法吗?
  2. new,delete和malloc,free的区别
  3. ++i和i++的区别
  4. struct和union的区别,struct如果里面存了double,int,short请问这个struct有几个字节,怎么存储的
  5. C++相比C有哪三大特性?(多态,继承,封装)说说多态怎么实现的?什么时候需要用到虚析构函数?
  6. 类继承的情况下,构造调用顺序和析构调用顺序?
  7. 如何禁止自动生成拷贝构造函数?
  8. 对多线程和多进程使用多吗?死锁的4个条件,同步的4种方式?(由于记不清了,所以他就问到这了)
  9. map-reduce了解吗?
  10. 网络结构有哪几层,分别是什么?
  11. 堆和栈的区别?哪个是向高地址的
  12. vector的大小如何增长?map,set的红黑树和hash_map的性能区别?插入和查找时map和hash_map的区别?
  13. 链表是否相交,链表是否有环?
  14. 10000个数,求top10。(用k大小的最小堆来存储)如果数更大,内存一次性存不下怎么办?时间复杂度?
  15. 一个无序数组求中位数。
  16. 在一个有序数组中,求中位数,如何设计这个函数,形参和返回类型?(形参用数组const的引用,返回值可能有1个,可能有2个。我回答了用vector,也可以用pair来存储)
  17. 实习时间

2面:

  1. 实习时间
  2. 什么是虚函数
  3. 多继承有什么问题
  4. 两个文件中存的许多URL,求两个文件的共同URL
  5. 求最长递增子序列
  6. 外部排序算法
  7. 求海量数据下第k大的数


完美世界

1面:

  1. 聊项目,问APP是自己做的demo还是和公司对接的。问负责什么部分,做了什么工作?
  2. 是否有做过渲染的工作?有没自己做过小游戏?
  3. 玩过什么游戏?聊了一点游戏方面的经验。
  4. 如果求一个32位整数中二进制1的个数(我答了用x&(x-1)的方法)。又问时间复杂度(我说最多是32次,需要O(1))。又问有没更快的(我说用数组存结果,直接取。但是32位的要求这个用不了)。又问那32位数组用不了,还有别的更快的方法吗?(实在想不到了,哈哈)
  5. 编程之美的水王问题。找到数组中出现次数超过等于一半的那个ID(我只答了用候选数遍历的方法,时间复杂度O(n),但是只能找超过一半的ID)。他问那等于一半的怎么办呢(我说如果ID有范围的话,那用hash存储次数吧)?他问如果ID是32位整数怎么办?(我又不会啦,哈哈)
  6. 25匹马求最快的5匹马,有5个赛道。(智力题)
  7. 连连看问题,如何判断两个相同图片可以消除掉?

2面:(一面之后一个半小时,hr给我打电话)

  1. 问是哪里人,为什么想来北京?
  2. 意向工作城市排名,
  3. 玩过什么游戏?玩游戏氪金吗?
  4. 杭州有那么多大公司,你有没有投简历呢?有什么公司?
  5. 分别问每个公司面试到几面啦?感觉如何啊?
  6. 如果阿里云,网易游戏,完美都要你,你怎么抉择?如果阿里云和完美要你,你怎么抉择?
  7. 你觉得你花时间最多的是?花的最多钱的是?
  8. 你觉得遇到最大的挫折是?
  9. 朋友和老师都怎么评价你的。给三个形容词
  10. 期望的薪资水平(我居然以为是正式offer,说了14k。哈哈),得知问的是实习工资(我说无所谓)
  11. 家人在哪工作,支持你来北京吗?
  12. 有没女朋友?女朋友会支持你来北京吗?

网易游戏(C++游戏研发)

1面:(现场面)

  1. 聊项目,如何优化啊,有没考虑其他因素啊之类的。
  2. 虚函数的内存结构,那菱形继承的虚函数内存结构呢
  3. 基类的析构函数为什么需要是虚函数
  4. 构造函数可以是虚函数吗
  5. 成员函数可以调用delete this吗?为什么?
  6. 四种类型转换?static_cast向上向下转换时的会出现什么问题。dynamic_cast失败的话会怎样。
  7. 进程死锁的四个条件,进程通信的方式
  8. 多线程和多进程的区别,怎么抉择
  9. python垃圾回收的机制?如何判断是否循环引用了。(链表判断是否有环,需要手写代码)
  10. 游戏设计题。一个地图中有许多玩家,如何设计算法,最有效的输出所有玩家周围的一部分玩家的信息。(需要考虑玩家运动的情况)


腾讯

1面:(可能是终面)

  1. 问我愿不愿意来深圳,问我是哪里人
  2. dynamic_cast怎么实现的。RTTI让你设计,你怎么设计?
  3. 成员函数里memset(this,0,sizeof(*this))会发生什么
  4. 菱形的多继承下虚函数的内存结构
  5. 方法调用的原理(栈,汇编)
  6. C++方法调用和Objetive-c的方法调用有什么区别?
  7. STL map是什么实现的,红黑树的原理?
  8. boost了解吗?
  9. gdb调试用过吗?用的什么编译器?做过什么C++项目?
  10. objective-c的runtime,消息转发,metaclass。(我实在没时间复习OC了,所以这方面答的很差)
  11. objective-c和python的区别在哪里?
  12. TCP/IP卷1看过没?有什么协议是你觉得最吸引你的?滑动窗口是什么?如何用UDP来模拟TCP
  13. Socket有使用过吗?都遇到了什么问题?
  14. 智力题:《谁养鱼(爱因斯坦谜题)》,告诉我题目之后,问我如何用编程实现。(我回答用遍历)那时间复杂度是多少,如何设计数据结构存储呢,怎么做的?
  15. 3000个胡萝卜,一只驴最多背1000个,每走一米吃一个胡萝卜,如何走完1000米剩的胡萝卜最多。如何用编程的思维解决。
  16. 游戏AI你会怎么设计?
  17. 图片拓扑流听过吗?像百度图片那样的。你会如何设计客户端?

(由于收到了网易游戏的offer,没有做腾讯的笔试。后来还是收到了面试通知就去了现场,第二天又让我去,我就觉得太麻烦了就鸽了,所以只有一面的面经,比较基础。)

校招1面:

  1. 内存对齐问题,struct的字节数等。为什么要设计内存对齐,为什么不一个一个字节来读取。
  2. C++中有什么容器。vector和list的区别,如果要设计一个最近聊天列表,用什么容器比较好
  3. vector的容量是怎么增长的,为什么要设计两倍的增长
  4. string a;字符串a这是存在哪里的。为什么在a在栈上,但是在动态增长的时候,栈不会溢出?
  5. 栈和堆的区别?
  6. new和delete,new []和delete []。
  7. 语句

char *p = new char[32];

如果用delete p,会发生什么

如果用malloc和free怎么申请和释放32个字节的buffer。

如果用free(p) 可以吗?

为什么delete []就可以删除整个数组。

  1. 项目做的什么,负责的什么。然后怎么思考啊,是怎么实现的啊之类的。
  2. n的阶乘。结果尾数中有多少个0?(编程之美的题) 手写代码
  3. 大数乘法,手写代码
  4. 实习时间,为什么想来深圳工作?有没有女朋友?

总结:

我觉得阿里更注重项目和分布式,多线程方面的知识。网易游戏的话更注重算法和C++吧。腾讯的话就什么都问,从C++的内存结构,RTTI,到网络编程,到智力题的算法实现。同学们可以根据自己要投的公司再好好准备准备。与君共勉。

准备实习之前刷过的书籍有《C++ primer》,
《深度探索C++对象模型》,《Effective C++》,《STL源码解析》,《剑指offer》还有就是一些网络和操作系统的书。刷了leetcode前120的题
目。

给未来找C++研发实习的学弟学妹的一些建议:

  1. 最好在找实习之前,先把C++
    primer刷几遍,不懂的可以做个笔记,下次再看。当你看《对象模型》的时候,你会发现Primer中看不懂的知识都能在《对象模型》中迎刃而解。(关于Primer的学习方法我是参照https://www.zhihu.com/question/32087709中的第一个回答来做的)
  2. 《STL源码解析》最好也看看。面试官很喜欢问vector,map等的底层实现或者动态增长,如果不看书,关靠看博客和面经的话可能理解起来比较困难。
  3. 剑指offer是大部分公司一面的算法题,我觉得最好把每个题目都看懂吧。leetcode的话前100题确实很经典,二分查找,hash,动态规划,二叉树等的知识也可以通过刷题来巩固。
  4. 网络的话肯定是TCP/IP详解
     卷1,有时间的话可以再看看Unix网络编程。时间更充裕的话最好刷一刷陈硕的《linux多线程服务器编程》,对多线程的知识会有一个了解。
  5. 最后一个建议就是越早准备越好,投递简历、面试期间只适合整理牛客网上的面经以及自己的面经,补缺补漏。毕竟面试题都是随机的,想要在面试中表现好一些,最好还是平时多积累。
时间: 2024-08-10 08:19:53

C++面经 阿里,网易游戏,腾讯的相关文章

【个人总结】写在网易游戏和阿里实习前

阿里,三次技术电面 + HR 电面,offer. 网易 cc 语音 TTT 计划,霸笔 + 两次技术面试 + hr 面,offer. 微信,笔试+面试+笔试+总监面,被总监斩了... CVTE,hr 邀请,笔试 + 技术面 + hr 面,offer. 网易游戏,笔试 + 两轮技术面(每轮两个面试官面一个小时),offer. 腾讯 sng 事业群,笔试 + 两轮技术面 + hr 面,offer. 为了留住各位童鞋的脚步,我前面的铺垫做得不错吧,够标题党吧....这年头为了点击量也是蛮拼的....拿

人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经

转自:http://www.itmian4.com/forum.php?mod=viewthread&tid=3985 首先感谢师兄在两年前发的贴([天道酬勤] 腾讯.百度.网易游戏.华为Offer及笔经面经 ),这篇文章对我帮助很大. 我写这篇文章一是为了感谢这位同是华南理工但素未谋面的师兄,给我推荐这篇文章的炳爷,以及为我解决难题的浩子,羊兄给的项目帮助,洁洁的理解,王兄提供的两个月免费住宿,以及互娱的BOSS,leader,金山的朱先生等人对我择业的帮助,以及所有直接间接帮助过我的人.二是

跟网易、腾讯学习游戏开发流程

MGAS大会期间,Bird和海外游戏行业的朋友交流发现,他们形容内地移动游戏行业时认为这几乎是一场巨变.短短几年的时间,中国的移动游戏已经可以代表全球最高水准. 如果要找出2015年中国手游的代表,Bird想到了梦幻西游和全民突击.今天大家来跟Bird看看网易和腾讯这两家公司是怎么开发产品的吧. 做移动游戏抢的是时间窗口 在基础研发环境和工具极大完善的今天,把握住游戏上线时间窗口非常重要,机会稍纵即逝,错过可能就意味着永远的失败. 梦幻西游是端游时代的回合手游标杆,但在当时手游端已经有了神武这一

网易游戏还能否撼动腾讯游戏霸主地位?

今年9月,网易发布了由<阴阳师>改版的<决战!平安京>,正式面向腾讯的<王者荣耀>发起挑战.如今,网易游戏和腾讯游戏为了能成为游戏行业的老大展开了一系列的激烈竞争. 根据国外权威移动游戏产业媒体PocketGamer的最新报告我们了解到,在"全球50大手游发行商"中,腾讯游戏排第三,而网易游戏排第四. 网易游戏如何一步步成为腾讯游戏的劲敌? 网易游戏虽说不是游戏行业的龙头老大,但其地位也不低,而网易之所以能在众多游戏中突出重围成为行业"二把

亚马逊云、阿里云、腾讯云三国鼎立-横向对比

随着亚马逊AWS步入中国市场,阿里云和腾讯云进军国际市场,目前我们所看到的,是一种愈来愈明显的三国鼎立的态势,亚马逊云.阿里云.腾讯云逐渐割据国内云服务的产业版图. 阿里云.腾讯云.亚马逊云到底该选谁?谁的性价比高?谁又更适合我?恐怕大家都是各执一词,说什么的都有.我也曾为此而困惑,相信很多人也是一头雾水吧.不过,通过近期研究,对这几个厂商有了一定的了解,做一个横向对比,如下: 一.厂商规模 亚马逊AWS,论全球线路资源和数据中心实力,亚马逊是毋庸置疑的行业老大.2006年开始涉足云计算,今年8

网易游戏WEB前端开发面试经历

过年后开始各大公司春招了,这时候学生涌入市场,特别是大型的互联网公司更受众多学生的欢迎.然后我在工作之余也投了一下简历,毕竟那么多大公司都在招,错过也不好.就算不进,积累下面经还是不错的,然后知道自己有哪些不足,还有时间弥补. 没想到投了一两天就收到网易游戏的web前端实习的面试,然后只有一两天准备,我也就赶忙看了下面经,复习下javascript.css.html的基础.不过面试过程还是被虐了.唉 网易的环境很好,一进去就有一种很香的淡淡的味道,然后在今天那么热的情况下,开着空调,总是能让浮躁

九宫格----记网易游戏2015年研发类笔试题

最近一直在找工作,昨天参加了网易游戏的研发类笔试,题量比较大,大题有6个. 1.最小字典序字符串, 2.递归绘图函数转非递归 3.游戏编程中常用的数据结构4叉树,有三问,一问是写出如何判断点在矩形中和判断两矩形是否相交,第二问是写创建四叉树的实现,第三问是如何根据已知的矩形块,在四叉树中寻找包含的物体. 4.KD树,英文题,没怎么看,第一问问给出的一个算法的复杂度,并分析:第二问是自己实现算法(没怎么看) 5.求带权二叉树的最长路径,权值可以为负值 6.九宫格,就是手机手势密码.有三问,一问是如

Apache Kylin 在网易游戏的落地实践

网易游戏工程师在2018年6月 Apache Kylin meetup @ 深圳场的分享,介绍了网易游戏为何选择 Apache Kylin 做为大数据在线分析平台,并基于 Kylin 所做的优化和改进等实践. 篇幅过长,原文地址https://www.slidestalk.com/s/ApacheKylinInNeteaseGames 原文地址:https://www.cnblogs.com/slidestalk/p/9796844.html

阿里云 VS 腾讯云 VS 华为云 VS 七牛云 VS Ucloud 国内五大云服务商云主机评测报告

前言 对于所有的公有云服务商来说,云主机是非常基础且重要的业务.那么在高性能云计算方面,作为互联网巨头的阿里云.腾讯云以及新兴云计算企业的代表华为云.七牛云和UCloud又有怎样的表现呢?最近,我们选择了阿里云.腾讯云.华为云.七牛云和UCloud这几家主流云服务商的云主机产品进行评测. 主机选取 虽然任意一家云服务商都无法保证同一系列所有的机器性能都一致,但通过样本的检测我们还是能大致了解各家云服务商的实力.本次选择的云主机配置为4核16G.为了较为公平的比较各家云服务商的主机性能,我们尽量选