你问我答,准备面试需要做哪些技术储备,面试官更加关心什么方面的技术点?...
這個(gè)系列整理了關(guān)于如何進(jìn)入大廠的一些問(wèn)題,包含了技術(shù)儲(chǔ)備,面試官更加關(guān)心什么方面的技術(shù)點(diǎn)等等
一 第一個(gè)問(wèn)題:
準(zhǔn)備面試,工作 3 年了想面?zhèn)€大廠,現(xiàn)在那面試官會(huì)更注重問(wèn)哪方面呢?是算法還是那些框架原理?還是 Android 源碼?還是看你做過(guò)的項(xiàng)目經(jīng)驗(yàn)?我知道肯定都會(huì)問(wèn)到,那么問(wèn)的那一方面偏多呢?因?yàn)榫τ邢?#xff0c;想在一方面深入了解一下,突出自己的一技之長(zhǎng)。
回答1;
簡(jiǎn)單說(shuō)幾個(gè)方面:
這幾點(diǎn),如果能有一點(diǎn)做的比較出色,筆者認(rèn)為即是一技之長(zhǎng)。
回答2;
在我看來(lái)對(duì)技術(shù)的熱愛(ài)永遠(yuǎn)是第一位的,這是因?yàn)橛羞@種熱情無(wú)論解決什么技術(shù)問(wèn)題,都是時(shí)間問(wèn)題,所以如果有自己的博客、開(kāi)源項(xiàng)目會(huì)加很多分。
如果我作為面試官,具體面試的東西還是會(huì)根據(jù)面試者的情況制定的,現(xiàn)在一線大廠社招基本也得在資深以上了,我會(huì)先問(wèn) Java( 線程安全、JVM 原理),然后會(huì)問(wèn)寫(xiě) Android(基本的性能優(yōu)化、架構(gòu)思想及 Android Framework ),涉及到算法的應(yīng)該不多,但是不排除有一些想炫技的面試官。大廠對(duì)知識(shí)的廣度和深度都會(huì)考察,但是對(duì)某一領(lǐng)域的深度會(huì)更打動(dòng)面試官。
二 第二個(gè)問(wèn)題:筆試成績(jī)高對(duì)面試有影響么?
“想準(zhǔn)備明年春招,請(qǐng)問(wèn)筆試成績(jī)高對(duì)面試有影響么,會(huì)比較容易嗎?”
回答;
我覺(jué)得筆試成績(jī)高低對(duì)面試是有影響的,個(gè)人覺(jué)得比較好的面試流程是先筆試,然后后面的面試官都拿著你的面試結(jié)果來(lái)有針對(duì)性地考查你,如果大部分題目都答對(duì)了,那么面試官就會(huì)感覺(jué)到你可能水平不錯(cuò),也就會(huì)問(wèn)些稍微難點(diǎn)的題目挑戰(zhàn)你,不會(huì)上來(lái)就問(wèn)”你說(shuō)下 Activity 的生命周期(或者啟動(dòng)模式)“這種爛大街的題目了。如果你某道題目做錯(cuò)了,他也許就會(huì)問(wèn)你為啥選了那個(gè)錯(cuò)誤的答案?一方面看你是如何思考的,到底是哪個(gè)知識(shí)點(diǎn)存在漏洞,另一方面,如果你知道你做錯(cuò)了,你是否回去研究了到底為啥做錯(cuò)了,這點(diǎn)挺重要的。我曾經(jīng)經(jīng)歷的阿里實(shí)習(xí)生面試時(shí),每次下一個(gè)面試官都會(huì)問(wèn)我上次面試官問(wèn)過(guò)的我答錯(cuò)了的題,他就是想知道我后來(lái)回去有沒(méi)有把知識(shí)點(diǎn)補(bǔ)起來(lái)。筆試成績(jī)不能決定是否能拿到 offer,但是或多或少都會(huì)影響后面的面試的。
三 第三個(gè)問(wèn)題:如何讓自己保持一個(gè)隨時(shí)可面試可跳槽的狀態(tài)呢?
第一個(gè)是如何讓自己保持一個(gè)隨時(shí)可面試可跳槽的狀態(tài)呢?是在項(xiàng)目中不斷總結(jié)沉淀呢?還是要不停的去鉆研一些面試題或者算法題呢?(感覺(jué)很多面試題在實(shí)際項(xiàng)目中用到的不多)另一個(gè)問(wèn)題是,Android 開(kāi)發(fā)(或者說(shuō)客戶端開(kāi)發(fā))天花板是不是很低呢?如果是的話,如何進(jìn)行突破呢?
回答1;
①第一問(wèn):
為何要隨時(shí)保持一個(gè)可以跳槽的狀態(tài)呢?既然到了一個(gè)公司就應(yīng)該盡力去適應(yīng)這個(gè)公司的發(fā)展,要不然自己走過(guò)的路都被自己否定了。到公司后,可以針對(duì)項(xiàng)目中不太好的地方進(jìn)行優(yōu)化和調(diào)整,對(duì)于新開(kāi)的業(yè)務(wù)或者功能,可以考慮使用最新的技術(shù)去解決相關(guān)問(wèn)題,這樣就可以不斷的自我擴(kuò)充。必要的時(shí)候需要去看一看算法,我平時(shí)會(huì)去 leetcode 練習(xí)一下算法,因?yàn)樗惴ㄕ娴暮苤匾?#xff0c;很多公司都會(huì)很注重算法的。面試題很多來(lái)自于敲代碼和思考的一些過(guò)程,應(yīng)該在我們工作中去尋找一些解決方法,同時(shí)可以看一看別人總結(jié)的經(jīng)驗(yàn),對(duì)我們來(lái)說(shuō)還是很有幫助的。
②第二問(wèn)
天花板這個(gè)詞用的很妙,很含蓄,一開(kāi)始真沒(méi)反應(yīng)過(guò)來(lái)哈。其實(shí) Android 的技術(shù)瓶頸并不是很低,有很多的東西都需要你去了解和掌握。首先是基礎(chǔ)的東西,其次是各自的原理(handler, animation),然后是一些主流的開(kāi)源框架(okhttp, fresco),最后如果還想想深造一步的話,可以去看看 Android 系統(tǒng)的源碼,Android 源碼的設(shè)計(jì)模式等。當(dāng)你感覺(jué)有能力的時(shí)候,可以嘗試跟一撥人一起完成一個(gè)功能,提升自我價(jià)值,開(kāi)源相關(guān)項(xiàng)目,汲取更多智慧,至少我目前是這樣做的。我本人其實(shí)并不打算一直往技術(shù)底層走,但是該了解的還是會(huì)先去了解。我想擴(kuò)展認(rèn)知范圍,不僅會(huì) Android,也要會(huì)相關(guān)的東西,畢竟一輩子時(shí)間那么的長(zhǎng),也應(yīng)該擴(kuò)展一下自己的見(jiàn)識(shí)面吧。
回答2;
第一個(gè)問(wèn)題談到“如何保持一個(gè)隨時(shí)可面試可跳槽的狀態(tài)”,其實(shí)這不僅是一個(gè)很難維持的狀態(tài),而且還是一個(gè)很不好的狀態(tài)。為什么呢?因?yàn)槿绻偸遣粷M足當(dāng)前的工作內(nèi)容或者薪資待遇一心想著跳出去的話,那么就總是需要去鉆研面試題或者算法題,這樣會(huì)浪費(fèi)很多原本可以用來(lái)提高自己的知識(shí)儲(chǔ)備和實(shí)戰(zhàn)技能的寶貴時(shí)間。舉個(gè)例子為例,A第一份工作是在魅族,待遇一切都好,可是發(fā)現(xiàn)不怎么喜歡做 framework 層開(kāi)發(fā),更喜歡做應(yīng)用層開(kāi)發(fā),是的,就是這么膚淺(逃)。部門(mén)老大很好,安排到其他組幫忙做了段時(shí)間的應(yīng)用開(kāi)發(fā)。后來(lái),思來(lái)想去,還是想找個(gè)做應(yīng)用開(kāi)發(fā)的工作,于是花費(fèi)了幾個(gè)周末的時(shí)間去圖書(shū)館看書(shū)復(fù)習(xí)那些面試中問(wèn)來(lái)問(wèn)去的東西,此外,由于不是校招生,工作經(jīng)驗(yàn)還不到半年,所以簡(jiǎn)歷關(guān)基本上都過(guò)不了。最后整個(gè)跳槽過(guò)程耗時(shí)數(shù)月,陰錯(cuò)陽(yáng)差來(lái)到鵝廠,不能說(shuō)這期間沒(méi)有收獲,但是這些時(shí)間原本是可以更好的利用的。所以,我個(gè)人建議把時(shí)間發(fā)在當(dāng)前的工作崗位上,做出成績(jī)來(lái),得到大家的認(rèn)可更好些。平時(shí)的確是需要不斷總結(jié)沉淀的,我每個(gè)階段的任務(wù)我都會(huì)總結(jié)一下,比如相機(jī)模塊的開(kāi)發(fā)、RN 模塊的開(kāi)發(fā)、耗電量統(tǒng)計(jì)以及應(yīng)用瘦身等等,知識(shí)沉淀了,經(jīng)驗(yàn)增長(zhǎng)了,心里會(huì)很開(kāi)心的。
第二個(gè)問(wèn)題是關(guān)于“客戶端開(kāi)發(fā)的天花板”的問(wèn)題,個(gè)人認(rèn)為觸碰到客戶端開(kāi)發(fā)的天花板還是比較難的,能完成平時(shí)的業(yè)務(wù)開(kāi)發(fā)只是“地板“,要是真能熟練掌握 Android 應(yīng)用開(kāi)發(fā)方方面面的知識(shí),在知識(shí)廣度和深度上都有所造詣應(yīng)該不簡(jiǎn)單吧。再來(lái)就是基于客戶端我們還能做什么?音視頻?圖像處理?機(jī)器學(xué)習(xí)?AR/VR?這么多有意思的領(lǐng)域等著我們?nèi)ヌ剿?#xff0c;想想都很有勁不是嗎?我個(gè)人比較喜歡移動(dòng)端的圖像處理和機(jī)器學(xué)習(xí)的領(lǐng)域,知識(shí)儲(chǔ)備主要還是研究生階段課程的內(nèi)容,在移動(dòng)端的實(shí)踐較少,所以平時(shí)也就是關(guān)注下而已,沒(méi)有機(jī)會(huì)實(shí)踐。如果想要突破的話,可能真得下番苦功夫,潛心鉆研,實(shí)踐出真知。總之,我覺(jué)得客戶端開(kāi)發(fā)的天花板并不低,倒是起點(diǎn)低了很多,涌進(jìn)來(lái)的浮躁的人也就多了。一位牛人曾經(jīng)說(shuō)過(guò),“當(dāng)我學(xué)到更多的知識(shí)時(shí),我感覺(jué)自己更加無(wú)知了”,與君共勉之。
回答3;
“隨時(shí)可跳槽”這個(gè)想法不錯(cuò),但不建議讀者老想著跳槽。
在項(xiàng)目中沉淀知識(shí)和經(jīng)驗(yàn),這是必須的。知識(shí)是全球通用的,每個(gè)人都可以獲取;但經(jīng)驗(yàn),是你在項(xiàng)目中遇到問(wèn)題、思考、解決后,才能積累,別人拿不走。舉個(gè)簡(jiǎn)單例子,“會(huì)用 okhttp、retrofit 是知識(shí)”,“會(huì)用 okhttp、retrofit 請(qǐng)求我司后端接口,并用 interceptor 添加各種 header,并對(duì)返回的‘奇葩數(shù)據(jù)’做特殊處理”是經(jīng)驗(yàn)。
“隨時(shí)可跳槽”意味著你有核心競(jìng)爭(zhēng)力,你能勝任大多數(shù)公司的工作。當(dāng)你做得足夠多的業(yè)務(wù),遇到足夠多的苦難,你隨便拿個(gè) app 出來(lái)玩,知道如何實(shí)現(xiàn)那些功能,這就判斷自己是否“能勝任大多數(shù)工作”。學(xué)習(xí)知識(shí)當(dāng)然少不了,看看《 Android 技術(shù)圖譜》是否掌握了大半?還有對(duì)技術(shù)的直覺(jué),看到某大牛寫(xiě)的技術(shù)文章,是不是看了標(biāo)題和導(dǎo)語(yǔ),大概就知道下文說(shuō)什么?
還有,當(dāng)你在微信技術(shù)群能輕松回答各種網(wǎng)友提問(wèn),或者反駁別人的技術(shù)觀點(diǎn),跟大牛談笑風(fēng)生,你就“隨時(shí)可以跳槽”了。
鉆研面試題、算法題,純粹浪費(fèi)時(shí)間,在面試前突擊一下就好。
四 第四個(gè)問(wèn)題:面試中對(duì)于優(yōu)秀第三方庫(kù)的掌握在面試?yán)锩娴闹匾哉急仁窃趺礃拥?#xff1f;
在面試中對(duì)于優(yōu)秀第三方庫(kù)的掌握在面試?yán)锩娴闹匾哉急仁窃趺礃拥?#xff1f;有時(shí)候一些庫(kù)之前僅限調(diào)用 api 而已,無(wú)法深入到源碼級(jí)別,有時(shí)候去看源碼又是似懂非懂的狀態(tài),這時(shí)候肯定不敢說(shuō)掌握。所以應(yīng)該怎么表達(dá)自己對(duì)于第三方庫(kù)的或者說(shuō)優(yōu)秀源碼的理解。
回答1;
回答2;
對(duì)于程序員這一個(gè)行業(yè)來(lái)說(shuō),看源碼的確很重要,但是看源碼之前要明白自己為什么要去看,如果僅僅是為了應(yīng)付面試而去看源碼個(gè)人覺(jué)得是純粹的浪費(fèi)時(shí)間行為,因?yàn)檫@種方式看源碼第一不知道自己要看什么,很容易被繞暈,第二看完之后沒(méi)有太大的收獲,只能了解到一個(gè)大致的流程,而這些流程為什么要這樣設(shè)計(jì),或者說(shuō)這樣設(shè)計(jì)的優(yōu)缺點(diǎn)基本上很難弄明白。只能理解到表皮,而表皮這些東西隨便搜一下“XX 源碼解析”,看幾篇文章就能說(shuō)出個(gè)大概,但是再往深處就很難答出來(lái)了。
我自己并不會(huì)特地的去看源碼,而是有需要的時(shí)候去看看。
第一種:對(duì)比查看,設(shè)計(jì)了一套邏輯和某某框架中的有點(diǎn)類(lèi)似,所以我把這套框架拿出來(lái)分析一下,看看它的設(shè)計(jì)思路,然后對(duì)比一下我們兩個(gè)的設(shè)計(jì)異同,分析一下各自的優(yōu)缺點(diǎn),這樣我在具體寫(xiě)代碼的時(shí)候就可以有意識(shí)的規(guī)避掉這些缺點(diǎn),使其變的更加完善。
例如:設(shè)計(jì) PagerLayoutManager 的時(shí)候參考了 HorizontalPage 但規(guī)避了后者內(nèi)存占用過(guò)高,添加大量數(shù)據(jù)時(shí)UI卡頓的問(wèn)題,并且使用了另一種更簡(jiǎn)便的方式實(shí)現(xiàn)了分頁(yè)輔助工具。第二種:分析 Bug,我用了某一套開(kāi)源庫(kù),發(fā)現(xiàn)在某種特殊情況下會(huì)出現(xiàn) Bug,于是把它拿出來(lái)看一下,為什么會(huì)出現(xiàn)這個(gè) Bug,是這個(gè)庫(kù)實(shí)現(xiàn)的問(wèn)題,還是我使用的問(wèn)題,以及如何才能規(guī)避這個(gè) Bug。
例如:項(xiàng)目中有使用二維碼,但是二維碼顯示區(qū)域較小,使用了一個(gè)第三方庫(kù)生成的二維碼,看起來(lái)像一堆密密麻麻的小點(diǎn),手機(jī)經(jīng)常掃描失敗,后來(lái)發(fā)現(xiàn)是容錯(cuò)級(jí)別太高了,于是復(fù)制一下過(guò)來(lái)調(diào)整了容錯(cuò)級(jí)別,顯示才算正常。第三種:添加新功能,我項(xiàng)目中某一個(gè)模塊需要一系列的功能,我去網(wǎng)上找到一個(gè)開(kāi)源庫(kù)能滿足大部分的功能,但又不完全滿足,需要對(duì)其中部分進(jìn)行調(diào)整,此時(shí)需要把它的源代碼拿過(guò)來(lái)進(jìn)行分析,進(jìn)而修改調(diào)整,最終滿足項(xiàng)目的需求。
其實(shí)公司招聘問(wèn)開(kāi)源庫(kù)相關(guān)的東西,考察的并非是對(duì)這些庫(kù)有多深的了解,而是自學(xué)能力和解決實(shí)際問(wèn)題的能力,當(dāng)面試官在問(wèn)這些問(wèn)題的時(shí)候,重點(diǎn)是要結(jié)合自身的實(shí)際工作經(jīng)歷,最后談一下自己的看法,不需要一味的去陳述某一個(gè)庫(kù)的設(shè)計(jì)。
五 第五題:關(guān)于阿里巴巴的面試問(wèn)題
11 年畢業(yè),做 Android 5 年以上,計(jì)劃隨時(shí)去杭州發(fā)展,目標(biāo)阿里。由于現(xiàn)在工作不是很忙,計(jì)劃用一兩個(gè)月時(shí)間來(lái)復(fù)習(xí)和學(xué)習(xí)。我想知道如果我現(xiàn)在嘗試給阿里投簡(jiǎn)歷,電話面試失敗了,最短多長(zhǎng)時(shí)間還有機(jī)會(huì)再投一遍好有機(jī)會(huì)電話面試?我是應(yīng)該現(xiàn)在就嘗試下好查漏補(bǔ)缺還是等準(zhǔn)備充分了再投簡(jiǎn)歷以免浪費(fèi)面試機(jī)會(huì)呢?
回答1;
回答2;
問(wèn)題1:阿里多久可以再次面試?
理論上講的話,如果你的面試流程結(jié)束的話,是可以馬上接著再投簡(jiǎn)歷進(jìn)行面試的,但是如果你的面試流程還在進(jìn)行中,其他部門(mén)是沒(méi)法同時(shí)面試的。需要再等一等,通常來(lái)說(shuō),面試結(jié)果都會(huì)在一到二周左右出來(lái),比較著急的話,可以找下內(nèi)推的同學(xué)幫你查下進(jìn)度或者電話面試快結(jié)束的時(shí)候,詢問(wèn)下面試官。
問(wèn)題2:是否應(yīng)該準(zhǔn)備充足再面試?
答案是 YES,每一次面試機(jī)會(huì)都應(yīng)該全力把握,尤其是阿里這種需要四輪、五輪面試的,浪費(fèi)一次機(jī)會(huì)等于是重頭再來(lái)。所以最好要準(zhǔn)備充足,保持好狀態(tài),如果你不知道自己到底有沒(méi)有準(zhǔn)備好,建議可以先找一些其他的互聯(lián)網(wǎng)公司刷下面試感覺(jué)。畢竟,多個(gè)選擇多條路嘛!
總結(jié)
以上是生活随笔為你收集整理的你问我答,准备面试需要做哪些技术储备,面试官更加关心什么方面的技术点?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 系统启动与内核管理 ;AWK部分 重要内
- 下一篇: 大数据反欺诈技术架构