本书针对当前各大IT企业面试笔试中特性与侧重点,精心挑选了三年来近百家IT企业的面试笔试真题。这些企业涉及业务包括系统软件、搜索引擎、电子商务、手机APP、安全关键软件等,所提供的面试笔试真题非常具有代表性与参考性。同时,本书对这些题目进行了合理的划分与归类,并且对其进行了庖丁解牛式的分析与讲解,针对试题中涉及的部分重难点问题,本书都进行了适当地扩展与延伸,力求对知识点的讲解清晰而不紊乱,全面而不啰嗦,使得读者不仅能够通过本书获取到求职的知识,还能更有针对性地进行求职准备,收获一份满意的工作。本书是一本计算机相关专业毕业生面试、笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。
一,考查率高;本书中所选真题全是程序员面试笔试常考点,例如语言基础、操作系统、计算机网络、数据结构与算法、海量数据处理等。二,行业代表性强;本书中所选真题全部来自于知名企业,它们是行业的风向标,代表了行业的高水准,其中绝大多数真题因为题目难易适中,而且具有非常好的区分度,经常会被众多中小企业全盘照搬,具有代表性。三,答案详尽;本书对每一道题目都有非常详细的解答,庖丁解牛,不只是告诉读者答案,还提供了详细的解答过程。授之以鱼的同时还授之以渔,不仅告诉答案,还告诉读者同类型题目再遇到时该如何解答。四,分类清晰、调理分明;本书对各个知识点都进行了分门别类,这种写法有利于读者针对个人实际情况做到有的放矢,重点把握。
程序员求职始终是当前社会的一个热点,而市面上有很多关于程序员求职的书籍,例如《程序员代码面试指南》(左程云著)、《剑指offer》(何海涛著)、《程序员面试笔试宝典》(何昊编著)、《Java程序员面试笔试宝典》(何昊编著)、《编程之美》(《编程之美》小组著)、《编程珠玑》(Jon Bentley 著)等,它们都是针对基础知识的讲解,各有侧重点,而且在市场上反映良好。但是,我们发现,当前市面上没有一本专门针对C/C 程序员、Java程序员的面试笔试真题的分析与讲解,很多读者朋友们向我们反映,他们经过了精心的准备以后,感觉自己什么知识都会了,但是否真的能够在程序员面试笔试中得心应手,心里却一点底都没有。有时上网搜索一些IT企业的面试笔试真题,但这些题大都七零八凑,毫无系统性可言,而且绝大多数都是博主自己做的,答案简单,准确性不高,这就导致读者做完了这些真题,根本就不知道自己做得是否正确。如果下一次这个题目又被考查,可能还是不会。针对这种情况,我们创作团队经过精心准备,从互联网上的海量面试笔试真题中,选取了当前顶级企业(包括微软、谷歌、百度、腾讯、阿里巴巴、360和小米等)的面试笔试真题,挑选出其中最典型、考查频率最高、最具代表性的真题,做到难度适宜,兼顾各层次读者的需求,同时对真题进行知识点的分门别类,做到层次清晰、条理分明、答案简单明了,最终形成了这样一本《Java程序员面试笔试真题与解析》。本书特点鲜明,所选真题以及写作手法具有以下特点:第一,考查率高;本书中所选真题全是程序员面试笔试常考点,例如语言基础、操作系统、计算机网络、数据结构与算法、海量数据处理等。第二,行业代表性强;本书中所选真题全部来自于顶级知名企业,它们是行业的风向标,代表了行业的高水准,其中绝大多数真题因为题目难易适中,而且具有非常好的区分度,经常会被众多中小企业全盘照搬,具有代表性。第三,答案详尽;本书对每一道题目都有非常详细的解答,庖丁解牛,不只是告诉读者答案,还提供了详细的解答过程。授之以鱼的同时还授之以渔,不仅告诉答案,还告诉读者同类型题目再遇到时该如何解答。第四,分类清晰、调理分明;本书对各个知识点都进行了分门别类,这种写法有利于读者针对个人实际情况做到有的放矢,重点把握。由于篇幅所限,我们没法将所有的程序员面试笔试真题内容都列入其中,鉴于此,我们猿媛之家在官方网站(www.yuanyuanba.com)上提供了一个读者交流平台,读者朋友们可以在该网站上上传各类面试笔试真题,也可以查找到自己所需要的知识,同时,读者朋友们也可以向本平台提供当前最新、最热门的程序员面试笔试题、面试技巧、程序员生活等相关材料。除此以外,我们还建立了公众号:猿媛之家,作为对外消息发布平台,以便最大限度地满足读者需要。欢迎读者关注探讨新技术。本书主要针对Java用户,我们还有专门针对C/C 用户的图书,同期出版发行。有需要的读者可以在各大电商网站或者实体书店购买。感谢帮助过我们的父母、亲人、同事、朋友和同学,无论我们遇到了多大的挫折与困难,他们对我们都能不离不弃,一如既往地支持与帮助我们,使我们能够开开心心地度过每一天。在此对以上所有人致以最衷心的感谢。所有的成长和伟大,如同中药,都是一个时辰一个时辰熬出来的,所有的好书,都是逐字逐句琢磨出来的。在技术的海洋里,我们不是创造者,但我们更愿意去当好一名传播者的角色,让更多的求职者能够通过对本书的系统学习,找到一份自己满意的工作,实现自己的人生理想与抱负。我们每个人的人生都是一场戏剧,我们每个人都要成为戏剧的主角,而不应该沦为别人戏剧的配角,所以,我建议所有的求职者在求职的道路上,无论遇到了多大的困难,遭遇了多大的挫折,都不要轻言放弃,你们的母校可能不是985211,你们的学历可能不是本科生、研究生,你们的专业可能也不是计算机相关,但这并不重要,只要你认真努力,立志成为一名程序员,百分之九十以上的企业是完全可以进去的。请记住:在这个世界上,没有人可以让你仰视,除非你自己跪着。由于编者水平有限,书中不足之处在所难免,还望读者见谅。读者如果发现问题或者有此方面的困惑,都可以通过邮箱yuancoder@foxmail.com联系我们。猿媛之家
前言 面试笔试经验技巧篇 经验技巧1 如何巧妙地回答面试官的问题?2 经验技巧2 如何回答技术性的问题?2 经验技巧3 如何回答非技术性问题?4 经验技巧4 如何回答快速估算类问题?5 经验技巧5 如何回答算法设计问题?5 经验技巧6 如何回答系统设计题?7 经验技巧7 如何解决求职中的时间冲突问题?9 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官?10 经验技巧9 在被企业拒绝后是否可以再申请?10 经验技巧10 如何应对自己不会回答的问题?11 经验技巧11 如何应对面试官的激将法语言?11 经验技巧12 如何处理与面试官持不同观点这个问题?12 经验技巧13 什么是职场暗语?12面试笔试真题练习篇 第1章 Java语言基础171.1 Java语言基础知识171.1.1 基本概念171.1.2 访问修饰符421.1.3 包(packet)441.1.4 main方法451.2 面向对象技术471.2.1 基本概念471.2.2 构造方法551.2.3 抽象类与继承631.2.4 多态691.3 关键字761.3.1 标识符命名规则761.3.2 常考关键字771.4 基本类型与运算符931.4.1 基本类型931.4.2 运算符981.5 数组1061.6 字符串1091.7 异常处理1231.8 流1301.8.1 输入输出流1301.8.2 序列化1331.8.3 网络通信1351.9 Java平台与垃圾回收1371.9.1 Java平台1371.9.2 垃圾回收1421.10 容器1471.11 界面编程1641.12 多线程1651.13 JDBC1861.14 Java Web1931.14.1 Servlet与JSP1931.14.2 J2EE204 第2章 软件工程与设计模式2122.1 软件工程与UML2122.2 设计模式214 第3章 数据库2233.1 基本概念2233.2 数据库设计235 第4章 网络与通信2404.1 网络设备2414.2 网络协议2424.3 网络安全2524.4 其他255 第5章 操作系统2605.1 基本概念2605.2 进程与线程2715.3 内存管理281 第6章 数据结构与算法2886.1 数组与线性表2886.2 链表2976.3 字符串2986.4 栈、队列3006.5 排序3036.6 查找3116.7 二叉树3126.8 图3206.8.1 有向图3206.8.2 无向图3216.8.3 遍历3226.9 大数据3246.10 其他324 第7章 编译原理334 第8章 系统设计338 第9章 智力题3429.1 逻辑推理3429.2 数学计算344