原文地址

首先感谢师兄在两年前发的贴(【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经 ),这篇文章对我帮助很大。

我写这篇文章一是为了感谢这位同是华南理工但素未谋面的师兄,给我推荐这篇文章的炳爷,以及为我解决难题的浩子,羊兄给的项目帮助,洁洁的理解,王兄提供 的两个月免费住宿,以及互娱的BOSS,leader,金山的朱先生等人对我择业的帮助,以及所有直接间接帮助过我的人。二是饮水思源,要把这份活水转赠 出去以帮助到更多的人。

我用完之后是这个样子,你们用完之后也会是这个样子。 = =~

文笔不好,表述不清的地方还请见谅,记录自己的找工作历程,如果能为有需要的人提供到一点帮助或启发我就很心满意足了,同样攒攒RP~嘿嘿

-------------------------------------------公司面试回忆----------------------------------------------------
(面试很大不确定性,这些仅是自己的相关面试经验,不会涉及到具体面试题目的表述,公司考查的都是常见问题,这里不涉及对具体问题的探讨,只会说个大概谨供参考~)
一、2013年4月,腾讯互娱,后台开发工程师(实习)-------------------------------
1)一面,当天人爆满,十点半进到808房间(挺吉利的号码~),面试官整个过程一直面带微笑,一面在轻松的氛围中度过~(40分钟)主要问到:
1. FTP服务器怎么实现(因为自己有写过),多线程磁盘读写效率(由于磁盘寻道随机性增加而导致I/O效率呈线性下降),是否考虑到断点续传。为什么要用epoll,优缺点是什么,epoll的两种方式,各有什么不同。
2. TCP为什么要三次握手。
3. vector的容量增长的题目,vector a; push_back八次对象,求总共调用多少次拷贝构造函数。另外问到vecter和set的底层实现。
4. 空对象的大小,加虚析构函数又怎样呢。
5. 写算法,求二叉树中某个值为5的结点到根的路径。
6. 看我写过抓包软件,问有没尝试分析一些软件的数据包。
7. 字符串倒转。
8. 排序有哪些,快排的思想。

2)二面总监面,态度也很友好,谈话挺轻松的。(40分钟)
主要问到:
1.一上来看我简历上编译器相关内容,问我基于什么原因要写,以为现场写汇编的节奏,结果是要写strcpy(),大跌眼镜~;
2. FTP服务器怎么改进,果断把上次一面面试官说的答上。提到如果进程崩溃,文件缓存区内容还无法写到文件中怎么办,我回答用数据库的回滚思想,做记录。后面说可以用文件映射和共享内存等等。问用共享内存需要注意什么东西,让我回去想想。。
3. 问网络,问项目中为什么要考虑用TCP(文件传输难道用UDP?= =),不用TCP流量控制,传文件还不爆掉阿。。问迅雷的协议是什么,问优酷土豆这些视频网站是用什么协议传输视频,答可能UDP组播。问熟悉P2P不,叫我回去了解。。
4. 问语言,问面向对象继承封装多态,问动态多态的实现,STL容器,还是问到vector增长(这么喜欢问这个)。
5. 写算法,升序链表的合并。(现场手写代码能力要加强)
6. 问连连看外挂,问基于什么原因要写。
7. 问实习,谈到说实习公司LINUX下用到mono来开发C# , 自己参与C++重写。

3)三面HR。当知道hr面不怎么刷人也就放下心来了。自己好好想了下,看了腾讯的基本信息。
主要问到:
1. 自我介绍:扯游戏和技术
2. 平时学校生活怎么安排:起床看网页看小说学习吃饭健身跑步锻炼游玩
3. 说下腾讯的产品的看法:QQ消息丢失的问题,QQ密码安全的问题
4. 各种问,还问考研考了多少分,英语怎么复习的,哪科考的最好
5. 你认为自己做过最成功的事:说游戏打到好装备= =~,考研,项目
6. 介绍参加的社会实践,问以前有没实习经历
7. 谈自己研究生生活的得与失:得-知识能力积累提高 失-没有搞什么研究,或者自己不是想纯搞研究的人吧

纠结的十多天,期间有一批同学签约了,自己这里还毫无音讯,到5月1号,微信通知招聘结束,这下觉得可能要没戏了,后来发现这是个系统错误,希望又来,果然5月2号下午四点半收到OFFER通知~ (记我难忘煎熬的腾讯实习面试经历)

二、2013年9月,人人,后台开发工程师-------------------------------
1)一面,一上来写个aabbbccddff化为abcdef的去重算法,想复杂了,其实的话只要将后面的移到前面来就行了(我是不是太弱了。。。)。接着问腾讯实习作业,磁盘的效率问题,并发的取舍,实现的UDP可靠传输效果如何,最后考了个0(1)时间求栈中最大元素的算法。这个没想出来,其实考虑到栈的出栈入栈特点的话,很容易解决了。

2)二面,一上来又是算法,画个不规则的多边形,现在每条边都需要一条等长的木头,给定一块足够长的木头,要以最小的体力值把这些边长木头出来(体力值等于木头的长度),其实这就是个哈夫曼算法。提示很多次才想到这里,还好最后算法实现比较快。接着问了linux查看内存,查看磁盘容量剩余,怎么通过ls输出目录。

3)三面,问 了key/value存储,有什么优缺点,什么场景下用。问了一个分布式key/value存储要如何保证映射可靠,答通过中心代理来负责映射,那缺点又 是什么。接着问,如果不同的例程都要向某个key更新更大的value值,如何在不用信号量,同步锁这些的情况下保证最终value是最大的(同步,set get循环巧妙)。后面问了个海量数据中找第k大数(1.其实可以直接采用桶划分,即使是64位也最多三次遍历就可以了。2.也可以采用位滤除,但磁盘操作太多 3.k堆滤除,但k如果太大会频繁交换内存 4.分配到多机,多机同时外存排序,并有另外一台机子作多路归并)

顺利拿到了offer~可北京不太想去

三、2013年9月,金山西山居,后台开发工程师------------------------------
1)一面,面试官是湖南老乡,一上来问了各种c++问题,如new,delete,malloc,free的区别,new a[5]再delete a的编译器未定义行为及深层原因探讨。接着问了个内存分配,说堆中有1G的内存,但内存还够用,但为什么就分配内存错误了。问了C++类的构造顺序。问了TCP的黏包现象。一个是nagle算法,一个是应用层数据的包无边界问题,这是无法解决的,因为TCP管不到应用层的事,它只负责按字节流传输。问了火车运煤,拉灯的智力问题。。开玩笑带过去了。。。

2)二面,是个做手游3D的总监,一上来也是问编译器,说不懂编译原理,他就说你是怎么去做的这个东西,我就说了一通,最后他说这样先实践再看理论也是不错的,说他喜欢这种搞钻研的人= =~。。。后面问到多线程需要注意的问题,问到FTP做的目的。

3)三面,见到CTO陈飞舟,居然不认识他。。。首先也是一上来问了个编译器的问题,函数声明和函数定义是如何区分的,编译器怎么判别出来。后面问到我做的腾讯实习这个作业,说到并发策略那块(多CPU核开网络中断是需要特殊网卡,特殊平台及更高版本的linux支持)。问我有没代码积累,讲他的代码积累的习惯。问我以后想从事哪方面工作,跟我讲他在各个不同产品部门间积累代码,高效最优完成的结果。讲到选择,讲到自己认同公司的价值观。讲到游戏产业,为什么虚幻三用不起(美术的整体工业环境不行,同样的效果图,美术资源是暴雪美术的4倍)。讲到云风,讲到雷军和小米,看了下桌子上的小米3S工程机= =~。

拿到金山offer~ 这个offer真是很难割舍,几轮面试官都给人印象都很好,整个西山居环境也很是不错,自助食堂餐厅,工作间旁各种游戏机,在珠海拿着还不错的待遇过的应该很舒服。。。
在婉拒offer后,面试官还给了我一些在微信和网易游戏间如何选择的中肯意见,甚是感激。

四、2013年10月,微信,后台开发工程师------------------------------
1) 一面,一上来丢了6个算法题过来做,要四十分钟的样子搞定,单都是基础算法,什么链表,二叉树之类的,其中的两个字符串的最大公共子串没有较好的解决办 法。问key/value缓存,它具体是如何实现的。瓶颈在哪,怎么保证负载。后面问腾讯互娱后台的负载均衡低耦合架构,这里说的不是很好。问磁盘效率优 化,如何做的优化,测磁盘数据怎么测,通过什么命令(top,iostat),iostat的参数如何去看,读写队列,等待时间与服务时间的比例,空闲比 例。编码规范(命名规范,固定的括号样式,函数注释与关键注释,异常说明,类的访问控制规范)。问网络编程应该注意的地方(TCP和UDP取舍),问 UDP实现可靠传输是如何实现的。是否做过测试,拿scp来做为对比的恰当性。问网络方面的调试用到的命令,如 tcpdump,lsof,netstat,问编译器,如何实现的,是否考虑到中文编码问题的解决。编译器的实现流程。问查看一个进程的运行情况的命 令,top,/proc/pid/,问如何统计出函数的使用频率,用valgrind。==。压力较大的一次面。。

2) 二面总监面,自我介绍,之后问我做的最好的一个项目,说了编译器,最后再叫我介绍个项目,说了UDP文件上传服务,问了UDP可靠传输的具体内容,好奇为 什么速度可以达到SCP的两倍。问我本科为什么没写什么东西,答的不好。问平时读什么技术书籍,自己说linux内核详解,我说内存,介绍了一遍,最后问 内存这块有什么用到项目中的吗,其实是没有,但可以说的更好一些的,如可以说对动态内存的理解,线程创建实际的开销在内存方面是有多大。说了文件中的 mmap,直接I/O。问三个优点,最大的缺点。。

3)三面hr面,自我介绍,以后自我介绍尽量要充实点,问了拿到几个offer,问了以后的工作意向,是否愿意留广州,问自己觉得做的最出色的一个项目,为什么是最出色的,嗯,这点要多想想。

顺利拿到offer~

五、2013年10月,网易游戏,游戏研发工程师------------------------------
1)笔试,这个要提下,总共三个小时的题量,而且题目都不简单,前面30题的基础题,每题一分,都不是好搞的。后面6个算法题,涉及数组灵活遍历,算法非递归实现,BNF,链表,图,布隆过滤器等。大多是写了一小问,难~(其实后面想想还是自己对知识的灵活运用能力不足吧)

2)一面,开 始做的矩阵乘法测试题,反复检查发现就只是矩阵乘法,还是自己想多了。首先自我介绍。介绍C++,C++和C的区别,出了个c++多态的例子,考的还算比 较活的,但顺利做出来了。介绍TCP协议。问了epoll,epoll的特性,LT和ET的区别。问了进程的内存布局,由于都有充足准备,答的都可以。出 了BFS算法和扩展问题,出了线段树的问题,最后是一个如何以最快时间找到与给定点最近的点算法,说了取整预处理思路,但数据存储会有问题,如果问题域是 无限的,又如何去设计这样的数据结构来存储。问了编译器的实现。

3)二面,一 上来就是四张扑克牌要算24点,当时为毛想不出= =~,后面是给算法解决。桌面均匀放点算法,最后是要求一个点在扇形中如何随机放的问题,说了按弧度和半径来随机的想法,但这样会集中在扇形顶部,说了按 顶部和底部的面积来分,这样又不能处理连续的情况,而且也会出现同样的问题,最后提到连续随机密度函数的思路但没能给出最终正解。给个随机洗牌算法,如何 证明洗牌是随机的。也问了编译器,叫我介绍一遍。最后问为什么没有hr面了,他说需要的话可以给我安排。。我就很自觉的滚粗了~

顺利收到offer

-------------------------------------------公司面试回忆----------------------------------------------------

这些便是我一路过来的面试历程了,我不是技术牛人,能拿下这些offer主要是准备还算充足,今年就业形势好,另外运气还不错,这里谈谈自己是如何找工作及准备的。

-------------------------------------------找工作及准备----------------------------------------------------
首先确定目标,自己刚出去还是想从事技术工作,偏实干,所以首选互联网公司。

如何准备的话,我的想法是不能为了准备而准备,同时也可以当做一种学习来巩固自己的整个技术框架体系(个人认为,在学校还是很有必要把整个技术体系架好)。

那么我会分成算法,语言,系统三个部分来准备。
算法:
自己不搞ACM,自知也不是搞ACM的料,所以这块还是比较虚的,那么怎么较好得消解这个短板呢?
1.我首先是把weiss的那本《数据结构与算法分析》大概看了遍的,多动手,尝试着解决后面的一些算法问题,问题不在多在精。
2.一定要多动手,训练自己的手写代码能力,大可不必去钻难的算法,基本算法搞定面试基本无 忧。问问自己能把插入,选择,冒泡,希尔,快排,堆排,归并等排序正确高效地写出来;能写循环队列实现;能对链表指针插入删除等操作熟悉;二叉树各种遍历 递归非递归实现,常见算法写的出;优先队列(堆)的实现能否写的出;图的基本算法,DFS,BFS,最小生成树,最短路径;熟悉贪心,分治,动归,回溯等 算法设计方法及适用场景;深刻理解迭代跟递归的区别。
3.熟悉一些常见的高级数据结构,如红黑树,B+树,线段树,跳表,并查集等,不要求实现,原理、基本实现流程知道即可,如红黑树的是怎么插入删除结点的(你叫面试官现场给你写个红黑树试试= =~)。
4.查漏补缺,可以看《编程之美》来启发自己的灵活运用能力,看JULY的博客来看自己能否解决常见的一些算法面试题,什么微软100题之类的。

语言:
由于平常多用C++,所以准备的也多是这块的。
1.STL是否熟悉,当然最好是自己可以尝试写写与STL兼容的容器,算法之类来增加理解,了解vector,list,set,map的底层数据结构实现。
2.C++语法机制是否熟悉,我看的是《C++ Pimer》和《c++ 对象模型》,对象模型画的出吗;多态是如何实现的;异常框架是否知晓;构造,析构,虚函数的关系;
3.适当了解C++11新特性,如move语义,auto类型推断,lambda表达式等。
4.当然语言终归是工具,是联系算法逻辑和系统的桥梁,还是需要在自己的项目中去总结怎么用好C++这把双刃剑。

另外后台开发,脚本语言也是需要熟悉,如SHELL,常用命令要知道吧;基本的正则要会写吧,这些对工作效率也有很大提高的。

系统:
这部分就比较杂了,个人比较喜欢对技术究根问底,所以汇编,编译原理,系统内核实现,网络原理实现都会有涉及。比如:一个程序如何编译成汇编语言到链接成 可执行文件,程序如何被装载运行,操作系统做了些什么,程序的内存布局是怎样的,栈是如何分配的,堆是如何扩张的,文件映射内存在哪,操作系统是如何实现 的。虚拟内存到实际物理内存是如何转换的,硬件负责什么,操作系统负责什么,操作系统怎么管理内存又如何影响到实际程序的执行,文件是什么等等。下面我会 例举几个大点。
1.汇编,程序链接这些比较杂的(当然这些看个人兴趣),我会看《深入理解计算机系统》,这本书讲的不错,= =~我只是选着看了一点点。
2.系统内核这块,我看的是那个女人拿个大盘子的《Linux内核详解》,主要看了内存,文件这几块,真正从代码级来理解一个操作系统,也只是浅尝则止,没有进行深入研究。另外像epoll这种几乎必问的可以考虑看看内核源码,管道,FIFO,文件映射,共享内存等是如何实现的。
3.系统调用接口,posix编程环境这块就是两个大部头,《UNIX环境高级编程》和《UNIX网络编程》,这些对我的实习及一些项目的编写都帮助挺大,不是说要去记这些接口,只是要有个整体把握。
4.计算机网络这块看到就是《TCP/IP详解-协议》,了解从链路层到应用层的协议,真正的理解TCP的优缺点,为何需要有UDP。
5.再就是对一些系统架构上的东西要有了解,如负载均衡有哪些策略,高性能服务器需要注意什么,什么是C10K问题,key/value缓存,事物处理这些。

我一直觉得不是为了找工作而找工作,如果同时这又是种提高和积累,何乐而不为呢?

-------------------------------------------找工作及准备----------------------------------------------------

总结下来就是: 明确目标->选择方法->踏实准备
好了,到这里也差不多了,我的不一定适合后来者,如果能有一点借鉴意义,那就是我最大的安慰了。祝大家都找到满意的工作~

转载于:https://www.cnblogs.com/fightformylife/p/4081394.html

人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经(转)相关推荐

  1. 互动娱乐成互联网新战场 腾讯互娱走向前台 阿里小米忙布局

    行业嗅觉敏锐的人或许已经发现,近段时间有关互联网巨头布局游戏.文化等产业的消息越来越多.腾讯游戏官方微博于18日透露,将在4月举办UP2014腾讯互动娱乐年度发布会,腾讯互娱潜心布局十年将正式从幕后走 ...

  2. 腾讯互娱技术总监张正:《天涯明月刀》后台技术创新

    9月23日,首届"梦想·匠心"腾讯游戏开发者大会于深圳举行,在技术分论坛上,腾讯互动娱乐<天涯明月刀>项目技术总监张正分享了<天涯明月刀>的后台技术创新.拥 ...

  3. 【大咖有约】腾讯互娱康中良:游戏云存储-TRedis高性能缓存及持久化

    腾讯互娱高级DBA康中良先生将作为DTCC 2016中国数据库技术大会特邀嘉宾出席.并将于5月12日大会"NoSQL技术实践"专场分享题为<游戏云存储-TRedis高性能缓存 ...

  4. 网易互娱2018校招游戏研发工程师在线笔试

    如果题目版权限制,不能发表该题解,请私信,我会立刻删除博客. 题目描述 注意:本题只允许使用C/C++或Java进行解答,其他编程语言提交均视作无效处理. 小W有一个电子时钟用于显示时间,显示的格式为 ...

  5. 【转】腾讯、百度、网易游戏、华为Offer及笔经面经

    [转]腾讯.百度.网易游戏.华为Offer及笔经面经 [题注]:转载的目的是告诫自己,认清差距.时时警示自己,要加油! 转自:http://bbs.yingjiesheng.com/thread-10 ...

  6. 【2020校招总结】接受社会的毒打,收获腾讯天美、字节跳动、网易互娱、华为等offer(开发岗)

    文章目录 0.背景介绍 1.时间节点 2.关于暑期实习 3.关于刷题及看书学习 4.关于测评 5.关于笔试 6.关于面试 7.关于岗位选择 0.背景介绍 回忆起下决心转行,已经快一年的时间了,当然,如 ...

  7. 面试-----211小本的求职之路拿到腾讯阿里人人网易游戏offer

    从上半年的实习生招聘开始加了IT面试群,也开始关注这个论坛,在群里也认识了很多朋友,感觉这确实是一个不错的平台,群主以后去了杭州也要坚持维护下去啊! 如今半年过去了,找工作的事情差不多也定下来了,所以 ...

  8. 网易互娱2020校招游戏研发笔试题

    网易互娱游戏研发笔试题 第一题:判断一个数的二进制是否为回文串(AC) 方法一:存成数组之后比较 #include<iostream> #include<algorithm> ...

  9. 腾讯、百度、网易游戏、华为Offer及笔经面经

    面试完毕,已跟网易游戏签约.遂敲一份笔经面经,记录下面试经过.类似于用日记记录自己,同时希望对师弟师妹有一定帮助.不是炫耀,只是希望攒RP,希望各位不要鄙视我. 正所谓"饮水思源" ...

  10. 腾讯,百度,网易游戏,华为笔面经验

    应届生上泡了两年,一直都是下资料,下笔试题,面试题.一直都在感谢那些默默付出的人. 写这个帖子花了我两个夜晚的时间,不是为了炫耀,只是为了能给那些"迷惘"的学弟学妹,一点点建议而已 ...

最新文章

  1. spring-boot-maven-plugin 插件的作用(转)
  2. Docker源码分析(七):Docker Container网络 (上)
  3. 佳能2900打印机与win10不兼容_佳能2900打印机和惠普1020哪种好 佳能2900打印机和惠普1020对比【详解】...
  4. matlab求逆矩阵_MPU6050姿态解算2-欧拉角amp;旋转矩阵
  5. RocketMQ是怎么存储消息的?
  6. java 高并发im_java高并发(四)并发编程与线程安全
  7. Bug提交规范及注意事项
  8. pandas创建DataFrame
  9. C语言小项目----图书馆管理系统
  10. python字符转换unicode编码_Python字符编码转换Unicode和str
  11. Mac连接路由器后没有反应_路由器安全技术——黑白名设置三步法
  12. P、NP、NPC、NP-Hard
  13. 备份自查-微博错误代码
  14. Atom处理器喜迎周岁生日 主频达2GHz
  15. 2017 CCPC 秦皇岛 G题
  16. kubectl edit 与kubectl rollout
  17. 通往财富自由之路详细笔记(16)
  18. The Fewest Coins (混合背包)
  19. 文明与征服阵容搭配,文明与征服阵容推荐
  20. html书写表单laber,laber(labelhood是什么意思)

热门文章

  1. tftp服务器的配置文件,tftp 服务器 系统配置文件
  2. php递归5,5.5.1 PHP递归函数
  3. web前端 html+css+javascript网页设计实例 家乡网站制作
  4. outlook发邮件的服务器,outlook中要求写接收、发送邮件的服务器,应该怎样写?...
  5. 阿里云CentOS7服务器搭建邮件服务器,端口:465
  6. 后端游戏引擎调研-2021.07
  7. Linux终端登QQ,Linux下登录腾讯QQ的方法
  8. 用python做查询系统_用python制作全国身份证号验证及查询系统
  9. php网站鼠标美化,几款耐用的鼠标指针皮肤,简约清新
  10. 手机摄像头驱动_聚辰股份,智能手机摄像头EEPROM产品供应商