zoukankan      html  css  js  c++  java
  • 腾讯、百度、网易游戏、华为Offer及笔经面经

    原文出处:http://bbs.yingjiesheng.com/forum.php?mod=viewthread&tid=1011893&fromuid=1745894

    应届生上泡了两年,一直都是下资料,下笔试题,面试题。一直都在感谢那些默默付出的人。写这个帖子花了我两个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已。大家何必那么认真,更没必要说脏话。我不在乎你们怎么评价我。只要有人觉得帖子有用,我就欣慰了。谢谢大家,别说脏话,以和为贵。饮水思源,谢谢应届生上默默付出的师兄师姐,谢谢那么多份笔试题,面试题,没有这些资料,就没有现在的我。真心感谢。
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    面试完毕,已跟网易游戏签约。遂敲一份笔经面经,记录下面试经过。类似于用日记记录自己,同时希望对师弟师妹有一定帮助。不是炫耀,只是希望攒RP,希望各位不要鄙视我。
    正所谓“饮水思源”。
    小弟来自广州华南理工大学,计算机科学与工程学院。给华工计算机打一个广告吧,呵呵。。。
    ------------------------------------------------------------------------------------------------------------------------------------------
    一 腾讯(2011 4月):(所报职位:后台开发工程师 – 深圳)
    腾讯是我一直准备的公司,所以对笔试的知识点及面试侧重点有一定的了解。
    @笔试
    一份2个小时卷子,挺基础的,具体什么题记不清楚了。涉及网络原理,c/c++语言基础及高级机制,基础数据结构及算法,数据库,linux基础,linux下可执行文件组织机制(内存布局,.text,.bss,.data组织方式等)。
    因为一直在准备,所以这份卷子答起来,相对比较顺利。成绩有80+,这个为通过实习面试起决定性作用。
    今天笔试卷子可以勾选bussiness unit(BU),果断勾选B3(互动娱乐)。
    @一面
    我习惯面试带简历(因为希望面试官多注重自己的项目经验,少问些算法,体现下自己优势吧),见到一面面试官,直接双手递上一份简历。果然面试官对着简历开始问,看着简历中写到的技能一项项问。
      c++ 问了多态实现机制(这个问题屡次被面试官问),直接把insight c++ object models书里面的内存布局图搬上去,面试官非常满意。
      tcp/ip原理 ,问了TCP状态变迁图,TCP/IP接受发送缓冲区相关概念。
      对Unix环境编程、网络编程问的较多,不过都是Apue,Unp上面的,从容应答。
      linux kernel,问了一些内核源码相关的概念,问得广而浅,不难回答。
    几个综合问题,1 QQ飞车新用户注册时,如何判断新注册名字是否已存在?(数量级:几亿)
    2 编写高效服务器程序,需考虑的因素?
    3 Epoll机制相关概念(Epoll与Select机制区别),这个概念许多面试官都会问起
    一面答得不错,加上笔试成绩不错。面试官当场说了一些表扬的话,并把他QQ留给我,说以后什么事直接咨询他。我知道自己肯定过了,后面面试走流程吧。^_^。
    @二面
    一个和蔼的大叔,35-45岁,一直在笑。从简历开始,介绍技能,介绍项目经验,对笔试时的系统设计题做改进优化,随便说了下自己想法。
    @HR面
    随便聊天。
    拿到腾讯实习Offer,并在腾讯暑期实习两个月。

    二、百度(2011/10) (所报职位:软件研发工程师 – 深圳)

    对百度的面试一直很犹豫,不知是否应该参加。主要两个原因,一是腾讯已通过实习拿到Offer,二是觉得自己算法很差,怕被鄙视。直至考试前一天,都没有确定是否应该参加。幸运地是,最终克服自己的害怕,走上了百度的笔试考场,有机会体会百度的面试。
    面度的笔试卷子,因部门而异。我报的软件研发,RD-3的卷子。
    @笔试
    笔试题回忆版
    一简答题(30分)
    1 对远程linux/unix系统进行远程操作,通常的途径是采用终端软件通过ssh登陆远程系统进行操作,但是在网络发生中断时,Linux/unix端运行的程序将会中断。
    请阐述这种问题发生的原理、通过何种路径可以避免这种问题、以及阐述可避免这种问题发生途径的原理
    2 最小堆 插入,删除 编程实现。
    3 不知所云。
    二算法与程序设计(40分)(算法可以使用伪代码描述)
    4 给定一个数字编码N,大多数情况下可以找到一个数字编码M,其位数与N相同,各位数字之和与N的各位数字之和相同。并且M是大于N的数值中最小的一个,也可能M不存在。
    如:N=134,则M=143.如N=020,则M=101。形式化表述为F(N)=M。如果M不存在,则F(N)=-1
    要求给定算法计算F(N)序列。
    5 给定序列s={a1,a2,…,an};1)构造算法求全排列。2)构造算法求所有组合。
    三 系统设计题(40分)
    这个有时间再慢慢回忆吧。
    这个笔试可以用超烂来形容,勉强40分(后面面试时,卷子上见到)。笔试当天是星期日,当晚手机没电,充电开机后有两个未接020-*。因为其他童鞋都是短信通知,所以没太在意,自己没收到短信通知,很清楚笔试没过,遂决定霸面。
    星期一:霸面,霸终端研发深圳,见到面试官,但面试官一直忙于找我笔试成绩,我就一直推销自己,项目经验如何,linux如何,内核如何,TCP/IP网络如何,嵌入式开发如何。终于面试官问了几个小题,写了几个编程之美上面的小题。答的还可以,但因为霸面,他一直不爽我。
    这次霸面非常失败,自己也备受打击。
    失落的星期一夜晚,无意中又收到020-*的电话,接起来,对方告知是百度公司,通知星期二去一面。
    星期二:哥今天是有通知来一面,不是霸面了。NND。
    一面:设计数据结构及改进。我做的不好,我坦言数据结构及算法一般,因为自己忙项目,但项目经验及linux,网络知识较丰富。遂转问linux及内核源码,tcp/ip原理及实现细节。
    他拿着笔记本上网查问题,我压力大啊。问题广而深,幸好linux掌握的还可以。
    记起来的问题有,linux操作系统作用,内存管理在源码哪个目录(mm),说些进程调度内核实现大致机制,TCP/IP接收发送缓冲区,内存管理实现机制。又对项目提问题,要求优化。
    面试快结束时,面试官直言我数据结构及算法掌握的不熟练,以后希望强化。虽然知道这可能意味被淘汰,但还是特别感谢他,遂说了N多谢谢,但都是真心的。因为对比他和霸面的面试官。
    星期二晚上一直没通知,我等到12点就睡了。失望,绝望。虽面试时知道自己可能被淘汰,但仍不愿接受这个事实,但现在不得不接受,带着遗憾入梦。
    星期三晚上,没有期待的时候,不经意又是百度的通知。那一刻,死里逃生,我想尖叫。
    星期四:二面:两个算法都是编程之美的。其他就是linux、内核,网络、项目,高效服务器,如何预防攻击等题目,发挥的不错。面试官一直微笑。我知道三面有了。
    星期五:三面:万幸不问算法,问意向,项目经验,项目细节及能否优化,linux内核等。因为项目确实是自己完成的,所以答的还不错。
    星期日:收到Offer通知。但职位是北京的研发。

    三、华为:(所报职位:操作系统工程师 – 深圳)
    @机试
    给一个数组,求数组中比平均数大的数字个数。
    这题是在考我们的编程能力吗?⊙﹏⊙b汗。
    @一面
    主要就项目问。
    @二面
    群面。技术,非技术总16人,分两组,讨论曹操,刘备,孙权,诸葛亮,谁适合当总经理。这个环节,技术的一直被动。Finally,我们组淘汰了两个(都是技术)。
    @三面
    上机性格测试,104题。这个没听说刷人的。
    @四面
    跟两个“老男人”随便聊,聊项目,聊未来方向,聊华为操作系统发展,聊linux操作系统及实现,很广但很浅。

    四、网易游戏面试 游戏系统架构师
    @笔试 10.22
    网易游戏笔试,三个小时的题,题量还是非常大的,设计计算机各们核心课程,操作系统原理,c/c++,基础数据结构与算法,数学推理题,网络等。题特别多,题特别杂,几乎没有童鞋做完吧。多多益善吧。经历过考研,一些基础课程还是蛮扎实,前40分的题答的不错,后面的算法题做的一般,我只会最笨重的方法。
    @一面 10.24晚上通知11.1下午2点面试
    最次给各位同学提个醒,简历一定要多带几份,以备不时之需。他要求2份,我带了5份,份份都起作用了。
    通知2点面试,1:50签到,开始做题,矩阵相乘,差不多10分钟做完。开始等一面。
    大概2:40通知一面,2个面试官。要求先自我介绍,其次问了一个项目,之后问了一句你是哪里人?你目前拿到哪些公司offer?之后一面结束,不足10分钟。没问任何技术,偶是相当不淡定。
    @二面 11.1晚上通知11.2下午3点面试
    2点半左右到网易准备。大概3点10分,一个女人带我进面试房间。当时紧张了,这是我的第一个女技术面试官?
    进去后,2男1女。面试官先自我介绍,1个大话西游II主程序,1个天下II主程序,靓女姐姐是HR。二面+HR面一起面的。
    问了很多c++高级机制,问了2道基础算法吧。题目回忆如下:
    1 构造函数可以调用虚函数吗?语法上通过吗?语义上可以通过吗?
    2 析构函数可以抛出异常吗?为什么不能抛出异常?除了资源泄露,还有其他需考虑的因素吗?
    3 c++中类型转换机制?各适用什么环境?dynamic_cast转换失败时,会出现什么情况?(对指针,返回NULL.对引用,抛出bad_cast异常)
    4 洗牌算法,如何证明算法是随机的
    100万个32位整数,如何最快找到中位数。能保证每个数是唯一的,如何实现O(N)算法?
    这道题是编程之美或编程珠玑上的。
    这道题使用位图,需要空间复杂度是512M。
    6问了一个他们感兴趣的项目,关于gcc插件的,聊了比较久。
    7 拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?
    8一些题目记不清楚了。
    9聊待遇。
    @签约 .2晚上收到通过面试通知,通知.3下午4点签约。
    网易游戏不同部门不同职位不同面试面试内容不同,但都注重基础知识。还有的一面题目是BFS,这个应该特别容易了,但还有一些童鞋完成的不好。

    如果各位师弟师妹,如果觉得此贴对你们有点点帮助,就祝福下我吧,帮我攒点RP吧,多谢。
    关于书单,列表如下:
    一直准备的是腾讯后台开发,所以针对性很强,难免有偏见,望见谅。
    先贴下腾讯后台开发要求的技能,这些技能要求是我读书的指南针。
    游戏开发类
    后台开发工程师返回>>
    职位描述:
    负责游戏相关后台系统的开发和设计。
    1
    职位要求:
    1、 有Unix/Linux操作系统下的C/C++项目的2年以上开发经验; 
    2、 熟悉网络编程;熟悉Linux下的mysql开发; 
    3、精通TCP/IP协议及编程,熟悉互联网应用协议; 
    4、熟悉面向对象的大型分布式系统设计与开发,了解中间件的技术以及基于中间件的开发模式;
    5、全面的软件知识结构(操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全);
    6、 具备良好的分析解决问题能力,能独立承担任务和有系统进度把控能力;
    7、 责任心强,良好的对外沟通和团队协作能力,主动,好学。
    有以下经验者优先考虑: 
    1、大型分布式系统设计开发经验; 
    2、游戏后台系统开发经验。
    上图:


    这其中大部分书都是研1下,研2上购买的。大部分已读完。一部分书反复读3遍以上。比如apue,unp,tcp/ip v1等。
    重点圈几本推荐下:(*号书籍 强烈推荐)
    c/c++:
    初级 c语言解惑/C和指针
    专家:C专家编程 *
    c++ primer/effictive c++/inside c++ *
    tcp/ip书籍
    tcp/ip v1(tcp/ip 详解 卷I) *** 卷2/3没必要买,也没必要看,这本卷1主要将tcp/ip原理
    unp *** 这本主要将linux socket编程API,两本结合看,效果最佳
    unp2(unix 网络编程第2卷) 这本主要讲IPC,有时间可以看看
    linux书籍:
    apue ***
    深入理解linux内核 *
    其他系列linux源码书籍,适量看即可。
    应试算法及智力题:
    编程之美、编程珠玑
    海量数据处理:
    这个网上收集资料,或者有时间我传上来。
    数据结构:
    数据结构与算法分析-C语言描述 Weiss *
    考研数据结构1800红色题集 (这本书对于向我这种数据结构基础薄弱的童鞋,帮助很大)
    差点没忘了2本至牛的书籍:
    汇编语言程序设计(毫不夸张的说,这本书改变了我)

    深入理解计算机系统

    其他的没什么了,这些书都掌握了,足够了,O了。
    我对嵌入式开发蛮感兴趣的,所以上面photo中也包含部分嵌入式书籍,不感兴趣的可以忽略。
    最后,谈一谈广研和深圳腾讯的一点面试感受。
    广研:
    笔试:6小题,设计基础数据结构:链表,树,字符串。很基础,但也很考验C语言功底。不要说你会,要熟练,要确保你写的代码无误且编程风格优美。这样才能增加筹码。保证你后面顺利通过。
    一面:讲解笔试卷子解题思想,讲解项目。面试过程很随意,面试官主要侧重linux,c++,网络。
    二面:谈一谈项目,就项目问一些问题。问一些他们实际中遇到的问题,你会如何解决? 也是比较随意。
    腾讯深圳:
    笔试: 数据结构、tcp/ip、操作系统、计算机底层机制(包括堆栈如何组织等,apue有讲),20个多选,每题3分,多选少选不得分。40分大题。每空4分,10空。大题基本是送分的。
    这个笔试我得了82分,42+40,  RAID磁盘阵列,b树/b+树,堆,几个问题没把握,错了6个选择题。
    82分,一面面试官说算不错的分数了。
    一面: 可能因为笔试成绩不错,所以面试过程比较顺利。2页的简历,他只看了第1页的1/2,其它的都没看。
    就我简历所列技能问了几个问题, tcp/ip状态转换,socket api,高性能游戏服务器需要考虑哪些瓶颈,我主要就tcp/ip回答的,比如三次握手队列,数据接受/发送缓冲区等。linux也问了几个 proc机制及作用,我直接跟他谈 ls /proc内核如何生成结果,这个是proc文件系统源码所谈,他比较满意。你使用的IPC及比较?  epoll模型及优缺点?(这个年年必考)主要有3点,对应于select的3个缺点:1 连接数受限 2 查找配对速度慢 3数据由内核拷贝到用户态。C++主要问动态如何实现。直接画内存布局,既inside c++所讲,面试官还是比较满意。还问了一些大数量的问题。由于之前准备过,所以答的还不错。
    一面过程中,面试管多次提到他对我非常满意,我也适当的表达了实习后会留职。他把Q号留给我,说以后有什么事,就在Q上联系他。那一刻,我就知,我应该可以去实习了。呵呵
    二面:比较随意,自己讲项目。讲完项目,还有点时间,就着笔试附加题问了些问题。后又结合QQ相册问了些比较难的问题,勉强答了几个。
    hr面:是我所有面试中最惨的一次,由于之前浩哥面hr很随意,所以我就没准备了,因为有一些其他事要做。中午没睡好,4点去面,头晕晕的。被hr问的好惨。主要是谈人生。有几个问题答的不好:
    你是一个什么样的人?
    你到底是一个什么样的人?
    MD,这让我想起另一个极品恶心的女人,所以这2个问题没有发挥好。

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 校门外的树
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 开心的金明
    Java实现 蓝桥杯VIP 算法训练 开心的金明
    Java实现 蓝桥杯 算法训练 纪念品分组
    Java实现 蓝桥杯 算法训练 纪念品分组
    Java实现 蓝桥杯VIP 算法训练 校门外的树
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 开心的金明
  • 原文地址:https://www.cnblogs.com/10jschen/p/3789542.html
Copyright © 2011-2022 走看看