首先介紹一下我的我是雙非本科計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)的鞋囊,從畢業(yè)時(shí)候簡(jiǎn)歷被拒,到現(xiàn)在拿下字節(jié)跳動(dòng)的offer瞎惫,我花了一年時(shí)間溜腐。
印象中的今日頭條
給的錢(qián)多,筆試也賊難
參加過(guò)頭條筆試的同學(xué)都知道瓜喇,頭條筆試可以筆試三次挺益,就是不論你有沒(méi)有參加都有三次機(jī)會(huì)。筆試就5道算法題乘寒,兩個(gè)小時(shí)矩肩,去年第一次看到算法題就自閉了,第一次掛了肃续。第二次又很認(rèn)真地做,做到一半放棄了叉袍。沒(méi)過(guò)幾天又邀請(qǐng)我做第三次始锚,有一種強(qiáng)行被侮辱的感覺(jué)。
內(nèi)推被拒
就像我在前面所說(shuō)的喳逛,簡(jiǎn)歷被拒瞧捌。去年3月份在知乎上看到一個(gè)頭條大佬說(shuō)可以?xún)?nèi)推春季實(shí)習(xí),于是私信并發(fā)了簡(jiǎn)歷給他润文〗隳牛看了我簡(jiǎn)歷之后說(shuō)頭條競(jìng)爭(zhēng)激烈,我背景不夠典蝌,點(diǎn)到為止曙砂。。(打擾了)我直接心態(tài)崩了骏掀。
準(zhǔn)備面試
背面試題
總的來(lái)說(shuō)鸠澈,我自己是非常不甘心的柱告,小鎮(zhèn)做題家即使努力也不會(huì)有結(jié)果嗎,我開(kāi)始給自己制定計(jì)劃笑陈,泡圖書(shū)館际度,背面試題,我想著總有一天我能去頭條工作涵妥。毫不夸張的說(shuō)乖菱,圖書(shū)館的凳子就差沒(méi)被我坐凹進(jìn)去了。以下是我當(dāng)時(shí)給自己制定的計(jì)劃蓬网。
第1~3個(gè)月:基礎(chǔ)知識(shí)與核心概念
每周目標(biāo): 熟悉Android開(kāi)發(fā)的基礎(chǔ)知識(shí)和核心概念窒所,如Activity、Service拳缠、BroadcastReceiver墩新、Content Provider等。
具體任務(wù): 每天背誦并理解Android組件的生命周期和用途窟坐。 學(xué)習(xí)并熟悉AndroidManifest.xml文件的結(jié)構(gòu)和作用海渊。 掌握Android中的基本布局和控件使用。 學(xué)習(xí)并理解Intent和Intent Filter的使用哲鸳。
第4~6個(gè)月:進(jìn)階知識(shí)與技術(shù)
每周目標(biāo): 學(xué)習(xí)Android開(kāi)發(fā)中的進(jìn)階知識(shí)和技術(shù)臣疑,如Fragment、Handler徙菠、多線程讯沈、網(wǎng)絡(luò)請(qǐng)求等。
具體任務(wù): 學(xué)習(xí)Fragment的使用和最佳實(shí)踐婿奔。 掌握Handler和Looper在Android中的應(yīng)用缺狠。 學(xué)習(xí)并理解Android中的多線程編程,如AsyncTask和IntentService萍摊。 熟悉常用的網(wǎng)絡(luò)請(qǐng)求庫(kù)挤茄,如Retrofit、OkHttp等冰木。 月末檢測(cè):完成一些進(jìn)階的面試題練習(xí)穷劈,檢查自己對(duì)進(jìn)階知識(shí)的掌握程度。
第7~9個(gè)月:系統(tǒng)架構(gòu)與設(shè)計(jì)模式
每周目標(biāo): 學(xué)習(xí)并掌握Android系統(tǒng)架構(gòu)和設(shè)計(jì)模式踊沸,提升代碼質(zhì)量和可維護(hù)性歇终。
具體任務(wù):
學(xué)習(xí)并理解MVC、MVP逼龟、MVVM等架構(gòu)模式评凝。 掌握常見(jiàn)的設(shè)計(jì)模式,如單例模式腺律、工廠模式肥哎、觀察者模式等辽俗。 學(xué)習(xí)性能優(yōu)化和內(nèi)存管理的相關(guān)知識(shí)。 月末檢測(cè):完成一些涉及系統(tǒng)架構(gòu)和設(shè)計(jì)模式的面試題練習(xí)篡诽,檢查自己的理解和應(yīng)用能力崖飘。
第10~12個(gè)月:實(shí)戰(zhàn)經(jīng)驗(yàn)與項(xiàng)目準(zhǔn)備
每周目標(biāo): 結(jié)合實(shí)戰(zhàn)經(jīng)驗(yàn)和項(xiàng)目準(zhǔn)備,提升面試中的實(shí)際表現(xiàn)杈女。 具體任務(wù): 回顧自己參與過(guò)的項(xiàng)目朱浴,總結(jié)經(jīng)驗(yàn)和教訓(xùn)。 準(zhǔn)備一些常見(jiàn)的面試項(xiàng)目达椰,如新聞閱讀器翰蠢、社交應(yīng)用等,并深入分析其實(shí)現(xiàn)原理和優(yōu)化策略啰劲。 模擬面試場(chǎng)景梁沧,進(jìn)行面試練習(xí)和反思。
在整個(gè)一年的學(xué)習(xí)過(guò)程中我還會(huì)定期參加一些知識(shí)類(lèi)和技術(shù)類(lèi)型的分享活動(dòng)蝇裤,也會(huì)和一些在大廠實(shí)習(xí)的同學(xué)交流廷支。
攢面試經(jīng)驗(yàn)
1、多參加面試
我在這一年里栓辜,不完全是每天都只是在學(xué)習(xí)恋拍,同時(shí),我也會(huì)一遍投遞簡(jiǎn)歷藕甩,可能在一開(kāi)始施敢,大多數(shù)都是小廠,畢竟多多攢經(jīng)驗(yàn)才是重要的狭莱。后來(lái)我也會(huì)去投遞一些大廠僵娃,也遇到過(guò)一些大廠的面試。主要是為了鍛煉面試時(shí)候不慌張腋妙,穩(wěn)住自己的心態(tài)偷溺。
2权悟、面試復(fù)盤(pán)
我會(huì)把崗位上面試官習(xí)慣性問(wèn)的問(wèn)題記錄下來(lái)寞焙,每一次的面試都是一次經(jīng)驗(yàn)奠宜,不斷地總結(jié)不斷地復(fù)盤(pán)国夜,對(duì)照自己這段時(shí)間以來(lái)的學(xué)習(xí)成果拣挪,就知道自己缺少哪一塊的知識(shí)點(diǎn)畦攘。
今日頭條一面
python和java的相同點(diǎn)及各自的特性
和其他業(yè)務(wù)方合作時(shí)届吁,一般誰(shuí)來(lái)owner
介紹一下你自己的Android項(xiàng)目集绰,存在哪些問(wèn)題
你說(shuō)自己做的東西存在很多冗余代碼规辱,結(jié)合你之前的代碼同構(gòu)經(jīng)歷,怎么復(fù)用代碼栽燕?
你剛才提到了繼承罕袋,它和組合相比有哪些優(yōu)勢(shì)和劣勢(shì)改淑?
TCP、UDP全套
開(kāi)發(fā)過(guò)程中用到的設(shè)計(jì)模式浴讯,舉例
剛才提到單例模式朵夏,說(shuō)下Android中單例內(nèi)存泄漏的原因(從生命周期的角度闡述
除了MVP還了解過(guò)其他架構(gòu)么?說(shuō)下MVVM榆纽?
學(xué)校里的項(xiàng)目和公司的項(xiàng)目仰猖,在開(kāi)發(fā)過(guò)程中的區(qū)別(學(xué)校的只考慮了可用性,頭條要考慮穩(wěn)定性和可靠性奈籽,還要注重頂層設(shè)計(jì)
Android前沿知識(shí)有跟進(jìn)么饥侵?源碼看得多么?
看你有算法經(jīng)歷衣屏,之后的規(guī)劃是做開(kāi)發(fā)還是算法
相交鏈表躏升,手寫(xiě)鏈表,新建的時(shí)候注意相交的部分使用相同一個(gè)對(duì)象
今日頭條二面
項(xiàng)目介紹
view的事件傳遞機(jī)制
activity的生命周期
restart方法的調(diào)用時(shí)機(jī)狼忱,按home鍵的調(diào)用時(shí)機(jī)膨疏,恢復(fù)的調(diào)用時(shí)機(jī),銷(xiāo)毀的調(diào)用時(shí)機(jī)
on save/restore instate的時(shí)機(jī)藕赞,誰(shuí)調(diào)用成肘,怎么調(diào)用
bundle的數(shù)據(jù)結(jié)構(gòu),如何存儲(chǔ)
listview內(nèi)點(diǎn)擊buttom并移動(dòng)的事件流完整攔截過(guò)程
多點(diǎn)觸控如何傳遞
service的意義
android的IPC通信方式斧蜕,是否使用過(guò)
service如何實(shí)現(xiàn)跨進(jìn)程通信
android的多線程機(jī)制
asynctask的原理
handler原理
app啟動(dòng)后是怎樣運(yùn)行的(我答的是mainlooper死循環(huán))
線程池的種類(lèi)双霍,有沒(méi)有用過(guò)
http的版本有幾種
http請(qǐng)求包結(jié)構(gòu),有幾種ContentType
http返回碼的分類(lèi)批销,400和500的區(qū)別
編程 按XML格式打印view和它的子view
今日頭條三面
自我介紹
Collections和Map的區(qū)別洒闸,講講常用的工具類(lèi)還有set,map的區(qū)別,代替vector的并發(fā)類(lèi)均芽。
多線程同步丘逸,說(shuō)了一下理解,然后問(wèn)怎么解決掀宋,答了鎖然后問(wèn)對(duì)象鎖和方法鎖的區(qū)別深纲,說(shuō)說(shuō)可重入鎖
view的分發(fā)機(jī)制
n個(gè)數(shù)中找出m的和,講了一下思路劲妙,問(wèn)能不能優(yōu)化
怎么在List中刪除一個(gè)數(shù)湃鹊,要寫(xiě)代碼
launchMode(這里實(shí)習(xí)時(shí)還花時(shí)間總結(jié)過(guò),面試時(shí)發(fā)現(xiàn)不太記得清楚了....)
Activity跳轉(zhuǎn)的生命周期
實(shí)習(xí)項(xiàng)目
java的反射
java中為什么有虛地址(好像是這樣問(wèn)的镣奋,就記得關(guān)鍵詞是虛地址....)
簡(jiǎn)歷上提到的框架原理币呵。RxJava的好處,原理侨颈。
面試經(jīng)驗(yàn)總結(jié)
1余赢、簡(jiǎn)歷是一塊敲門(mén)磚
簡(jiǎn)歷相當(dāng)于門(mén)面芯义,意味著在篩選簡(jiǎn)歷的時(shí)候能否收到面試邀約。簡(jiǎn)歷的好壞妻柒,至少影響這次面試結(jié)果的30%扛拨。
簡(jiǎn)歷的注意事項(xiàng)也有蠻多。一定要主要自己有些什么成果及項(xiàng)目經(jīng)歷要及時(shí)的更新到自己的簡(jiǎn)歷里面蛤奢。簡(jiǎn)歷的書(shū)寫(xiě)需要符合邏輯性鬼癣,最好按結(jié)構(gòu)化思維、金字塔原理啤贩、STAR原理等進(jìn)行簡(jiǎn)歷的結(jié)構(gòu)編排待秃。也需要注意好細(xì)節(jié),簡(jiǎn)歷里面不要出現(xiàn)錯(cuò)別字痹屹。對(duì)自己的項(xiàng)目經(jīng)歷要簡(jiǎn)短清晰的描述章郁,能夠數(shù)據(jù)化呈現(xiàn)就更好。模棱兩可往往會(huì)讓人覺(jué)得不自信不靠譜志衍。
2暖庄、過(guò)硬的核心知識(shí)
過(guò)硬的核心知識(shí)是面試官衡量求職者是否符合崗位需求的關(guān)鍵指標(biāo)。在面試過(guò)程中楼肪,面試官往往會(huì)針對(duì)崗位的核心職責(zé)和要求提出一系列的專(zhuān)業(yè)問(wèn)題培廓,如果求職者能夠準(zhǔn)確深入的回答問(wèn)題,那么無(wú)疑會(huì)大大提高面試成功的概率春叫〖缒疲快速獲得面試官的認(rèn)可。
寫(xiě)在最后:感興趣的朋友可以一起探討