日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java (高级)软件工程师面试考纲

發(fā)布時(shí)間:2024/1/1 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java (高级)软件工程师面试考纲 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

O_O 隨便百度一下網(wǎng)上有很多各種各樣的Java面試題,很多也是著重在Java語言基礎(chǔ)上。實(shí)際上,如果要應(yīng)聘Java (高級(jí))軟件工程師,僅僅懂得Java的基礎(chǔ)知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,還必須懂得常用數(shù)據(jù)結(jié)構(gòu)、算法、網(wǎng)絡(luò)、操作系統(tǒng)等知識(shí)。因此本文不會(huì)講解具體的技術(shù),筆者綜合自己應(yīng)聘各大公司的經(jīng)歷,整理了一份大公司對(duì)Java (高級(jí))軟件工程師職位的考核綱要,希望可以幫助到需要的人。

Java基礎(chǔ)

  1 Collection和Map

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

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

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

  2 IO

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

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

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

  3 異常

  (1)掌握Throwable繼承體系。

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

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

  4 多線程

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

  (2)掌握多線程同步機(jī)制,并熟練運(yùn)用。

  5 Socket

  (1)掌握Socket通信原理。

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

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

  (1)掌握線性表和樹的特點(diǎn)并熟練運(yùn)用。

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

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

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

Java虛擬機(jī)

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

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

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

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

  2 類加載

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

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

數(shù)據(jù)庫

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

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

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

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

J2EE  

  (1) 掌握J(rèn)SP內(nèi)置對(duì)象、動(dòng)作及相關(guān)特點(diǎn)和工作原理。

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

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

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

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

正則表達(dá)式

  (1)掌握常見正則表達(dá)式符號(hào)。

  (2)熟練運(yùn)用正則表達(dá)式解決實(shí)際問題(比如匹配電話號(hào)碼、郵箱、域名等)。
  

計(jì)算機(jī)網(wǎng)絡(luò)

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

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

Web技術(shù)

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

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

  8 設(shè)計(jì)模式

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

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

Linux

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

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

  (3)熟悉Shell腳本。

操作系統(tǒng)

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

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

總結(jié)

以上是生活随笔為你收集整理的Java (高级)软件工程师面试考纲的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。