大型互联网公司必考java面试题与面试技巧
?
為了節(jié)省大家的時(shí)間和提高學(xué)習(xí)效率,一些過時(shí)知識(shí)點(diǎn)和被筆試概率極低的題目不再被收錄和分析。
回答問題的思路:先正面敘述一些基本的核心知識(shí),然后描述一些特殊的東西,最后再來一些錦上添花的東西。要注意有些不是錦上添花,而是畫蛇添足的東西,不要隨便寫上。把答題像寫書一樣寫。我要回答一個(gè)新技術(shù)的問題大概思路和步驟是:我們想干什么,怎么干,干的過程中遇到了什么問題,現(xiàn)在用什么方式來解決。其實(shí)我們講課也是這樣一個(gè)思路。
例如,講ajax時(shí),我們希望不改變原來的整個(gè)網(wǎng)頁,而只是改變網(wǎng)頁中的局部內(nèi)容,例如,用戶名校驗(yàn),級聯(lián)下拉列表,下拉樹狀菜單。用傳統(tǒng)方式,就是瀏覽器自己直接向服務(wù)器發(fā)請求,服務(wù)器返回新頁面會(huì)蓋掉老頁面,這樣就不流暢了。
對本面試寶典中的題目有信心嗎?本來有信心的,結(jié)果聽你講完后,就沒信心了!我非常理解。因?yàn)樗X得我的太深,他想記住我的些東西,可是記不住,所以沒信心了。我又問:聽懂了嗎?他說聽懂了。你到現(xiàn)在只要把你的理解盡量清晰地、有條理地表達(dá)出來,就很棒了。
這套面試題主要目的是幫助那些還沒有java軟件開發(fā)實(shí)際工作經(jīng)驗(yàn),而正在努力尋找java軟件開發(fā)工作的朋友在筆試時(shí)更好地贏得筆試和面試。由于這套面試題涉及的范圍很泛,很廣,很雜,大家不可能一天兩天就看完和學(xué)完這套面試寶典,即使你已經(jīng)學(xué)過了有關(guān)的技術(shù),那么至少也需要一個(gè)月的時(shí)間才能消化和掌握這套面試寶典,所以,大家應(yīng)該早作準(zhǔn)備,從拿到這套面試寶典之日起,就要堅(jiān)持在每天閑暇之余學(xué)習(xí)其中幾道題目,日積月累,等到出去面試時(shí),一切都水到渠成,面試時(shí)就自然會(huì)游刃有余了。
答題時(shí),先答是什么,再答有什么作用和要注意什么(這部分最重要,展現(xiàn)自己的心得)
答案的段落分別,層次分明,條理清晰都非常重要,從這些表面的東西也可以看出一個(gè)人的習(xí)慣、辦事風(fēng)格、條理等。
要講你做出答案的思路過程,或者說你記住答案的思想都寫下來。把答題想著是辯論賽。答題就是給別人講道理、擺事實(shí)。答題不局限于什么格式和形式,就是要將自己的學(xué)識(shí)展現(xiàn)出來!
別因?yàn)槿思翌}目本來就模棱兩可,你就心里膽怯和沒底氣了,不敢回答了。你要大膽地指出對方題目很模糊和你的觀點(diǎn),不要把面試官想得有多高,其實(shí)他和你就是差不多的,你想想,如果他把你招進(jìn)去了,你們以后就是同事了,可不是差不多的嗎?
關(guān)于就業(yè)薪水,如果你是應(yīng)屆生,那不能要高工資,好比大餅的故事,沒有文憑還想拿高工資,就去中關(guān)村缺什么補(bǔ)什么吧!少數(shù)人基礎(chǔ)確實(shí)很好,在校期間確實(shí)又做過一些項(xiàng)目,那仍然是可以要到相對高的工資的。
公司招聘程序員更看重的要用到的編碼技術(shù)、而不是那些業(yè)務(wù)不太相關(guān)的所謂項(xiàng)目經(jīng)歷:
1.公司想招什么樣的人
2.公司面試會(huì)問什么.
3.簡歷怎么寫
4怎樣達(dá)到簡歷上的標(biāo)準(zhǔn)(培訓(xùn)中心教項(xiàng)目的目的)
對于一些公司接到了一些項(xiàng)目,想招聘一些初中級的程序員過來幫助寫代碼,完成這個(gè)項(xiàng)目,你更看重的是他的專業(yè)技術(shù)功底,還是以前做過幾個(gè)項(xiàng)目的經(jīng)歷呢?我們先排除掉那些編碼技術(shù)功底好,又正好做過相似項(xiàng)目的情況,實(shí)際上,這種魚和熊掌兼得的情況并不常見。其實(shí)公司很清楚,只要招聘進(jìn)來的人技術(shù)真的很明白,那他什么項(xiàng)目都可以做出來,公司招人不是讓你去重復(fù)做你以前的項(xiàng)目,而是做一個(gè)新項(xiàng)目,業(yè)務(wù)方面,你只要進(jìn)了項(xiàng)目團(tuán)隊(duì),自然就能掌握。所以,大多數(shù)招聘單位在招聘那些編碼級別的程序員時(shí)也沒指望能招聘到做過類似項(xiàng)目的人,也不會(huì)刻意去找做過類似項(xiàng)目的人,用人單位也不是想把你招進(jìn),然后把你以前做過的項(xiàng)目重做一遍,所以,用人單位更看重招進(jìn)來的人對要用到的編碼技術(shù)的功底到底怎樣,技術(shù)扎實(shí)不扎實(shí),項(xiàng)目則只要跟著開發(fā)團(tuán)隊(duì)走,自然就沒問題。除非是一些非常專業(yè)的行業(yè),要招聘特別高級的開發(fā)人員和系統(tǒng)分析師,招聘單位才特別注重他的項(xiàng)目經(jīng)驗(yàn)和行業(yè)經(jīng)驗(yàn),要去找到行業(yè)高手,公司才關(guān)心項(xiàng)目和與你聊項(xiàng)目的細(xì)節(jié),這樣的人通常都不是通過常規(guī)招聘渠道去招聘進(jìn)來的,而是通過各種手段挖過來的,這情況不再我今天要討論的范圍中。
技術(shù)學(xué)得明白不明白,人家?guī)讉€(gè)問題就把你的深淺問出來了,只要問一些具體的技術(shù)點(diǎn),就很容易看出你是真懂還是假懂,很容看出你的技術(shù)深度和實(shí)力,所以,技術(shù)是來不得半點(diǎn)虛假的,必須扎扎實(shí)實(shí)。
由于項(xiàng)目的種類繁多,涉及到現(xiàn)實(shí)生活中的各行各業(yè),什么五花八門的業(yè)務(wù)都有,例如,酒店房間預(yù)定管理,公司車輛調(diào)度管理,學(xué)校課程教室管理,超市進(jìn)銷存管理,知識(shí)內(nèi)容管理,等等……成千上萬等等,但是,不管是什么項(xiàng)目,采用的無非都是我們學(xué)習(xí)的那些目前流行和常用的技術(shù)。技術(shù)好、經(jīng)驗(yàn)豐富,則項(xiàng)目做出來的效率高些,程序更穩(wěn)定和更容易維護(hù)些;技術(shù)差點(diǎn),碰碰磕磕最后也能把項(xiàng)目做出來,無非是做的周期長點(diǎn)、返工的次數(shù)多點(diǎn),程序代碼寫得差些,用的技術(shù)笨拙點(diǎn)。如果一個(gè)人不是完完全全做過某個(gè)項(xiàng)目,他是不太關(guān)心該項(xiàng)目的業(yè)務(wù)的,對其中的一些具體細(xì)節(jié)更是一竅不知,(如果我招你來做圖書管理,你項(xiàng)目經(jīng)歷說你做過汽車調(diào)度,那我能問你汽車調(diào)度具體怎么回事嗎?不會(huì),所以,你很容易蒙混過去的)而一個(gè)程序員的整個(gè)職業(yè)生涯中能實(shí)實(shí)在在和完完整整做出來的項(xiàng)目沒幾個(gè),更別說在多個(gè)不同行業(yè)的項(xiàng)目了,有的程序員更是一輩子都只是在做某一個(gè)行業(yè)的項(xiàng)目,結(jié)果他就成了這個(gè)行業(yè)的專家(專門干一件事的家伙)。所以,技術(shù)面試官通常沒正好親身經(jīng)歷過你簡歷寫的那些項(xiàng)目,他不可能去問你寫的那些項(xiàng)目的具體細(xì)節(jié),而是只能泛泛地問你這個(gè)項(xiàng)目是多少人做的,做了多長時(shí)間,開發(fā)的過程,你在做項(xiàng)目的過程中有什么心得和收獲,用的什么技術(shù)等面上的問題,所以,簡歷上的項(xiàng)目經(jīng)歷可以含有很多水分,很容易作假,技術(shù)面試官也無法在項(xiàng)目上甄別你的真?zhèn)巍?/p>
簡歷該怎么寫:精通那些技術(shù),有一些什么項(xiàng)目經(jīng)歷
教項(xiàng)目是為了鞏固和靈活整合運(yùn)用技術(shù),增強(qiáng)學(xué)習(xí)的趣味性,熟悉做項(xiàng)目的流程,或得一些專業(yè)課程中無法獲得的特有項(xiàng)目經(jīng)驗(yàn),增強(qiáng)自己面試的信心。講的項(xiàng)目應(yīng)該真實(shí)可靠才有價(jià)值,否則,表面上是項(xiàng)目,實(shí)際上還是知識(shí)點(diǎn)的整合,對鞏固技術(shù)點(diǎn)和增強(qiáng)學(xué)習(xí)的趣味性,但無法獲得實(shí)際的項(xiàng)目經(jīng)驗(yàn)。(項(xiàng)目主要是增加你經(jīng)驗(yàn)的可信度,獲得更多面試機(jī)會(huì),真正能不能找到工作,找到好工作,主要看你鍵盤上的功夫了),好的面試官幾下就能面出你是否真有工作經(jīng)驗(yàn),他們問技術(shù)以外的公司的人和事,并且問開始、過程、結(jié)果,看你怎么編。
最后仔細(xì)回想了一下技術(shù)面試題,附在最后,希望對其它想去阿里的同學(xué)有所幫助
我碰到的面試題
java基礎(chǔ):
hashmap結(jié)構(gòu);什么對象能做為key
hashtable,concurrentHashMap,hashtable比較
String,StringBuilder,StringBuffer
對象的深淺復(fù)制
多線程:
wait,sleep分別是誰的方法,區(qū)別
countLatch的await方法是否安全,怎么改造
線程池參數(shù),整個(gè)流程描述
背后的底層原理aqs,cas
ThreadLocal原理,注意事項(xiàng),參數(shù)傳遞
還有java的鎖,內(nèi)置鎖,顯示鎖,各種容器
及鎖優(yōu)化:鎖消除,鎖粗化,鎖偏向,輕量級鎖
web方面:
servlet是否線程安全,如何改造
session與cookie的區(qū)別,get和post區(qū)別,tcp3次握手,文件上傳用post還是get
session的存儲(chǔ)
如何防止表單重復(fù)提交
jvm:
jvm內(nèi)存模型,
jvm問題工具,jps,jinfo,jmap...
數(shù)據(jù)庫:
最重要的索性及底層實(shí)現(xiàn)
索性失效的場景
最左原則
查看執(zhí)行計(jì)劃
及carndiation
然后是鎖的類型,行級表級
悲觀樂觀鎖
解釋數(shù)據(jù)庫事物及特性
隔離級別
及實(shí)現(xiàn),redo log .undo log
bin log主從復(fù)制
mvcc,Next-Key Lock
分布式:
問了CAP,跟base
zookeeper滿足了CAP的哪些特性,paxos
緩存穿透怎么解決
redis的io模型
如果保證redis高可用
redis是單線程還是多線程
線上cpu占比過高怎么排查
一致性hash
分庫分表
spring:
ioc,aop原理
ioc初始化流程
springmvc的流程
springboot,spring cloud相關(guān)組件
項(xiàng)目....
友情提醒一下,對于做過的項(xiàng)目,最好梳理清理,可能會(huì)叫你畫各種圖。
以下最新總結(jié)的最全2018各個(gè)大型互聯(lián)網(wǎng)公司高級Java必考題范圍和答案,僅用于參考~
?
歡迎大家加入Java架構(gòu)師之路:
本群提供Dubbo、Redis、Netty、zookeeperSpring cloud、分布式、高并發(fā)等架構(gòu)技術(shù)資料免費(fèi)的學(xué)習(xí)指導(dǎo) 架構(gòu)資料 以及免費(fèi)的解答不懂得問題都可以在本群提出來 之后還會(huì)有職業(yè)生涯規(guī)劃以及面試指導(dǎo)進(jìn)群修改群備注:開發(fā)年限-地區(qū)-經(jīng)驗(yàn)方便架構(gòu)師解答問題
點(diǎn)擊鏈接加入群聊【Java架構(gòu)師之路】:766529531
https://jq.qq.com/?_wv=1027&k=5ae4ieG
總結(jié)
以上是生活随笔為你收集整理的大型互联网公司必考java面试题与面试技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻量级流程图控件GoJS示例连载(一):
- 下一篇: 工作流开发