成人精品区_国产精品久久久久久久久久久久午夜片_www.av在线视频_激情综合激情五月_91天天操_99久久精

歡迎光臨

我們一直在努力

2016校招Android開(kāi)發(fā),一個(gè)非重本應(yīng)屆生的坎坷求職路

日期: 來(lái)源:收集編輯:佚名

和大多數(shù)的面經(jīng)不同,我不是大牛,手頭也沒(méi)有3,4個(gè) sp 的 offer 求比較,我只是一個(gè)非211,985的本科應(yīng)屆畢業(yè)生,想分享一下自己坎坷的求職歷程,來(lái)給更多求職路上迷茫的應(yīng)屆生一些鼓勵(lì),特別是本科應(yīng)屆生。另外還要特別感謝北郵信安研二的趙翔,研三信安的吳博還有清華的金輝,雖然只是做了短短一兩個(gè)月的同事,但是在之后一直盡其所能的幫助鼓勵(lì)我。還有研三信安的胡相鐸,非常感謝這位大神在技術(shù)學(xué)習(xí)上對(duì)我的指導(dǎo)!最后,當(dāng)然是牛客網(wǎng)這個(gè)大平臺(tái)了,提供的校招信息相當(dāng)?shù)娜妫M茉睫k越好!

8月初就開(kāi)始準(zhǔn)備校招,一直到10月份下旬,一切都結(jié)束塵埃落定了。因?yàn)榧以谏钲诙擞衷诒本晕乙婚_(kāi)始就打算在北京參加校招,找回深圳的工作,真正實(shí)踐下來(lái),還是相當(dāng)有難度。我是非985,211的應(yīng)屆本科生,像這種技術(shù)崗位,在北京,面臨的問(wèn)題不僅僅是你學(xué)校是不是重本的問(wèn)題,還有很多中科院,清北,北郵,北航,北理工的研究生跟你一起競(jìng)爭(zhēng),除非你真的非常優(yōu)秀,拿過(guò)ACM 獎(jiǎng),或者實(shí)習(xí)經(jīng)歷和項(xiàng)目經(jīng)歷都非常豐富,你的簡(jiǎn)歷才有通過(guò)的可能,不然很可能連簡(jiǎn)歷篩選這關(guān)都無(wú)法通過(guò)。如果一些非重本的本科應(yīng)屆生,想要從事技術(shù)崗位的工作,一定要好好豐富自己的履歷,一個(gè)人在學(xué)校悶頭學(xué)和外出實(shí)習(xí)學(xué)習(xí),二者的能學(xué)到的東西,比較起來(lái)真的差很多。我運(yùn)氣比較好,遇到了相當(dāng)開(kāi)明的輔導(dǎo)員和系主任,都表示愿意放我走,于是大三就開(kāi)始在已經(jīng)在三星實(shí)習(xí)。

非重本的本科應(yīng)屆畢業(yè)生,在很多地方都相當(dāng)受歧視。有些企業(yè)點(diǎn)名就只要211的畢業(yè)生,比如華為,中興等等。我現(xiàn)在仍然記得我最受屈辱的一件事情;當(dāng)時(shí)華為在北郵的宣講會(huì)結(jié)束,允許宣講會(huì)后找面試官直接投遞簡(jiǎn)歷,面試官在收到我的簡(jiǎn)歷后,連我的實(shí)習(xí)經(jīng)歷都沒(méi)多看一眼,直接翻到最后找到我學(xué)校,然后露出一副鄙夷的態(tài)度,把簡(jiǎn)歷打還給我,表示不接受非重本的應(yīng)屆畢業(yè)生。我當(dāng)時(shí)心情沮喪到幾天都沒(méi)緩過(guò)來(lái),心神恍惚,淋著雨走到了地鐵站,連地鐵都坐過(guò)了站。我?guī)卓深A(yù)見(jiàn)即將到來(lái)的2個(gè)月是我人生第二個(gè)轉(zhuǎn)折,卻沒(méi)想到迎頭就摔了一個(gè)大大的跟頭,2個(gè)月之后我會(huì)去往哪里,夙愿的offer能否拿到,能否回到家人身邊工作,種種矛盾與迷茫,匯集成激流,洶涌而至。

真正的心態(tài)的轉(zhuǎn)變,是從網(wǎng)易的第一通電話開(kāi)始的,也算是我的第一次面試的開(kāi)始。感謝北郵人這個(gè)平臺(tái),讓我找到了內(nèi)推碼,才把簡(jiǎn)歷發(fā)了出去。網(wǎng)易的內(nèi)推相當(dāng)早,基本8月初就已經(jīng)開(kāi)始了,大家一定要盡早寫好簡(jiǎn)歷,很多好的互聯(lián)網(wǎng)公司也是從8月份就開(kāi)始了內(nèi)推,我個(gè)人認(rèn)為整個(gè)內(nèi)推流程下來(lái),感覺(jué)難度和后期參加的BAT,TMD的(頭條,美團(tuán),滴滴)校招差不多,大家不需要擔(dān)心難度會(huì)很大,最要緊的還是盡早復(fù)習(xí),準(zhǔn)備好基礎(chǔ)知識(shí)。

回到網(wǎng)易的內(nèi)推上,電話面試其實(shí)也有很多坑,并不是所有的面試官都有備而來(lái)想好了面試的一系列問(wèn)題。更多時(shí)候他只是想了解你對(duì)于項(xiàng)目經(jīng)歷的深入程度,需要你主動(dòng)的講解項(xiàng)目經(jīng)歷。我曾經(jīng)聽(tīng)過(guò)在網(wǎng)易電面就掛了的同學(xué)的吐槽,他當(dāng)時(shí)在魅族實(shí)習(xí),公司規(guī)定進(jìn)行的項(xiàng)目需要保密,當(dāng)面試官問(wèn)他項(xiàng)目經(jīng)歷時(shí)候,他便回答說(shuō)這個(gè)保密不能說(shuō),面試官當(dāng)場(chǎng)就不高興了(可能之前電面太多同學(xué)了有點(diǎn)累了不耐煩了),覺(jué)得他在裝逼,沒(méi)聊10分鐘就這同學(xué)喪失了興趣掛了電話。所以大家應(yīng)該在內(nèi)推前,應(yīng)該想好現(xiàn)在在公司的項(xiàng)目,什么該說(shuō)什么不該說(shuō)。另外,在你主動(dòng)講解項(xiàng)目的時(shí)候,不要介紹的太淺,可以仔細(xì)聊聊你在項(xiàng)目中遇到的棘手的技術(shù)難題或者難以實(shí)現(xiàn)的項(xiàng)目需求,你是怎么突破實(shí)現(xiàn)的,從而引起面試官的興趣,引導(dǎo)他在你熟悉的技術(shù)上對(duì)你發(fā)問(wèn)。我大概和面試官聊了45分鐘,順利通過(guò)了第一輪面試。

第二輪技術(shù)面試,因?yàn)闀r(shí)間問(wèn)題趕不到杭州了,我選擇了視頻面試,短信告知要求使用網(wǎng)易的易信進(jìn)行視頻面試,結(jié)果面試過(guò)程中各種聲音延遲,視頻卡頓,面著面著就不得以改成了語(yǔ)音面試,面試官也叫苦連天,真是自己人坑了自己人。第二面時(shí)間相當(dāng)緊,說(shuō)好的10點(diǎn)半結(jié)果拖到11點(diǎn)15才面,可能面試官趕著吃飯,見(jiàn)面還沒(méi)打招呼問(wèn)題就上來(lái)了,炮彈式發(fā)問(wèn),答到點(diǎn)上馬上就提出下一問(wèn)題。面試官那里應(yīng)該有個(gè)列表的,照著列表提問(wèn),根據(jù)回答給予不同程度的評(píng)分。都是 Android 開(kāi)發(fā)題目,問(wèn)題相當(dāng)?shù)募?xì),當(dāng)時(shí)問(wèn)了這么一個(gè)問(wèn)題:View中onTouch,onTouchEvent,onClick的執(zhí)行順序,如果只是簡(jiǎn)單的在學(xué)校寫下 Demo,是很難把這么細(xì)的問(wèn)題回到上來(lái)的,只有真正的參與到整個(gè) App 開(kāi)發(fā)流程,才能回答上來(lái)。面了45分鐘左右,答得七七八八,讓我等 HR 通知

在我很意外的情況下接到了 HR 面,因?yàn)榈鹊臅r(shí)間比較長(zhǎng),我?guī)缀醵颊J(rèn)為我的網(wǎng)易面已經(jīng)跪了。HR 面也是相當(dāng)?shù)亩分嵌酚拢蟻?lái)讓我介紹下我自己,做過(guò)什么項(xiàng)目,個(gè)人的職業(yè)規(guī)劃是什么,課外興趣有哪些,手頭有別家 Offer 嗎,最后難點(diǎn)來(lái)了,問(wèn)我為什么會(huì)選擇來(lái)杭州,家人是否有在杭州的,感覺(jué)這個(gè)就被卡住了,臨時(shí)急匆匆撒了個(gè)慌,感覺(jué)這個(gè)地方答得太蹩腳,最后讓我說(shuō)下自己的5個(gè)缺點(diǎn),我以自己可能有些冒失悲觀為由跟她講了一下我參加華為宣講會(huì)簡(jiǎn)歷被拒的經(jīng)歷,她反倒安慰起我,忘記問(wèn)我后面2個(gè)缺點(diǎn)了,不知道要不要感謝華為。一個(gè) offer 就這個(gè)到手了

拿到網(wǎng)易 offer 后已經(jīng)是9月底,手頭也有一家C 輪的北京創(chuàng)業(yè)公司的 offer,可是我還是希望能的找到深圳的工作。與騰訊在北京地區(qū)的校招失之交臂后,華為中興兩家雖在深圳,無(wú)奈又卡我學(xué)歷。我雖然順利通過(guò)幾家互聯(lián)網(wǎng)公司的網(wǎng)上筆試,進(jìn)入面試環(huán)節(jié),但是今年互聯(lián)網(wǎng)寒冬真的來(lái)的太猛了,北京地區(qū)競(jìng)爭(zhēng)又激烈,說(shuō)是百里挑一都不為過(guò)了,基本上校招的問(wèn)題的難度已經(jīng)和社招沒(méi)什么區(qū)別的,印象最深的還有一道題目,讓應(yīng)用防第三方清理的方法,面試官要求我說(shuō)至少4種,我腦汁絞盡,除了最基本的雙進(jìn)程守護(hù)外,連利用 Android 4.1 的系統(tǒng)漏洞獲取臨時(shí)Root權(quán)限偽裝成系統(tǒng)級(jí)應(yīng)用都說(shuō)了,才勉強(qiáng)放過(guò)我。

百度在深圳也有Android 開(kāi)發(fā)的崗位,線上筆試雖然過(guò)了,但是我投的時(shí)候選擇的是在北京參加面試,應(yīng)聘的是深圳地區(qū)的崗位。我機(jī)緣巧合下得到了深圳地區(qū)的 HR 的電話,詢問(wèn)在深圳地區(qū)的Android 開(kāi)發(fā)的崗位的情況,她回答我說(shuō)在其他城市進(jìn)行校招時(shí)已經(jīng)招滿了。我心情瞬間跌到谷底,在北京找回深圳的工作的希望正式宣告破滅了,我下決心回深圳參加社招拼一拼(深圳幾乎沒(méi)有什么校招宣講會(huì))。

在深圳海投一波簡(jiǎn)歷后,我也確實(shí)通過(guò)了不少公司的面試,無(wú)奈別人是社招的崗位,需要我立刻上崗工作,我學(xué)校還有事情要處理,不可能全職工作的。在這里也給大家提個(gè)醒,不到萬(wàn)不得已,不要參加社招,時(shí)間上的確合不來(lái),而且企業(yè)也更容易毀約,大部分大規(guī)模的公司,用人方面都有規(guī)定,只允許應(yīng)屆生走校招流程進(jìn)來(lái)。

就我認(rèn)為我希望再次破滅之際,突然接到美圖公司的電話,我已經(jīng)說(shuō)明我是應(yīng)屆生,不能立刻報(bào)道,他們說(shuō)沒(méi)問(wèn)題他們這邊有校招名額空缺(之前在北郵有宣講會(huì),沒(méi)去成),問(wèn)我方便過(guò)來(lái)深圳分公司這邊面試嗎?我一口答應(yīng)下,第二天到公司后,一路筆試,技術(shù)面試,HR 面,CTO 面,輕車熟路過(guò)關(guān)斬將,下午就收到Offer,可能我之前在三星也是做圖像處理類的 App 比較多,技術(shù)那邊覺(jué)得相當(dāng)符合期望,薪資比之前談的還要高了一點(diǎn)。瞬間覺(jué)得之前受的背運(yùn)白眼都有了回報(bào),真是苦盡甘來(lái)了。

就在答應(yīng)過(guò)幾天去美圖簽三方了,結(jié)果夢(mèng)寐以求的騰訊突然打電話來(lái)技術(shù)面試,想起原來(lái)是社招的投的簡(jiǎn)歷,問(wèn)的問(wèn)題相當(dāng)有難度,答的磕磕巴巴的,以為沒(méi)戲了,晚上打電話來(lái)又要求到總部面。感覺(jué)自己像個(gè)快結(jié)婚的人了,突然學(xué)生時(shí)代的初戀女神過(guò)來(lái)撩撥一下你,明知不可能卻又心存僥幸,心情起起伏伏又患得患失,人生的精彩不過(guò)如此吧。最后再次與騰訊失之交臂,加入了美圖。

2016校招Android開(kāi)發(fā),一個(gè)非重本應(yīng)屆生的坎坷求職路

文/紅樓,知乎地址:http://www.zhihu.com/people/hong-lou

J2EE 部分:

  1. Switch能否用string做參數(shù)?

    1. Java 7之前, switch 只能支持byte,short,char,int 或者其對(duì)應(yīng)的封裝類以及 Enum 類型。在JAVA 7中,String 支持被加上了。

  2. equals與==的區(qū)別:

    1. ==是判斷兩個(gè)變量或?qū)嵗遣皇侵赶蛲粋€(gè)內(nèi)存空間
      equals是判斷兩個(gè)變量或?qū)嵗赶虻膬?nèi)存空間的值是不是相同
  3. Object有哪些公用方法?

    1. 方法equals測(cè)試的是兩個(gè)對(duì)象是否相等

    2. 方法clone進(jìn)行對(duì)象拷貝

    3. 方法getClass返回和當(dāng)前對(duì)象相關(guān)的Class對(duì)象

    4. 方法notify,notifyall,wait都是用來(lái)對(duì)給定對(duì)象進(jìn)行線程同步的

  4. Java的四種引用,強(qiáng)弱軟虛,用到的場(chǎng)景

    1. 利用軟引用和弱引用解決OOM問(wèn)題:用一個(gè)HashMap來(lái)保存圖片的路徑和相應(yīng)圖片對(duì)象關(guān)聯(lián)的軟引用之間的映射關(guān)系,在內(nèi)存不足時(shí),JVM會(huì)自動(dòng)回收這些緩存圖片對(duì)象所占用的空間,從而有效地避免了OOM的問(wèn)題

    2. 通過(guò)軟可及對(duì)象重獲方法實(shí)現(xiàn)Java對(duì)象的高速緩存:比如我們創(chuàng)建了一Employee的類,如果每次需要查詢一個(gè)雇員的信息。哪怕是幾秒中之前剛剛查詢過(guò)的,都要重新構(gòu)建一個(gè)實(shí)例,這是需要消耗很多時(shí)間的。我們可以通過(guò)軟引用和 HashMap 的結(jié)合,先是保存引用方面:以軟引用的方式對(duì)一個(gè)Employee對(duì)象的實(shí)例進(jìn)行引用并保存該引用到HashMap 上,key 為此雇員的 id,value為這個(gè)對(duì)象的軟引用,另一方面是取出引用,緩存中是否有該Employee實(shí)例的軟引用,如果有,從軟引用中取得。如果沒(méi)有軟引用,或者從軟引用中得到的實(shí)例是null,重新構(gòu)建一個(gè)實(shí)例,并保存對(duì)這個(gè)新建實(shí)例的軟引用

    3. 強(qiáng)引用:如果一個(gè)對(duì)象具有強(qiáng)引用,它就不會(huì)被垃圾回收器回收。即使當(dāng)前內(nèi)存空間不足,JVM 也不會(huì)回收它,而是拋出 OutOfMemoryError 錯(cuò)誤,使程序異常終止。如果想中斷強(qiáng)引用和某個(gè)對(duì)象之間的關(guān)聯(lián),可以顯式地將引用賦值為null,這樣一來(lái)的話,JVM在合適的時(shí)間就會(huì)回收該對(duì)象

    4. 軟引用:在使用軟引用時(shí),如果內(nèi)存的空間足夠,軟引用就能繼續(xù)被使用,而不會(huì)被垃圾回收器回收,只有在內(nèi)存不足時(shí),軟引用才會(huì)被垃圾回收器回收。

    5. 弱引用:具有弱引用的對(duì)象擁有的生命周期更短暫。因?yàn)楫?dāng) JVM 進(jìn)行垃圾回收,一旦發(fā)現(xiàn)弱引用對(duì)象,無(wú)論當(dāng)前內(nèi)存空間是否充足,都會(huì)將弱引用回收。不過(guò)由于垃圾回收器是一個(gè)優(yōu)先級(jí)較低的線程,所以并不一定能迅速發(fā)現(xiàn)弱引用對(duì)象

    6. 虛引用:顧名思義,就是形同虛設(shè),如果一個(gè)對(duì)象僅持有虛引用,那么它相當(dāng)于沒(méi)有引用,在任何時(shí)候都可能被垃圾回收器回收。

    7. 使用場(chǎng)景:

  5. Hashcode的作用,與 equal 有什么區(qū)別

    1. 同樣用于鑒定2個(gè)對(duì)象是否相等的,java集合中有 list 和 set 兩類,其中 set不允許元素重復(fù)實(shí)現(xiàn),那個(gè)這個(gè)不允許重復(fù)實(shí)現(xiàn)的方法,如果用 equal 去比較的話,如果存在1000個(gè)元素,你 new 一個(gè)新的元素出來(lái),需要去調(diào)用1000次 equal 去逐個(gè)和他們比較是否是同一個(gè)對(duì)象,這樣會(huì)大大降低效率。hashcode實(shí)際上是返回對(duì)象的存儲(chǔ)地址,如果這個(gè)位置上沒(méi)有元素,就把元素直接存儲(chǔ)在上面,如果這個(gè)位置上已經(jīng)存在元素,這個(gè)時(shí)候才去調(diào)用equal方法與新元素進(jìn)行比較,相同的話就不存了,散列到其他地址上

  6. String、StringBuffer與StringBuilder的區(qū)別

    1. String 類型和 StringBuffer 類型的主要性能區(qū)別其實(shí)在于 String 是不可變的對(duì)象

    2. StringBuffer和StringBuilder底層是 char[]數(shù)組實(shí)現(xiàn)的

    3. StringBuffer是線程安全的,而StringBuilder是線程不安全的

  7. Override和Overload的含義去區(qū)別

    1. Overload顧名思義是重新加載,它可以表現(xiàn)類的多態(tài)性,可以是函數(shù)里面可以有相同的函數(shù)名但是參數(shù)名、返回值、類型不能相同;或者說(shuō)可以改變參數(shù)、類型、返回值但是函數(shù)名字依然不變。

    2. 就是ride(重寫)的意思,在子類繼承父類的時(shí)候子類中可以定義某方法與其父類有相同的名稱和參數(shù),當(dāng)子類在調(diào)用這一函數(shù)時(shí)自動(dòng)調(diào)用子類的方法,而父類相當(dāng)于被覆蓋(重寫)了。

  8. 抽象類和接口的區(qū)別

    1. 一個(gè)類只能繼承單個(gè)類,但是可以實(shí)現(xiàn)多個(gè)接口

    2. 接口強(qiáng)調(diào)特定功能的實(shí)現(xiàn),而抽象類強(qiáng)調(diào)所屬關(guān)系

    3. 抽象類中的所有方法并不一定要是抽象的,你可以選擇在抽象類中實(shí)現(xiàn)一些基本的方法。而接口要求所有的方法都必須是抽象的

  9. 解析XML的幾種方式的原理與特點(diǎn):DOM、SAX、PULL

    1. DOM:消耗內(nèi)存:先把xml文檔都讀到內(nèi)存中,然后再用DOM API來(lái)訪問(wèn)樹(shù)形結(jié)構(gòu),并獲取數(shù)據(jù)。這個(gè)寫起來(lái)很簡(jiǎn)單,但是很消耗內(nèi)存。要是數(shù)據(jù)過(guò)大,手機(jī)不夠牛逼,可能手機(jī)直接死機(jī)

    2. SAX:解析效率高,占用內(nèi)存少,基于事件驅(qū)動(dòng)的:更加簡(jiǎn)單地說(shuō)就是對(duì)文檔進(jìn)行順序掃描,當(dāng)掃描到文檔(document)開(kāi)始與結(jié)束、元素(element)開(kāi)始與結(jié)束、文檔(document)結(jié)束等地方時(shí)通知事件處理函數(shù),由事件處理函數(shù)做相應(yīng)動(dòng)作,然后繼續(xù)同樣的掃描,直至文檔結(jié)束。

    3. SAX:與 SAX 類似,也是基于事件驅(qū)動(dòng),我們可以調(diào)用它的next()方法,來(lái)獲取下一個(gè)解析事件(就是開(kāi)始文檔,結(jié)束文檔,開(kāi)始標(biāo)簽,結(jié)束標(biāo)簽),當(dāng)處于某個(gè)元素時(shí)可以調(diào)用XmlPullParser的getAttributte()方法來(lái)獲取屬性的值,也可調(diào)用它的nextText()獲取本節(jié)點(diǎn)的值。

  10. wait()和sleep()的區(qū)別

    1. sleep來(lái)自Thread類,和wait來(lái)自O(shè)bject類

    2. 調(diào)用sleep()方法的過(guò)程中,線程不會(huì)釋放對(duì)象鎖。而 調(diào)用 wait 方法線程會(huì)釋放對(duì)象鎖

    3. sleep睡眠后不出讓系統(tǒng)資源,wait讓出系統(tǒng)資源其他線程可以占用CPU

    4. sleep(milliseconds)需要指定一個(gè)睡眠時(shí)間,時(shí)間一到會(huì)自動(dòng)喚醒

  11. JAVA 中堆和棧的區(qū)別,說(shuō)下java 的內(nèi)存機(jī)制

    1. 基本數(shù)據(jù)類型比變量和對(duì)象的引用都是在棧分配的

    2. 堆內(nèi)存用來(lái)存放由new創(chuàng)建的對(duì)象和數(shù)組

    3. 類變量(static修飾的變量),程序在一加載的時(shí)候就在堆中為類變量分配內(nèi)存,堆中的內(nèi)存地址存放在棧中

    4. 實(shí)例變量:當(dāng)你使用java關(guān)鍵字new的時(shí)候,系統(tǒng)在堆中開(kāi)辟并不一定是連續(xù)的空間分配給變量,是根據(jù)零散的堆內(nèi)存地址,通過(guò)哈希算法換算為一長(zhǎng)串?dāng)?shù)字以表征這個(gè)變量在堆中的quot;物理位置”,實(shí)例變量的生命周期--當(dāng)實(shí)例變量的引用丟失后,將被GC(垃圾回收器)列入可回收“名單”中,但并不是馬上就釋放堆中內(nèi)存

    5. 局部變量: 由聲明在某方法,或某代碼段里(比如for循環(huán)),執(zhí)行到它的時(shí)候在棧中開(kāi)辟內(nèi)存,當(dāng)局部變量一但脫離作用域,內(nèi)存立即釋放

  12. JAVA多態(tài)的實(shí)現(xiàn)原理

    1. 抽象的來(lái)講,多態(tài)的意思就是同一消息可以根據(jù)發(fā)送對(duì)象的不同而采用多種不同的行為方式。(發(fā)送消息就是函數(shù)調(diào)用)

    2. 實(shí)現(xiàn)的原理是動(dòng)態(tài)綁定,程序調(diào)用的方法在運(yùn)行期才動(dòng)態(tài)綁定,追溯源碼可以發(fā)現(xiàn),JVM 通過(guò)參數(shù)的自動(dòng)轉(zhuǎn)型來(lái)找到合適的辦法。

  13. JAVA 垃圾回收機(jī)制

    1. 標(biāo)記回收法:遍歷對(duì)象圖并且記錄可到達(dá)的對(duì)象,以便刪除不可到達(dá)的對(duì)象,一般使用單線程工作并且可能產(chǎn)生內(nèi)存碎片

    2. 標(biāo)記-壓縮回收法:前期與第一種方法相同,只是多了一步,將所有的存活對(duì)象壓縮到內(nèi)存的一端,這樣內(nèi)存碎片就可以合成一大塊可再利用的內(nèi)存區(qū)域,提高了內(nèi)存利用率

    3. 復(fù)制回收法:把現(xiàn)有內(nèi)存空間分成兩部分,gc運(yùn)行時(shí),它把可到達(dá)對(duì)象復(fù)制到另一半空間,再清空正在使用的空間的全部對(duì)象。這種方法適用于短生存期的對(duì)象,持續(xù)復(fù)制長(zhǎng)生存期的對(duì)象則導(dǎo)致效率降低。

    4. 分代回收發(fā):把內(nèi)存空間分為兩個(gè)或者多個(gè)域,如年輕代和老年代,年輕代的特點(diǎn)是對(duì)象會(huì)很快被回收,因此在年輕代使用效率比較高的算法。當(dāng)一個(gè)對(duì)象經(jīng)過(guò)幾次回收后依然存活,對(duì)象就會(huì)被放入稱為老年的內(nèi)存空間,老年代則采取標(biāo)記-壓縮算法

    5. 引用計(jì)數(shù)(最簡(jiǎn)單古老的方法):指將資源(可以是對(duì)象、內(nèi)存或磁盤空間等等)的被引用次數(shù)保存起來(lái),當(dāng)被引用次數(shù)變?yōu)榱銜r(shí)就將其釋放的過(guò)程

    6. 對(duì)象引用遍歷(現(xiàn)在大多數(shù) jvm 使用的方法):對(duì)象引用遍歷從一組對(duì)象開(kāi)始,沿著整個(gè)對(duì)象圖上的每條鏈接,遞歸確定可到達(dá)(reachable)的對(duì)象。如果某對(duì)象不能從這些根對(duì)象的一個(gè)(至少一個(gè))到達(dá),則將它作為垃圾收集

    7. 什么是垃圾回收機(jī):釋放那些不再持有引用的對(duì)象的內(nèi)存

    8. 怎么判斷一個(gè)對(duì)象是否需要收集?

    9. 幾種垃圾回收機(jī)制

  14. 講講 Java 中的集合有多少種,區(qū)別是什么?

    1. HashTable比較老,是基于Dictionary 類實(shí)現(xiàn)的,HashTable 則是基于 Map接口實(shí)現(xiàn)的

    2. HashTable 是線程安全的, HashMap 則是線程不安全的

    3. HashMap可以讓你將空值作為一個(gè)表的條目的key或value

    4. ArrayList、LinkedList、Vector的區(qū)別:ArrayList 和Vector底層是采用數(shù)組方式存儲(chǔ)數(shù)據(jù),Vector由于使用了synchronized方法(線程安全)所以性能上比ArrayList要差,LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),隨機(jī)存取比較慢

    5. HashMap的底層源碼實(shí)現(xiàn):當(dāng)我們往HashMap中put元素的時(shí)候,先根據(jù)key的hashCode重新計(jì)算hash值,根據(jù)hash值得到這個(gè)元素在數(shù)組中的位置(即下標(biāo)),如果數(shù)組該位置上已經(jīng)存放有其他元素了,那么在這個(gè)位置上的元素將以鏈表的形式存放,新加入的放在鏈頭,最先加入的放在鏈尾。如果數(shù)組該位置上沒(méi)有元素,就直接將該元素放到此數(shù)組中的該位置上。

    6. Fail-Fast機(jī)制:在使用迭代器的過(guò)程中有其他線程修改了map,那么將拋出ConcurrentModificationException,這就是所謂fail-fast機(jī)制。這一機(jī)制在源碼中的實(shí)現(xiàn)是通過(guò)modCount域,modCount顧名思義就是修改次數(shù),對(duì)HashMap內(nèi)容的修改都將增加這個(gè)值,那么在迭代器初始化過(guò)程中會(huì)將這個(gè)值賦給迭代器的expectedModCount。在迭代過(guò)程中,判斷modCount跟expectedModCount是否相等,如果不相等就表示已經(jīng)有其他線程修改了Map.

    7. HashMap和 HashTable 的區(qū)別:

Android部分:

  1. 注冊(cè)廣播有哪幾種方式,有什么區(qū)別

  2. 繪制 Activity 的生命流程圖

  3. 注冊(cè)Service需要注意什么

  4. Service與Activity怎么實(shí)現(xiàn)通信

  5. Handle通信具體到源碼,是怎么實(shí)現(xiàn)的

  6. Handle的機(jī)制

  7. 怎么實(shí)現(xiàn)ListView多種布局?

  8. ListView與數(shù)據(jù)庫(kù)綁定的實(shí)現(xiàn)

  9. 怎么實(shí)現(xiàn)一個(gè)部分更新的 ListView?

  10. ListView卡頓的原因與性能優(yōu)化,說(shuō)的越多越好

  11. Android中的動(dòng)畫有哪些,區(qū)別是什么

  12. JNI怎么使用

  13. 說(shuō)說(shuō)內(nèi)存泄露的情況有哪些

  14. OOM是怎么引起的?怎么盡量避免 OOM 問(wèn)題的出現(xiàn)

  15. 什么是 ANR 問(wèn)題?為什么會(huì)引起 ANR 問(wèn)題?

  16. Socker編程的步驟

  17. 設(shè)計(jì)一個(gè)圖片緩存加載機(jī)制

  18. Fragment嵌套多個(gè)Fragment會(huì)出現(xiàn)bug嗎

  19. Activity中如何動(dòng)態(tài)的添加Fragment

  20. 內(nèi)存不足時(shí),怎么保持Activity的一些狀態(tài),在哪個(gè)方法里面做具體操作?

  21. Scrollview怎么判斷是否滑倒底部

  22. ViewPager 的怎么做性能優(yōu)化

  23. Asynctask具體用法?

  24. Asynctask的Do in background方法是怎么通知UI線程刷新進(jìn)度條的?

  25. Asynctask的Do in background方法默認(rèn)是返回 true ,表示任務(wù)完成,如果想返回具體的數(shù)據(jù)呢,怎么做。如果Activity被銷毀了,還會(huì)執(zhí)行到postexcutd方法嗎?

  26. View中onTouch,onTouchEvent,onClick的執(zhí)行順序

  27. 不使用動(dòng)畫,怎么實(shí)現(xiàn)一個(gè)動(dòng)態(tài)的 View?

  28. Postvalidata與Validata有什么區(qū)別?

  29. Asset與raw都能存放資源,他們有什么區(qū)別?

  30. 如何自定義ViewGroup?

  31. 什么是 MVC 模式?MVC 模式的好處是什么?

  32. JVM 和Dalvik虛擬機(jī)的區(qū)別

  33. 應(yīng)用常駐后臺(tái),避免被第三方殺掉的方法,講講你用過(guò)的奇淫巧技?

  34. 數(shù)據(jù)持久化的四種方式有哪些?

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

  1. 給最外層的rootview,把這個(gè)根視圖下的全部button背景設(shè)置成紅色,手寫代碼,不許用遞歸

  2. 給一串字符串比如abbbcccd,輸出a1b3c3d1,手寫代碼(注意有個(gè)別字符可能會(huì)出現(xiàn)十次以上的情況)

  3. 一個(gè)序列,它的形式是12349678,9是最高峰,經(jīng)歷了一個(gè)上升又下降的過(guò)程,找出里面的最大值的位置,要求效率盡可能高

  4. 二叉查找樹(shù)的刪除操作,手寫代碼

  5. 反轉(zhuǎn)鏈表,手寫代碼

  6. 二分查找,手寫代碼

  7. 有海量條 url,其中不重復(fù)的有300萬(wàn)條,現(xiàn)在希望挑選出重復(fù)出現(xiàn)次數(shù)最高的 url,要求效率盡可能的高

  8. 一篇英語(yǔ)文章,去掉字符只留下k個(gè),如何去掉才能使這k個(gè)字符字典序最小

  9. 弗洛伊德算法和 Dijkstra算法的區(qū)別?復(fù)雜度是多少?講講 Dijkstra算法的具體過(guò)程

  10. 反轉(zhuǎn)字符串,要求手寫代碼,優(yōu)化速度、優(yōu)化空間

  11. 給出兩個(gè)無(wú)向圖,找出這2個(gè)無(wú)向圖中相同的環(huán)路。手寫代碼

  12. 單例模式,手寫代碼

  13. 生產(chǎn)者與消費(fèi)者,手寫代碼

  14. 二叉樹(shù)鏡像,手寫代碼

  15. 最長(zhǎng)不重復(fù)子串(最長(zhǎng)重復(fù)子串),手寫代碼

操作系統(tǒng)部分:

  1. 分別從操作系統(tǒng)的內(nèi)存角度與進(jìn)程線程角度解釋分析堆,棧二者的區(qū)別

  2. 什么是事務(wù)?

  3. OSI七層模型有哪些,各層次的作用

  4. TCP的三次握手過(guò)程,四次揮手過(guò)程,為什么需要三次?

  5. 說(shuō)說(shuō)操作系統(tǒng)中進(jìn)程的通信方式

  6. 瀏覽器輸入地址之后,之后的過(guò)程

  7. 談?wù)?HTTP 中Get 和 Post 方法的區(qū)別?

相關(guān)閱讀

熱門文章

最新文章

主站蜘蛛池模板: 超碰人人干人人 | 国产又色又爽又黄又免费 | 欧美性猛交乱大交 | 99热这里只有精品首页 | 加勒比色综合 | 日本精品在线 | 天天插天天狠天天透 | 日韩三区 | 亚洲色图国产精品 | 中文字幕日韩亚洲 | 久久久久久高清 | 国产91精品久久久 | 超碰亚洲 | 免费特级黄毛片 | 国产精品二区视频 | 一二三四区在线 | 小视频在线免费观看 | 精品一区二区三区四区五区 | 伊人久久精品 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 91爱爱爱爱 | 久久高清免费视频 | 在线观看视频你懂的 | 成人a网站| 色片网站在线观看 | 亚洲天堂一区在线观看 | 免费看片成人 | 国产精品视频播放 | 成人午夜在线观看 | 日韩三级在线免费观看 | 欧美一级片免费 | h视频在线观看网站 | 日韩插插插 | av青青草原 | 国产精品短视频 | 国产精品麻豆入口 | 不卡视频在线 | 成年人看的免费视频 | 日本免费黄色片 | 五月综合久久 | 国产午夜精品久久久 |