偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java高級軟件工程師面試考綱

開發(fā) 后端
如果要應(yīng)聘高級開發(fā)工程師職務(wù),僅僅懂得Java的基礎(chǔ)知識是遠遠不夠的,還必須懂得常用數(shù)據(jù)結(jié)構(gòu)、算法、網(wǎng)絡(luò)、操作系統(tǒng)等知識。因此本文不會講解 具體的技術(shù),筆者綜合自己應(yīng)聘各大公司的經(jīng)歷,整理了一份大公司對Java高級開發(fā)工程師職位的考核綱要,希望可以幫助到需要的人。

當(dāng)前,市面上有《Java XX寶典》類似的圖書,而且圖書中的內(nèi)容都著重在講解Java最為基礎(chǔ)的部分,最嚴(yán)重的是,里面有著大量錯誤的內(nèi)容,***誤導(dǎo)性。另外,網(wǎng)上也有各種各樣的Java面試題, 很多也是著重在Java語言基礎(chǔ)上。實際上,如果要應(yīng)聘高級開發(fā)工程師職務(wù),僅僅懂得Java的基礎(chǔ)知識是遠遠不夠的,還必須懂得常用數(shù)據(jù)結(jié)構(gòu)、算法、網(wǎng) 絡(luò)、操作系統(tǒng)等知識。因此本文不會講解具體的技術(shù),筆者綜合自己應(yīng)聘各大公司的經(jīng)歷,整理了一份大公司對Java高級開發(fā)工程師職位的考核綱要,希望可以幫助到需要的人。

[[162919]]

1 Java基礎(chǔ)

1.1 Collection和Map

(1)掌握Collection和Map的繼承體系。

(2)掌握ArrayList、LinkedList、Vector、Stack、PriorityQueue、HashSet、 LinkedHashSet、TreeSet、HashMap、LinkedHashMap、TreeMap、WeakHashMap、EnumMap、 TreeMap、HashTable的特點和實現(xiàn)原理。

(3)掌握CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap的實現(xiàn)原理和適用場景。

1.2 IO

(1)掌握InputStream、OutputStream、Reader、Writer的繼承體系。

(2)掌握字節(jié)流(FileInputStream、DataInputStream、BufferedInputStream、 FileOutputSteam、DataOutputStream、BufferedOutputStream)和字符流 (BufferedReader、InputStreamReader、FileReader、BufferedWriter、 OutputStreamWriter、PrintWriter、FileWriter),并熟練運用。

(3)掌握NIO實現(xiàn)原理及使用方法。

1.3 異常

(1)掌握Throwable繼承體系。

(2)掌握異常工作原理。

(3)了解常見受檢異常(比如FileNotFoundException)、非受檢異常(比如NullPointerException)和錯誤(比如IOError)。

1.4 多線程

(1)掌握Executors可以創(chuàng)建的三種(JAVA8增加了一種,共四種)線程池的特點及適用范圍。

(2)掌握多線程同步機制,并熟練運用。

1.5 Socket

(1)掌握Socket通信原理。

(2)熟練使用多線程結(jié)合Socket進行編程。

2 Java虛擬機

2.1 JVM內(nèi)存區(qū)域劃分

(1)掌握程序計數(shù)器、堆、虛擬機棧、本地方法棧、方法區(qū)(JAVA8已移除)、元空間(JAVA8新增)的作用及基本原理。

(2)掌握堆的劃分:新生代(Eden、Survivor1、Survivor2)和老年代的作用及工作原理。

(3)掌握JVM內(nèi)存參數(shù)設(shè)置及調(diào)優(yōu)。

2.2 類加載

(1)掌握類的加載階段:加載、鏈接(驗證、準(zhǔn)備、解析)、初始化、使用、卸載。

(2)掌握類加載器分類及其應(yīng)用:啟動類加載器、擴展類加載器、應(yīng)用程序類加載器、自定義加載器。

3 J2EE

(1) 掌握JSP內(nèi)置對象、動作及相關(guān)特點和工作原理。

(2) 掌握Servlet的特點和工作原理。

(3) 掌握Spring框架的IOC和AOP實現(xiàn)原理(反射和動態(tài)代理)。

(4) 至少掌握一個MVC框架(Spring MVC,Struts等)的工作原理,并熟練運用。

(5) 至少掌握一個ORM框架(Hibernate,MyBatis等)的工作原理,并熟練運用。

4 數(shù)據(jù)結(jié)構(gòu)與算法

(1)掌握線性表和樹的特點并熟練運用。

(2)掌握常用排序和查找算法:插入排序(直接插入排序、希爾排序)、選擇排序(直接選擇排序、堆排序)、交換排序(冒泡排序、快速排序)、歸并排序,順序查找、二分查找、哈希查找。

(3) 熟練運用常見排序和查找算法思想解決編程問題。

(4)了解幾大基本算法:貪心算法、分治策略、動態(tài)規(guī)劃。

5 計算機網(wǎng)絡(luò)

(1)掌握網(wǎng)絡(luò)的分層結(jié)構(gòu),及每層的功能特點。

(2)掌握TCP/IP的通信原理(三次握手、四次揮手)

6 數(shù)據(jù)庫

(1)掌握復(fù)雜的SQL語句編寫。

(2)掌握數(shù)據(jù)庫的優(yōu)化(SQL層面和表設(shè)計層面)。

(3)至少掌握一款數(shù)據(jù)庫產(chǎn)品。

(4)熟悉高并發(fā)、大數(shù)據(jù)情況下的數(shù)據(jù)庫開發(fā)。

7 Web技術(shù)

(1)掌握AJAX的工作原理。

(2)至少熟悉一款JS框架(比如JQuery)。

8 設(shè)計模式

(1)熟悉常見的設(shè)計模式。

(2)會將設(shè)計模式理論應(yīng)用到實際開發(fā)中。

9 Linux

(1)熟練運用Linux常見命令。

(2)熟悉Linux操作系統(tǒng)基本概念及特點。

(3)熟悉Shell腳本。

10 操作系統(tǒng)

(1)掌握操作系統(tǒng)的進程管理。

(2)了解操作系統(tǒng)的I/O。

11 正則表達式

(1)掌握常見正則表達式符號。

(2)熟練運用正則表達式解決實際問題(比如匹配電話號碼、郵箱、域名等)。

責(zé)任編輯:王雪燕 來源: sanesee
相關(guān)推薦

2009-06-29 10:58:08

軟件工程師求職者

2018-03-07 16:31:24

Java高級開發(fā)工程師面試考綱

2020-09-17 16:11:04

軟件開發(fā) 技術(shù)

2022-01-16 07:12:30

軟件工程師吵架開發(fā)

2009-02-11 13:15:54

軟件工程師女工程師google

2023-06-05 10:07:13

軟件工程平臺工程師

2017-11-09 14:12:44

大數(shù)據(jù)軟件工程師算法工程師

2009-02-27 10:34:13

2013-09-18 14:38:06

面試

2022-07-29 09:12:44

軟件硬件開發(fā)

2022-04-18 10:13:32

軟件開發(fā)寫作

2014-08-20 10:24:11

軟件工程師

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2009-02-12 14:45:17

軟件工程師

2022-09-16 08:00:00

軟件工程師求職薪酬

2010-08-10 13:29:58

軟件工程師

2011-05-16 10:05:33

軟件工程師Java工程師

2020-05-11 22:44:43

Python開發(fā)軟件工程師

2009-03-11 11:02:19

面試軟件工程師軟件開發(fā)

2010-08-10 13:22:41

點贊
收藏

51CTO技術(shù)棧公眾號