Java程序员面试笔试宝典

网站

更多书籍点击进入>> CiCi岛php

下载

电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍html

封页

封页

编辑推荐

★在这里,众多知名企业面试官将为你撕开神秘的求职面纱;   ★在这里,各类求职达人将现身说法为你揭开求职谜团;   ★在这里,各类类型的企业招聘细节都会被展露无疑;   ★在这里,咱们将为你抽丝剥茧,还原IT行业的真相;   ★在这里,咱们将为你指点迷津,告诉你职场上的风风雨雨;   ★在这里,咱们将为你点石成金,成为那盏指引你前进的灯塔;程序员

内容简介

本书引入了一批来自于名牌高校、就任于明星企业的职场达人的真实求职案例,经过他们的求职经验与教训,抛砖引玉,将整个求职过程生动形象地展现在读者面前,进而对求职者起到必定的指引做用。同时,为了更具说服力,本书特邀多位IT名企面试官现身说法,以独到的视角对面试过程当中求职者存在的各种问题进行了深度剖析。为了可以让读者对即将投身的工做有一份更加清楚的认识,可以更加有针对性地进行求职准备,本书对各类类型的IT企业的招聘环节进行了庖丁解牛式的分析。不只如此,本书还特别针对当前各大IT企业面试笔试中常见的问题以及注意事项,进行了深层次的分析。   技术性知识的考核是程序员求职中*重要的内容,鉴于此,本书除了对传统的计算机相关知识(Java语言基础知识、Web基础知识、数据结构与算法、操做系统、计算机网络与通讯、数据库、设计模式等)以及面试笔试真题进行分析与解答外,还根据当前计算机技术的发展潮流,对面试笔试中常见的海量数据处理进行了详细地分析。   本书是一本计算机相关专业毕业生面试笔试的求职用书,同时也适合指望在计算机软硬件行业大显身手的计算机爱好者阅读。web

目 录

前言
上篇  面试笔试经验技巧篇  
  第1章  面试官箴言
    1.1  有道无术,术可求;有术无道,
    止于术
    1.2  求精不求全
    1.3  脚踏实地,培养多种技能
    1.4  保持空杯心态
    1.5  职场是能者的舞台
    1.6  学会“纸上谈兵”
    1.7  小结
  第2章  面试心得交流
    2.1  心态决定一切
    2.2  假话全不说,真话不全说
    2.3  走本身的路,让别人去说吧
    2.4  夯实基础谋出路
    2.5  书中自有编程法
    2.6  笔试成绩好,不会被鄙视
    2.7  不要一厢情愿作公司的
    “备胎”
    2.8  小结
  第3章  企业面试笔试攻略
    3.1  互联网企业
    3.2  网络设备提供商
    3.3  外企
    3.4  国企
    3.5  研究所
    3.6  创业型企业
    3.7  如何抉择
下篇  面试笔试技术攻克篇  
  第4章  Java基础知识
    4.1  基本概念
      4.1.1  Java语言有哪些优势
      4.1.2  Java与C/C  有什么异同
      4.1.3  为何须要public static void
      main(String[] args)这个方法
      4.1.4  如何实如今main()方法执行前输出
      “Hello World”
      4.1.5  Java程序初始化的顺序是怎样的
      4.1.6  Java中的做用域有哪些
      4.1.7  一个Java文件中是否能够定义
      多个类
      4.1.8  什么是构造函数
      4.1.9  为何Java中有些接口没有
      任何方法
      4.1.1  0Java中的clone方法有什么做用
      4.1.1  1什么是反射机制
      4.1.1  2package有什么做用
      4.1.1  3如何实现相似于C语言中函数
      指针的功能
    4.2  面向对象技术
      4.2.1  面向对象与面向过程有什么区别
      4.2.2  面向对象有哪些特征
      4.2.3  面向对象的开发方式有什么优势
      4.2.4  什么是继承
      4.2.5  组合和继承有什么区别
      4.2.6  多态的实现机制是什么
      4.2.7  重载和覆盖有什么区别
      4.2.8  抽象类(abstract class)与接口
      (interface)有什么异同
      4.2.9  内部类有哪些
      4.2.1  0如何获取父类的类名
      4.2.1  1this与super有什么区别
    4.3  关键字
      4.3.1  变量命名有哪些规则
      4.3.2  break、continue以及return有
      什么区别
      4.3.3  final、 finally和 finalize有什么
      区别
      4.3.4  assert有什么做用
      4.3.5  static关键字有哪些做用
      4.3.6  使用switch时有哪些注意事项
      4.3.7  volatile有什么做用
      4.3.8  instanceof有什么做用
      4.3.9  strictfp有什么做用
    4.4  基本类型与运算
      4.4.1  Java提供了哪些基本数据类型
      4.4.2  什么是不可变类
      4.4.3  值传递与引用传递有哪些区别
      4.4.4  不一样数据类型的转换有哪些规则
      4.4.5  强制类型转换的注意事项有哪些
      4.4.6  运算符优先级是什么?
      4.4.7  Math类中round、ceil和floor方法的
      功能各是什么
      4.4.8    i与i  有什么区别
      4.4.9  如何实现无符号数的右移操做
      4.4.10  char型变量中是否能够存储一个
      中文汉字
    4.5  字符串与数组
      4.5.1  字符串建立与存储的机制
      是什么
      4.5.2  “==”、equals和hashCode有什么
      区别
      4.5.3  String、StringBuffer、StringBuilder和
      StringTokenizer有什么区别
      4.5.4  Java中数组是否是对象
      4.5.5  数组的初始化方式有哪几种
      4.5.6  length属性与length()方法
      有什么区别
    4.6  异常处理
      4.6.1  finally块中的代码何时
      被执行
      4.6.2  异常处理的原理是什么
      4.6.3  运行时异常和普通异常
      有什么区别
    4.7  输入输出流
      4.7.1  Java IO流的实现机制是什么
      4.7.2  管理文件和目录的类是什么
      4.7.3  Java Socket是什么
      4.7.4  Java NIO是什么
      4.7.5  什么是Java序列化
      4.7.6  System.out.println()方法使用须要
      注意哪些问题
    4.8  Java平台与内存管理
      4.8.1  为何说Java是平台独立性
      语言
      4.8.2  Java平台与其余语言平台有哪些
      区别
      4.8.3  JVM加载class文件的原理机制
      是什么
      4.8.4  什么是GC
      4.8.5  Java是否存在内存泄露问题
      4.8.6  Java中的堆和栈有什么区别
    4.9  容器
      4.9.1  Java Collections框架是什么
      4.9.2  什么是迭代器
      4.9.3  ArrayList、Vector和LinkedList
      有什么区别
      4.9.4  HashMap、HashTable、TreeMap和
      WeakHashMap有哪些区别
      4.9.5  用自定义做为HashMap或HashTable的
      key须要注意哪些问题
      4.9.6  Collection和 Collections有什么
      区别
    4.10  多线程
      4.10.1  什么是线程?它与进程有什么区别?
      为何要使用多线程
      4.10.2  同步和异步有什么区别
      4.10.3  如何实现Java多线程
      4.10.4  run()方法与start()方法有什么
      区别
      4.10.5  多线程同步的实现方法有
      哪些
      4.10.6  sleep()方法与wait()方法
      有什么区别
      4.10.7  终止线程的方法有哪些
      4.10.8  synchronized与Lock
      有什么异同
      4.10.9  什么是守护线程
      4.10.1  0join()方法的做用是什么
    4.11  Java数据库操做
      4.11.1  如何经过JDBC访问数据库
      4.11.2  JDBC处理事务采用什么方法
      4.11.3  Class.forName的做用是什么
      4.11.4  Statement、PreparedStatement和
      CallableStatement有什么区别
      4.11.5  getString()方法与getObject()
      方法有什么区别
      4.11.6  使用JDBC时须要注意
      哪些问题
      4.11.7  什么是JDO
      4.11.8  JDBC与Hibernate有什么区别
  第5章  Java Web
    5.1  Servlet与JSP
      5.1.1  页面请求的工做流程是怎样的
      5.1.2  HTTP中GET与POST方法
      有什么区别
      5.1.3  什么是Servlet
      5.1.4  doPost()方法与doGet()
      方法怎么选择
      5.1.5  什么是Servlet的生命周期
      5.1.6  JSP有哪些优势
      5.1.7  JSP与Servlet有何异同
      5.1.8  如何使用JSP与Servlet实现
      MVC模型
      5.1.9  Servlet中forward和redirect
      有什么区别
      5.1.1  0JSP的内置对象有哪些
      5.1.1  1request对象主要有哪些方法
      5.1.1  2JSP有哪些动做
      5.1.1  3JSP中include指令和include动做
      有什么区别
      5.1.1  4会话跟踪技术有哪些
      5.1.1  5Web开发中如何指定
      字符串的编码
      5.1.1  6什么是Ajax
      5.1.1  7cookie和session有什么区别
    5.2  J2EE与EJB
      5.2.1  什么是J2EE
      5.2.2  J2EE中经常使用的术语有哪些
      5.2.3  EJB有哪些不一样的类别
      5.2.4  EJB与JavaBean有什么异同
      5.2.5  EJB有哪些生命周期
      5.2.6  EJB的角色有哪几种
      5.2.7  EJB的开发流程是怎样的
      5.2.8  EJB 3.0与EJB 2.0有哪些
      不一样之处
      5.2.9  EJB容器有哪些做用
      5.2.1  0EJB规范规定EJB中禁止的
      操做有哪些
      5.2.1  1Web服务器与Web应用服务器
      有什么区别
      5.2.1  2什么是Web Service
      5.2.1  3SOAP与REST有什么区别
      5.2.1  4什么是XML
      5.2.1  5数据库链接池的工做机制
      是怎样的
      5.2.1  6J2EE开发有哪些调优的方法
    5.3  框架
      5.3.1  什么是Struts框架
      5.3.2  Struts框架响应客户请求的
      工做流程是什么
      5.3.3  Struts框架的数据验证可分为
      几种类型
      5.3.4  Form Bean的表单验证流程
      是什么
      5.3.5  在Struts配置文件中,
      元素包含哪些属性和子元素
      5.3.6  ActionForm Bean的做用有哪些
      5.3.7  ActionForm的执行步骤有哪些
      5.3.8  forward与global-forward
      有什么区别
      5.3.9  Struts如何实现国际化
      5.3.1  0Struts 1与Struts 2有哪些区别
      5.3.1  1什么是IoC
      5.3.1  2什么是AOP
      5.3.1  3什么是Spring框架
      5.3.1  4什么是Hibernate
      5.3.1  5什么是Hibernate的二级缓存
      5.3.1  6Hibernate中session的update()和
      saveOrUpdate()、 load()和get()
      有什么区别
      5.3.1  7Hibernate有哪些主键
      生成策略
      5.3.1  8如何实现分页机制
      5.3.1  9什么是SSH
  第6章  数据库原理
    6.1  SQL语言的功能有哪些
    6.2  内链接与外链接有什么区别
    6.3  什么是事务
    6.4  什么是存储过程?它与函数
    有什么区别与联系
    6.5  各类范式有什么区别
    6.6  什么是触发器
    6.7  什么是游标
    6.8  若是数据库日志满了,会出现
    什么状况
    6.9  union和union all有什么区别
    6.10  什么是视图
  第7章  设计模式
    7.1  什么是单例模式
    7.2  什么是工厂模式
    7.3  什么是适配器模式
    7.4  什么是观察者模式
  第8章  数据结构与算法
    8.1  链表
      8.1.1  如何实现单链表的增删操做
      8.1.2  如何从链表中删除重复数据
      8.1.3  如何找出单链表中的倒数
      第k个元素
      8.1.4  如何实现链表的反转
      8.1.5  如何从尾到头输出单链表
      8.1.6  如何寻找单链表的中间结点
      8.1.7  如何检测一个链表是否有环
      8.1.8  如何在不知道头指针的状况下
      删除指定结点
      8.1.9  如何判断两个链表是否相交
    8.2  栈与队列
      8.2.1  栈与队列有哪些区别
      8.2.2  如何实现栈
      8.2.3  如何用O(1)的时间复杂度
      求栈中最小元素
      8.2.4  如何实现队列
      8.2.5  如何用两个栈模拟队列操做
    8.3  排序
      8.3.1  如何进行选择排序
      8.3.2  如何进行插入排序
      8.3.3  如何进行冒泡排序
      8.3.4  如何进行归并排序
      8.3.5  如何进行快速排序
      8.3.6  如何进行希尔排序
      8.3.7  如何进行堆排序
      8.3.8  各类排序算法有什么优劣
    8.4  位运算
      8.4.1  如何用移位操做实现乘法运算
      8.4.2  如何判断一个数是否
      为2的n次方
      8.4.3  如何求二进制数中1的个数
    8.5  数组
      8.5.1  如何寻找数组中的最小值与
      最大值
      8.5.2  如何找出数组中第二大的数
      8.5.3  如何求最大子数组之和
      8.5.4  如何找出数组中重复元素
      最多的数
      8.5.5  如何求数组中两两相加等于20的
      组合种数
      8.5.6  如何把一个数组循环右移k位
      8.5.7  如何找出数组中第k个
      最小的数
      8.5.8  如何找出数组中只出现
      一次的数字
      8.5.9  如何找出数组中惟一的
      重复元素
      8.5.1  0如何用递归方法求一个整数
      数组的最大元素
      8.5.1  1如何求数对之差的最大值
      8.5.1  2如何求绝对值最小的数
      8.5.1  3如何求数组中两个元素的
      最小距离
      8.5.1  4如何求指定数字在数组中第一次
      出现的位置
      8.5.1  5如何对数组的两个子有序段
      进行合并
      8.5.1  6如何计算两个有序整型
      数组的交集
      8.5.1  7如何判断一个数组中数值
      是否连续相邻
      8.5.1  8如何求解数组中反序对的
      个数
      8.5.1  9如何求解最小三元组距离
    8.6  字符串
      8.6.1  如何实现字符串的反转
      8.6.2  如何判断两个字符串是否由相同的
      字符组成
      8.6.3  如何删除字符串中重复的字符
      8.6.4  如何统计一行字符中有多少个
      单词
      8.6.5  如何按要求打印数组的排列
      状况
      8.6.6  如何输出字符串的全部组合
    8.7  二叉树
      8.7.1  二叉树基本概念
      8.7.2  如何实现二叉排序树
      8.7.3  如何层序遍历二叉树
      8.7.4  已知先序遍历和中序遍历,如何
      求后序遍历
      8.7.5  如何求二叉树中结点的
      最大距离
    8.8  其余
      8.8.1  如何消除嵌套的括号
      8.8.2  如何不使用比较运算就能够求出
      两个数的最大值与最小值
  第9章  海量数据处理
    9.1  问题分析
    9.2  基本方法
    9.3  经典实例分析
      9.3.1  top K问题
      9.3.2  重复问题
      9.3.3  排序问题
附录
  附录A  软件企业Java笔试真题1
  附录B  软件企业Java笔试真题2
  附录C  软件企业Java笔试真题3
  附录D  求职有用网站及QQ群一览表