前言
上篇麵試筆試經驗技巧篇
第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.10 Java中的clone方法有什麼作用
4.1.11什麼是反射機製
4.1.12 package有什麼作用
4.1.13如何實現類似於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.10如何獲取父類的類名
4.2.11this與super有什麼區彆
4.3關鍵字
4.3.1變量命名有哪些規則
4.3.2break、continue以及retum有什麼區彆
4.3.3final、fmally和finalize有什麼區彆
4.3.4 assert有什麼作用
4.3.5 static關鍵字有哪些作用
4.3.6使用switch時有哪些注意事項
4.3.7 volatile有什麼作用
4.3.8 instanceof有什麼作用
4.3.9tritfp有什麼作用
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.10char型變量中是否可以存儲一個
中文漢字
4.5字符串與數組
4.5.1字符串創建與存儲的機製是什麼
4.5.2“==”、equals和hashCode有什麼區彆
4.5.3String、StringBuffer、StringBuilder和StringTokenizer有什麼區彆
4.5.4 Ja,a中數組是不是對象
4.5.5數組的初始化方式有哪幾種
4.5.6 length屬性與length()方法
有什麼區彆
4.6異常處理
4.6.1finally塊中的代碼什麼時候被執行
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什麼是CC
4.8.5 Java是否存在內存泄露問題
4.8.6 Java中的堆和棧有什麼區彆
4.9容器
4.9.1 Java CoUections框架是什麼
4.9.2什麼是迭代器
4.9.3ArrayList、Vector和LinkedList有什麼區彆
4.9.4HashMap、HashTable、TreeMap和WeakHashMap有哪些區彆
4.9.5用自定義作為HashMap或HashTable的key需要注意哪些問題
4.9.6Collection和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.10 join()方法的作用是什麼
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什麼是JD0
4, 11.8 JDBC與Hibernate有什麼區彆
第5章Java Web
5.1 Servlet與JSP
5.1.1頁麵請求的工作流程是怎樣的
5.1.2HTTP中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.9Servlet中forward和redirect有什麼區彆
5.1.10 JSP的內置對象有哪些
5.1.11 request對象主要有哪些方法
5.1.12 JSP有哪些動作
5.1.13 JSP中mclude指令和include動作有什麼區彆
5.1.14會話跟蹤技術有哪些
5.1.15 Web開發中如何指定字符串的編碼
5.1.16什麼是Ajax
5.1.17 cookie和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.10 EJB規範規定EJB中禁止的操作有哪些
5.2.11 Web服務器與Web應用服務器有什麼區彆
5.2.12什麼是Web SeⅣice
5.2.13SOAP與REST有什麼區彆
5.2.14什麼是XML
5.2.15數據庫連接池的工作機製是怎樣的
5.2.16 J2EE開發有哪些調優的方法
5.3框架
5.3.1什麼是Struts框架
5.3.2 Struts框架響應客戶請求的工作流程是什麼
5.3.3 Struts框架的數據驗證可分為幾種類型
5.3.4Form Bean的錶單驗證流程是什麼
5.3.5在Struts配置文件中,<action>元素包含哪些屬性和子元素
5.3.6ActionForm Bean的作用有哪些
5.3.7 ActionForm的執行步驟有哪些
5.3.8forward與global—forward有什麼區彆
5.3.9 Struts如何實現國際化
5.3.10 Struts 1與Struts 2有哪些區彆
5.3.11什麼是IoC
5.3.12什麼是AOP
5.3.13什麼是Spring框架
5.3.14什麼是Hibemate
5.3.15什麼是Hibernate的二級緩存
5.3.16 Hibernate中session的update()和saveOrUpdate()、load()和get()有什麼區彆
5.3.17 Hibernate有哪些主鍵生成策略
5.3.18如何實現分頁機製
5.3.19什麼是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如何找齣單鏈錶中的倒數第1個元素
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如何用0(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.10如何用遞歸方法求一個整數數組的最大元素
8.5.11如何求數對之差的最大值
8.5.12如何求絕對值最小的數
8.5.13如何求數組中兩個元素的最小距離
8.5.14如何求指定數字在數組中第一次齣現的位置
8.5.15如何對數組的兩個子有序段進行閤並
8.5.16如何計算兩個有序整型數組的交集
8.5.17如何判斷一個數組中數值是否連續相鄰
8.5.18如何求解數組中反序對的個數
8.5.19如何求解最小三元組距離
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群一覽錶
· · · · · · (
收起)