搜集整理的一些面试经验相关的材料

不做笔记的确是会做重复的工作的

华科—网络编程方面

找工作主要就是:项目、语言(c++或java)、操作系统、网络、算法等。少数情况下需要数据库,比如你面试后台,有时就会问到。下面说下自己的一点复习心得:

       项目:这个是我的硬伤,我的项目太菜,基本没有一个面试官问了我的项目,因为我说我对我的项目不感兴趣,但这不是理由,可能我遇到的面试官比较好。总而言之,你要把你的项目提前回顾一下,把你做的部分一定要搞懂,其他人做的你也要知道原理什么的,一定要熟悉,让面试官知道你做事很踏实才行。

      语言:我面的是c++,对于c++来说,需要看的书有c++primer、effective c++、stl源码剖析、深度探索c++对象模型,如果有时间还可以看看程序员的自我修养。对于没本书,希望大家尽量多看几遍,很多东西都是反复回顾才能真正理解的。

      操作系统:一般操作系统面试都不会很难,我就主要看了linux内核的设计与实现,这本书也可以当作一个复习的目录,大家可以对照着书的目录,把重要的知识点在网上搜索下,让自己理解的更深刻一点。另外还看了UNIX高级环境编程,这本书提供了一些编程接口,也有很多讲解操作系统方面的知识的。

      网络:网络还是比较重要的,首先,对于理论方面,TCP/IP卷1这本书是肯定要看的,当然只需要看一部分,后面的应用层协议就不需要看了。网络编程这一块,可以看一下UNIX网络编程这本书,另外还推荐一本“linux高性能服务器编程---游双",这本书可以让你对网络编程理解的更加深刻。我建议大家可以看一些著名的源码,比如我看了nginx、redis、memcached等,里面的网络编程模型对你面试很有好处,而且很多面试官也知道这些源码,如果面试你这方面,觉得你看的还不错,肯定会给你加分的。当然,你要看就看到位,不然反而会有负面影响。

     对于算法,我建议大家提早准备,而且是一直在准备,不要等到最后集中去看,那样效果不是很好。首先建议大家把剑指offer看看,然后是编程之美(很重要),这两本书看玩了就可以动手练习了,有一个很重要的oj平台--leetcode,里面全是经典的面试题,反复出现了好多次(https://oj.leetcode.com/).还有两个博客写的很好,一个是待字闺中(http://www.ituring.com.cn/article/47692),还有一个是结构之法,我个人觉得该博客里面的程序员编程艺术和海量数据处理很有用(http://blog.csdn.net/v_JULY_v).

    对于数据库,我是后来面试的需要才看的,重点看了MySQL技术内幕InnoDB存储引擎这本书,里面对事务、索引的讲解的还是很不错的,如果你面试的和数据库没什么关系,也可以不用看,问的不多,毕竟时间还是很紧张的。

    大致就是这么多,很多事情都不要看的太重,看淡了或许找的工作会很好,要知道有能力不一定能找到满意的工作,当然了,要想找到好工作,就一定要有能力。希望大家都能找到一份好的工作……

来源:http://blog.csdn.net/fangjian1204/article/details/40317963

C/C++/Java 求职血泪史

C语言篇  

面试和笔试主要基础来源于:
C和指针(加大量的编码经验)、
数据结构与算法(严蔚敏或者李春葆(建议新手))、
程序员的自我修养
计算机网络自顶向下(强烈推荐,看完后看看TCP/IP详解)、
现代操作系统原理、
鸟哥的Linux私房菜(基础篇+服务器篇)、
算法导论(看不懂+没看完)。 + 编译原理(我没看)
找工作前冲刺书籍:(前面基础重要,这个只作冲刺用)
编程珠玑、
编程之美、
剑指offer、
程序员面试宝典

总结:学校做项目、实习都好,一定要注重夯实基础,基础是内功,语言是招式,内功愈深,方能招架各种笔试、面试。以上书籍不管如何,请熟悉再熟悉。真的非常重要。

C++方向

推荐书籍:

MFC:深入浅出MFC,window程序设计,MFC六大仿真。这个问得很少,基本上不用看
先看C++,再看STL,最后看设计模式。
C++:C++ Primer,C++高级编程。有时间主要看C++Primer,这本书讲得很详细了,可以多看几遍,后面那本书,想了解得更多,可以看看。
STL:STL源码剖析。这个问得有点多,主要把各种容器的底层实现机制以及优缺点掌握清楚,这个问题经常问。另外,大数据处理经常用到hash_map,hash_set,hash_map,hash_set和一般的基于红黑树的map,set之间的对比,以及红黑树和平衡二叉树之间的对比问得比较多。
设计模式:大话设计模式,Head First设计模式,设计模式可复用面向对象软件的基础。没有时间,这个可以少看,稍微了解一下,问得不多,也不难。
数据结构:李春宝,数据结构与算法(c++)版,剑指offer,程序员面试一百题,算法导论(循环不变性,动态规划,贪婪算法),编程之美,编程珠玑。
先把基础的数据结构与算法(c++)版搞得非常熟,对于数组,链表,栈,队列,字符串,二叉树,查找,排序要非常熟,最好多写几遍。其他的在找工作之前两三个月内看看。
计算机网络:tcp/ip详解卷1,计算机网络自顶向下。重点看tcp的相关章节。
C:C陷阱与缺陷,程序员的个人修养,C语言深度解剖。重点看程序员的个人修养(补:CSAPP真的理解了,这本书也就不需要怎么看了),C语言深度解剖后面有大概二十道题,能够基本上做出来就不用看了。
操作系统:现代操作系统 Andrew S. Tanenbaum(linux内核0.11,linux内核情景分析)。要了解原理的话,前面那本书讲得很详细。操作系统的话,线程间通信和进程间通信问得比较多,再就是进程空间,内核态,和用户态也可能问一下。
linux:UNIX环境高级编程,UNIX网络编程。有时间可以看看,搞上层的话基本上可以不看。
大数据处理:很多大的网络公司都会问,http://blog.csdn.net/v_july_v/article/details/7382693。

Java Web(略)

推荐书籍:
推荐理由:C语言与算法是必须的防止笔试去送。
《C Programming Language》 Brian W. Kernighan/Dennis M. Ritchie
C 和指针
编程珠玑
《数据结构与算法分析》(如果能力较强有充分时间推荐《算法导论》)
推荐理由:计算机网络(偏应用)和操作系统熟悉能较好应对面试
现代操作系统》(适当了解Linux《鸟哥的Linux私房菜:基础篇》)
《计算机网络:自顶向下方法》
《HTTP权威指南》
推荐理由:Java必须掌握的基础以及进阶
《Java语言规范》
《Java核心技术》
《Java编程思想》
《Java与模式》《设计模式》
以及JVM基本原理(例如GC,Class Loader等等)
推荐理由:临时抱佛脚,需要知道的一些面试经典题目
《剑指Offer》《编程之美》
关于实习、竞赛与项目:
首先不论实习、竞赛与项目主要参与其中哪一个,必须夯实基础把推荐书籍认真研读。
其次通过多次与各大互联网公司技术面试官交流,得到的结论是三者的重要程度是实习>竞赛>项目。如果在找工作之前有去给力的公司实习的机会一定要珍惜。
再次学校项目应该针对性参与,做自己最感兴趣同时最愿意深入研究的方向,防止项目经验多而不精。
最后一定要保证有自己思考的时间和与小伙伴交流的时间。

来源:http://blog.csdn.net/huomanqingying/article/details/12876759


他人支言片语

1.语言要求不高,能说清一段程序内存分布,多态机制简单的原理比如虚函表就算过关了。最多写点小片段看看。
2.没有平台和库要求,会基础就行。
3.如果目标是cpp×后端,那么网络>操作系统=数据结构与算法=某种语言=计组>其他一些知识比如分布式系统并行计算网络安全等等。网络是最重要的,重点是TCP/IP协议栈。数据结构算法什么的,随便拿个基础知识点出来要能说清是什么干什么什么特点,并不难(像我其他不行,还要求加试了几题算法,最终也没过,因为事先不知道网络的重要性)。另外考点进程,内存管理,CPU调度,网络安全,中断机制就比较散了。
如果是cpp×其他,不清楚。
利益相关: 腾讯游戏后端二面被刷狗。


多coding。这个不多说了,码农每天花10几个小时写代码不是啥难事吧?最大的难事可能是琢磨琢磨怎么保护腰和颈椎。当然,多coding包括了多实习,最好是实BAT的习。至于leetcode、topcoder、各种OJ什么的,题主如果只瞄着BAT,那大可不必浪费时间,但是如果打算拿硅谷的offer或者北京那一票海龟回来办的公司,leetcode全刷一遍还是必须的。

多思考。只写代码是不够的,至于该怎么思考、该思考什么,这个属于多思考的一个子问题之一,请题主自行解决。

额外ps一句,题主的一年时间可能看不了这么多书,对其中几本比较「速成」的做个重点推荐:
《深入理解计算机系统》,简直神书不解释了,面试完你就会后悔没多看一遍。
《TCP/IP详解卷1》,有了这本书码码再也不用担心我被十一五教材——没错我说的就是坑爹的计算机网络残害幼小心灵了。
《算法导论》,BAT的面试官真的没时间成天刷OJ成天给你来高难度题干掉你,他们出的最难的你都能在算法导论课后题里找到原型。
深度探索C++对象模型》,面C++岗说不出虚表实现机制?那基本就是面试成绩打对折的节奏,带上这本书防身吧。
编程之美》,帮你应付掉大部分逼格还不太够的公司。
来源:http://www.zhihu.com/question/25680951?rf=24987656王迅


1. 找一个你喜欢的语言(C++ | Java),看两三本书,包括一本Effective开头的,看一下Head First Design Pattern。
2. Leetcode, Crack the Coding Interview刷一遍。
3. 操作系统推荐[Operating Systems: Three Easy Picecs](Operating Systems: Three Easy Pieces),了解一下主要组件的设计思路和实现,扫一下“深入理解计算机系统”。
4. 就你自己的方向,写一个小项目,或者跟着实验室的项目走一下。
5. 找一个你感兴趣的领域,看一两个开源项目,了解其关键技术、设计、实现方法
6. 从找实习开始,面试。
————————————
ps. 没面过BAT之前,我也觉得BAT很难,面过之后,觉得没想象那么难。另外,面试有一定的运气成分。
来源:http://www.imleon.cn/how-into-the-bats-research-and-development-department.html (最后)周泰


个人经历感觉,面试过程必备下面四个方面: 

1.研究生一般会先问项目,所以对项目的描述一定要重点突出,细节部分要了如指掌,要将项目的背景提升到一个大的高度,最重要的是体现自己的工作量(包括遇到的困难,如何解决)。 
2.基础知识要熟悉,这里说的并不是所有的基础知识,常问也就那么几个,为了面试针对性的复习就好了(后面有干货)。 
3.手写代码技能,个人感觉要在代码中体现两点,边界条件考虑;能体现思路清晰,不一定每个函数都得实现,但算法思路一定要体现。另外还有必要的注释会帮助面试官理解你的思路。 
4.最后来一碗鸡汤:对自己想要的东西,要不顾一切的去追求,不要轻易放弃。 

谢谢牛友听我啰嗦完,下面是本次腾讯面试的题目汇总,有些是身边同学提供的,没有给出答案,相信牛友们会自己找的。

面试题汇总(干货) 
计算机网络相关 
1 TCP三次握手、四次握手
2 TCP滑动窗口机制
3 TCP拥塞控制机制
4 socket模型

C/C++相关 
1 虚析构、模板和宏
2 虚函数实现机制
3 vector与list的区别,map是如何实现的,查找效率是多少
4 extern 关键字有什么用
5 malloc和new的区别,能否malloc(1.2G)

linux以及操作系统相关 
1 内存池实现
2 进程间通信机制
3 Linux ps命令,以及看内存当前使用状态的命令
4 进程与线程的区别,共享的数据
5 进程的内存空间

算法与数据结构 (手写代码实现) 
1 大整数加、减、乘、除、求模运算实现
2 很多整数,找其中出现次数最多的那个数
3 单链表翻转(两个指针如何实现)、查找、删除、插入以及双向链表、有序链表合并
4 判断一个整数是否是2的整数次幂.(n&(n-1))
5 二分查找(注意边界条件)
6 常见排序算法的实现以及稳定性(快排跟归并考的很多)
7 字符串翻转(O(n))、匹配(KMP算法)
8 最长递增子序列(nlogn的算法)
9 链表判断是否有环,环的入口,两个链表是否相交(快慢指针)。
10 指定一个数组,求2个数的和等于指定的和(某一个数),如果是3,4,5,n个等于个的和(某一个数)呢?(可以看作背包问题)

其他 
1 红黑树的性质以及插入和删除
2 解析XML文件
3 千万级的用户,提供一个服务,该服务有很多模块,现在有一个底层模块需要优化,问怎么实现,在不影响其他服务模块以及用户体验的情况下。(面IEG)
4 卡特兰数以及公式推导(应多很多)
5 未知大小的文件,翻转整个文件
6 如果内存中有个cache存储qq号和最近登录时间问怎么样做hit和淘汰
7 检测短信敏感词
8 大数据问题
9 C++、java和PHP有什么本质区别
来源:http://www.nowcoder.com/discuss/260?toCommentId=19218


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值