1. 程式人生 > >Java程式設計師面試筆試寶典

Java程式設計師面試筆試寶典

網站

更多書籍點選進入>> CiCi島

下載

電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支援正版,喜歡的請購買正版書籍

封頁

封頁

編輯推薦

★在這裡,眾多知名企業面試官將為你撕開神祕的求職面紗;   ★在這裡,各種求職達人將現身說法為你揭開求職謎團;   ★在這裡,各種型別的企業招聘細節都會被展露無疑;   ★在這裡,我們將為你抽絲剝繭,還原IT行業的真相;   ★在這裡,我們將為你指點迷津,告訴你職場上的風風雨雨;   ★在這裡,我們將為你點石成金,成為那盞指引你前進的燈塔;

內容簡介

本書引入了一批來自於名牌高校、就職於明星企業的職場達人的真實求職案例,通過他們的求職經驗與教訓,拋磚引玉,將整個求職過程生動形象地展示在讀者面前,進而對求職者起到一定的指引作用。同時,為了更具說服力,本書特邀多位IT名企面試官現身說法,以獨到的視角對面試過程中求職者存在的各類問題進行了深度剖析。為了能夠讓讀者對即將投身的工作有一份更加清楚的認識,能夠更加有針對性地進行求職準備,本書對各種型別的IT企業的招聘環節進行了庖丁解牛式的分析。不僅如此,本書還特別針對當前各大IT企業面試筆試中常見的問題以及注意事項,進行了深層次的分析。   技術性知識的考核是程式設計師求職中*重要的內容,鑑於此,本書除了對傳統的計算機相關知識(Java語言基礎知識、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群一覽表