java工程師的面試成功方法.docx_第1頁(yè)
java工程師的面試成功方法.docx_第2頁(yè)
java工程師的面試成功方法.docx_第3頁(yè)
java工程師的面試成功方法.docx_第4頁(yè)
java工程師的面試成功方法.docx_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

如何面試3w的java工程師的成功秘籍,你知道嗎?前言:想要成為合格的Java程序員或工程師到底需要具備哪些專(zhuān)業(yè)技能,面試者在面試之前到底需要準(zhǔn)備哪些東西呢?本文陳列的這些內(nèi)容既可以作為個(gè)人簡(jiǎn)歷中的內(nèi)容,也可以作為面試的時(shí)候跟面試官聊的東西,你可以把這些內(nèi)容寫(xiě)到你的簡(jiǎn)歷中,當(dāng)然更需要的是你在面試的時(shí)候向面試官展示這些專(zhuān)業(yè)技能。此文為對(duì)正在尋覓Java程序員(Java工程師)職位的freshman以及希望成為中高級(jí)Java開(kāi)發(fā)者的junior求職秘籍。一、專(zhuān)業(yè)技能熟練的使用Java語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì),有良好的編程習(xí)慣,熟悉常用的Java API,包括集合框架、多線(xiàn)程(并發(fā)編程)、I/O(NIO)、Socket、JDBC、XML、反射等。熟悉基于JSP和Servlet的Java Web開(kāi)發(fā),對(duì)Servlet和JSP的工作原理和生命周期有深入了解,熟練的使用JSTL和EL編寫(xiě)無(wú)腳本動(dòng)態(tài)頁(yè)面,有使用監(jiān)聽(tīng)器、過(guò)濾器等Web組件以及MVC架構(gòu)模式進(jìn)行Java Web項(xiàng)目開(kāi)發(fā)的經(jīng)驗(yàn)。對(duì)Spring的IoC容器和AOP原理有深入了解,熟練的運(yùn)用Spring框架管理各種Web組件及其依賴(lài)關(guān)系,熟練的使用Spring進(jìn)行事務(wù)、日志、安全性等的管理,有使用SpringMVC作為表示層技術(shù)以及使用Spring提供的持久化支持進(jìn)行Web項(xiàng)目開(kāi)發(fā)的經(jīng)驗(yàn),熟悉Spring對(duì)其他框架的整合。熟練的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,對(duì)Hibernate的關(guān)聯(lián)映射、繼承映射、組件映射、緩存機(jī)制、事務(wù)管理以及性能調(diào)優(yōu)等有深入的理解。熟練的使用HTML、CSS和JavaScript進(jìn)行Web前端開(kāi)發(fā),熟悉jQuery和Bootstrap,對(duì)Ajax技術(shù)在Web項(xiàng)目中的應(yīng)用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)進(jìn)行項(xiàng)目開(kāi)發(fā)的經(jīng)驗(yàn)。熟悉常用的關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品(MySQL、Oracle),熟練的使用SQL和PL/SQL進(jìn)行數(shù)據(jù)庫(kù)編程。熟悉面向?qū)ο蟮脑O(shè)計(jì)原則,對(duì)GoF設(shè)計(jì)模式和企業(yè)應(yīng)用架構(gòu)模式有深入的了解和實(shí)際開(kāi)發(fā)的相關(guān)經(jīng)驗(yàn),熟練的使用UML進(jìn)行面向?qū)ο蟮姆治龊驮O(shè)計(jì),有TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))和DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))的經(jīng)驗(yàn)。熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服務(wù)器和應(yīng)用服務(wù)器的使用,熟悉多種服務(wù)器整合、集群和負(fù)載均衡的配置。熟練的使用產(chǎn)品原型工具Axure,熟練的使用設(shè)計(jì)建模工具PowerDesigner和Enterprise Architect,熟練的使用Java開(kāi)發(fā)環(huán)境Eclipse和IntelliJ,熟練的使用前端開(kāi)發(fā)環(huán)境WebStorm,熟練的使用軟件版本控制工具SVN和Git,熟練的使用項(xiàng)目構(gòu)建和管理工具M(jìn)aven和Gradle。說(shuō)明:上面羅列的這些東西并不是每一項(xiàng)你都要爛熟于心,根據(jù)企業(yè)招聘的具體要求可以做相應(yīng)的有針對(duì)性的準(zhǔn)備。我個(gè)人覺(jué)得前6項(xiàng)應(yīng)該是最低要求,是作為一個(gè)Java開(kāi)發(fā)者必須要具備的專(zhuān)業(yè)技能。JAVA的用途:80%以上的高端企業(yè)級(jí)應(yīng)用都使用JAVA平臺(tái)(電信、銀行等)。JAVA是成熟的產(chǎn)品,已經(jīng)有10年的歷史。如果你想在Java行業(yè)有所建樹(shù),想要系統(tǒng)的進(jìn)行java的學(xué)習(xí),那么你可以來(lái)這個(gè)群,前面是二三一,中間是三一四,后面是零二八。連起來(lái)就可以了。這里有很多互聯(lián)網(wǎng)大牛教你學(xué)習(xí),還有免費(fèi)的課程。不是想學(xué)習(xí)的就不要加了。二、項(xiàng)目經(jīng)驗(yàn)項(xiàng)目介紹本系統(tǒng)是X委托Y開(kāi)發(fā)的用于Z的系統(tǒng),系統(tǒng)包括A、B、C、D等模塊。系統(tǒng)使用了Java企業(yè)級(jí)開(kāi)發(fā)的開(kāi)源框架E以及前端技術(shù)F。表示層運(yùn)用了G架構(gòu),使用H作為視圖I作為控制器并實(shí)現(xiàn)了REST風(fēng)格的請(qǐng)求;業(yè)務(wù)邏輯層運(yùn)用了J模式,并通過(guò)K實(shí)現(xiàn)事務(wù)、日志和安全性等功能,通過(guò)L實(shí)現(xiàn)緩存服務(wù);持久層使用了M封裝CRUD操作,底層使用N實(shí)現(xiàn)數(shù)據(jù)存取。整個(gè)項(xiàng)目采用了P開(kāi)發(fā)模型。說(shuō)明:上面的描述中,E通常指Spring(Java企業(yè)級(jí)開(kāi)發(fā)的一站式選擇);F最有可能是jQuery庫(kù)及其插件或者是Bootstrap框架,當(dāng)然如果要構(gòu)建單頁(yè)應(yīng)用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JavaScript模板引擎(如HandleBars);G顯然是MVC(模型-視圖-控制),最有可能的實(shí)現(xiàn)框架是Spring MVC,除此之外還有Struts 2、JSF以及Apache為JSF提供的MyFaces實(shí)現(xiàn),可以使用JSP作為MVC中的V,也可使用模板引擎(如Freemarker和Velocity)來(lái)生成視圖,還可以是各種文檔或報(bào)表(如Excel和PDF等),而Servlet和自定義的控制器是MVC中的C,當(dāng)然Spring MVC中提供了作為前端控制器的DispatcherServlet;J通常是事務(wù)腳本,K應(yīng)該是AOP(面向切面編程)技術(shù),L目前廣泛使用的有memcached和Redis;M的選擇方案很多,最有可能的是Hibernate和MyBatis,也可以?xún)煞N技術(shù)同時(shí)運(yùn)用,但通常是將增刪改交給Hibernate來(lái)處理,而復(fù)雜的查詢(xún)則由MyBatis完成,此外TopLink、jOOQ也是優(yōu)秀的持久層解決方案;底層的數(shù)據(jù)存取傳統(tǒng)上是使用關(guān)系型數(shù)據(jù)庫(kù),可以是MySQL、Oracle、SQLServer、DB2等,隨著大數(shù)據(jù)時(shí)代的來(lái)臨,也可以采用NoSQL(如MongoDB、MemBase、BigTable等)和其他大數(shù)據(jù)存取方案(如GFS、HDFS等);項(xiàng)目的開(kāi)發(fā)模型P可以是瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、RAD模型等。項(xiàng)目開(kāi)發(fā)流程可行性分析 可行性分析報(bào)告 / 項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū)需求分析 需求規(guī)格說(shuō)明書(shū)OOAD(用例圖、時(shí)序圖、活動(dòng)圖)界面原型:幫助理解需求、業(yè)務(wù)層設(shè)計(jì)時(shí)推導(dǎo)事務(wù)腳本設(shè)計(jì) 概要設(shè)計(jì)說(shuō)明書(shū)/詳細(xì)設(shè)計(jì)說(shuō)明書(shū)抽取業(yè)務(wù)實(shí)體(領(lǐng)域?qū)ο螅侯?lèi)圖、E-R圖(概念設(shè)計(jì)階段)分層架構(gòu):確定各層的技術(shù)實(shí)現(xiàn)方案(具體到使用的框架、數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器等)。業(yè)務(wù)層設(shè)計(jì):事務(wù)腳本模式(事務(wù):用戶(hù)發(fā)送一次請(qǐng)求就是一個(gè)事務(wù);腳本:一個(gè)方法或一個(gè)函數(shù);事務(wù)腳本:把一次請(qǐng)求封裝為一個(gè)方法或一個(gè)函數(shù);事務(wù)腳本模式:一個(gè)事務(wù)開(kāi)始于腳本的打開(kāi),終止于腳本的關(guān)閉)。業(yè)務(wù)層涉及的對(duì)象有三種類(lèi)型:事務(wù)腳本類(lèi)(封裝了業(yè)務(wù)的流程)、數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象(DAO,封裝了持久化操作)、數(shù)據(jù)傳輸對(duì)象(DTO,封裝了失血/貧血領(lǐng)域?qū)ο螅咧g的關(guān)系是事務(wù)腳本類(lèi)組合(聚合)數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象,這二者都依賴(lài)了數(shù)據(jù)傳輸對(duì)象正向工程(UML類(lèi)圖生成Java代碼)和逆向工程(Java代碼生成UML類(lèi)圖)數(shù)據(jù)庫(kù)物理設(shè)計(jì)(ER圖轉(zhuǎn)換成表間關(guān)系圖、建庫(kù)和建表、使用工具插入測(cè)試數(shù)據(jù))編碼測(cè)試 測(cè)試報(bào)告 / 缺陷報(bào)告單元測(cè)試:對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證,在Java中是對(duì)類(lèi)中的方法進(jìn)行測(cè)試,可以使用JUnit工具來(lái)實(shí)施。集成測(cè)試:集成測(cè)試也叫組裝測(cè)試或聯(lián)合測(cè)試。在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成為子系統(tǒng)進(jìn)行測(cè)試。系統(tǒng)測(cè)試:將已經(jīng)確認(rèn)的軟件、硬件、外設(shè)、網(wǎng)絡(luò)等元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試,系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿(mǎn)足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。驗(yàn)收測(cè)試:在軟件產(chǎn)品完成了單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試之后,產(chǎn)品發(fā)布之前所進(jìn)行的軟件測(cè)試活動(dòng)。它是技術(shù)測(cè)試的最后一個(gè)階段,也稱(chēng)為交付測(cè)試。驗(yàn)收測(cè)試的目的是確保軟件準(zhǔn)備就緒,并且可以讓最終用戶(hù)將其用于執(zhí)行軟件的既定功能和任務(wù)。交付和維護(hù) 用戶(hù)手冊(cè) / 操作手冊(cè)項(xiàng)目管理版本控制:CVS/SVN/Git自動(dòng)構(gòu)建:Ant/Maven/Ivy/Gradle持續(xù)集成:Hudson/Jenkins系統(tǒng)架構(gòu)負(fù)載均衡服務(wù)器:F5、A10應(yīng)用服務(wù)器:HTTP服務(wù)器:Apache、NginX(HTTP、反向代理、郵件代理服務(wù)器)Servlet容器:Tomcat、ResinEJB容器:WildFly(JBoss Application Server)、GlassFish、Weblogic、Websphere數(shù)據(jù)庫(kù)服務(wù)器:MySQL、Oracle第三方工具(插件)應(yīng)用圖表工具:基于jQuery的圖表插件(如jQchart、Flot、Charted等)、Chart.js、Highcharts等。報(bào)表工具:Pentaho Reporting、iReport、DynamicReports等。文檔處理:POI、iText等。工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。作業(yè)調(diào)度:Quartz、JobServer、Oddjob等。緩存服務(wù):EhCache、memcached、SwarmCache等。消息隊(duì)列:Open-MQ、ZeroMQ等。安全框架:Shiro、PicketBox等。搜索引擎:IndexTank、Lucene、ElasticSearch等。Ajax框架:jQuery、ExtJS、DWR等。UI插件:EasyUI、MiniUI等。富文本框:UEditor、CKEditor等。JAVA的用途:80%以上的高端企業(yè)級(jí)應(yīng)用都使用JAVA平臺(tái)(電信、銀行等)。JAVA是成熟的產(chǎn)品,已經(jīng)有10年的歷史。如果你想在Java行業(yè)有所建樹(shù),想要系統(tǒng)的進(jìn)行java的學(xué)習(xí),那么你可以來(lái)這個(gè)群,前面是二三一,中間是三一四,后面是零二八。連起來(lái)就可以了。這里有很多互聯(lián)網(wǎng)大牛教你學(xué)習(xí),還有免費(fèi)的課程。不是想學(xué)習(xí)的就不要加了。3、 面試提問(wèn)項(xiàng)目是為哪個(gè)公司開(kāi)發(fā)的?項(xiàng)目的投入是多少?有多少人參與了項(xiàng)目開(kāi)發(fā)?整個(gè)團(tuán)隊(duì)中,測(cè)試人員、開(kāi)發(fā)人員、項(xiàng)目經(jīng)理比例是多少?項(xiàng)目開(kāi)發(fā)了多長(zhǎng)時(shí)間?項(xiàng)目總的代碼量有多少?你的代碼量有多少?項(xiàng)目采用了怎樣的開(kāi)發(fā)模型或開(kāi)發(fā)流程?項(xiàng)目的架構(gòu)是怎樣的?項(xiàng)目的技術(shù)選型是怎樣的?你在項(xiàng)目中承擔(dān)了怎樣的職責(zé)?是否經(jīng)常開(kāi)會(huì)或加班?項(xiàng)目完成后有哪些收獲或是經(jīng)驗(yàn)教訓(xùn)?項(xiàng)目中最困難的部分是什么?如何解決團(tuán)隊(duì)開(kāi)發(fā)時(shí)遇到的各種沖突?說(shuō)明:對(duì)于沒(méi)有實(shí)際項(xiàng)目經(jīng)驗(yàn)的,可以在前程無(wú)憂(yōu)、智聯(lián)招聘、拉勾網(wǎng)等網(wǎng)站上搜索招聘Java程序員的公司,找到他們的官方網(wǎng)站了解他們做的項(xiàng)目,查看項(xiàng)目的詳細(xì)介紹,然后嘗試完成其中一部分功能,最好請(qǐng)教一下高人看看自己的設(shè)計(jì)和代碼是否恰當(dāng),這樣相當(dāng)于積累了一定的項(xiàng)目經(jīng)驗(yàn)。面試題Java常見(jiàn)的面試題可以看一下Java面試題集、Java面試題全集以及面試編程題拾遺等文章四、其他常見(jiàn)錯(cuò)誤只在計(jì)算機(jī)上練習(xí)不做行為面試題演練不做模擬面試訓(xùn)練試圖死記硬背答案不大聲說(shuō)出你的解題思路代碼不夠嚴(yán)謹(jǐn)不寫(xiě)測(cè)試代碼輕言放棄面試時(shí)可以反問(wèn)面試官的問(wèn)題我注意到你們使用了X技術(shù),請(qǐng)問(wèn)你們是如何解決Y問(wèn)題的?為什么你們的產(chǎn)品使用了X技術(shù)而不是Y技術(shù)?據(jù)我所知,X技術(shù)雖然有A、B、C等好處,但也存在D和E問(wèn)題,而Y技術(shù)可以解決D和E問(wèn)題。我對(duì)您說(shuō)的X技術(shù)不是太熟悉,但我感覺(jué)它是一個(gè)不錯(cuò)的解決方案,您能多講講它的工作原理嗎?你們團(tuán)隊(duì)是如何進(jìn)行項(xiàng)目規(guī)劃的?一周會(huì)有幾次例會(huì)?每周的代碼量大概是多少?就X問(wèn)題我能想到的解決方案目前就只有Y了,請(qǐng)問(wèn)您會(huì)怎么解決這個(gè)問(wèn)題?S.A.R.法則S.A.R法則是指先描述問(wèn)題的場(chǎng)景,然后解釋你采取的行動(dòng),最后陳述結(jié)果。算法題的五種解法1.舉例法:通過(guò)舉例子發(fā)現(xiàn)其中的一般規(guī)則。例子:圓內(nèi)接三角形是銳角三角形的概率是多少?這是搜狗的一個(gè)面試題,可以在圓上隨意畫(huà)三個(gè)點(diǎn)連接成三角形就可以知道答案了。2.模式匹配法例子:一個(gè)有序數(shù)組的元素經(jīng)過(guò)循環(huán)移動(dòng),元素的順序變成3 4 5 6 1 2。怎樣找到數(shù)組中最小的那個(gè)元素,假設(shè)數(shù)組中的元素各不相同。這個(gè)題目和折半查找看起來(lái)是那么相似,因此可以借鑒折半查找的算法,最小元素顯然出現(xiàn)在mid right的轉(zhuǎn)折點(diǎn)。3.簡(jiǎn)化推廣法說(shuō)明:簡(jiǎn)化問(wèn)題規(guī)模和數(shù)據(jù)類(lèi)型,然后再發(fā)現(xiàn)通用的解法。4.簡(jiǎn)單構(gòu)造法例子:找出abcde的所有可能的排列組合。先考慮只有a的情況,再考慮ab的情況,以此類(lèi)推。最終你可能會(huì)得到一個(gè)遞歸公式。這種方法往往會(huì)演變成遞歸法。5.數(shù)據(jù)結(jié)構(gòu)頭腦風(fēng)暴法例子:隨機(jī)生成一些數(shù)字,并找出其中位數(shù)。這種問(wèn)題可以在頭腦中將你了解的數(shù)據(jù)結(jié)構(gòu)過(guò)一遍,看看哪種是最合適的數(shù)據(jù)結(jié)構(gòu)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論