7年老Android一次操蛋的面试经历,挥泪整理面经
看到還有很多程序員連面試流程都沒有徹底弄清楚,今天,我們以阿里為例,來聊聊互聯(lián)網(wǎng)大廠的面試流程和過程!
本篇主要還是聊聊社招的面試過程!阿里以及其他的互聯(lián)網(wǎng)大廠的技術(shù)類社招面試,通常情況是 4 個輪次。第一、第二面是技術(shù)面,第三面是主管面試,第四面是 HR 面試。對于目標(biāo)級別在 P6+ 的候選人,我們會增加至少一輪的跨團(tuán)隊 Review 面試,因為涉及招聘委員會(Hire Committee)的定級流程,所以要復(fù)雜一些。接下來的內(nèi)容,主要針對通常情況下 P5~P6 的面試來介紹,大神請直接忽略。
01?技術(shù)面
1. 個人介紹和基礎(chǔ)知識考查
這部分算是必備技能。我個人倒是傾向于弱化基礎(chǔ)知識的考查,畢竟每個候選人的背景不同,應(yīng)該更看重聰明程度、學(xué)習(xí)能力、溝通理解力等,基礎(chǔ)知識只能證明他不是一個優(yōu)秀的工程師,卻無法證明他是一個優(yōu)秀的工程師。
2. 項目經(jīng)歷考查
從這個階段開始就格外重要了,因為面試官之前并不一定完整瀏覽候選人的簡歷,所以聆聽候選人對項目的介紹是了解候選人的最主要途徑。在這個過程中,面試官試圖刨根問底,這跟各公司內(nèi)部的技術(shù)評審很相似。幾個關(guān)鍵點,希望你格外注意:
3. 編程技術(shù)考查
在我的團(tuán)隊中,我要求每一輪技術(shù)面,都至少要有 1 道編程題目。一方面,我們非常看重侯選人的代碼風(fēng)格、優(yōu)雅程度,還有對邊界條件的考慮,這些都是好的程序員必須具備的素質(zhì)。對于代碼混亂、邊界考慮不清的人,我們會認(rèn)為他沒有足夠的編程素養(yǎng)和追求,在邏輯思維層面,也有所欠缺。**這樣的候選人進(jìn)入團(tuán)隊,短期可能造成 Bug 多、項目質(zhì)量差等影響,長遠(yuǎn)來看,不利于合作開發(fā)、項目傳承等。**另一方面,**我們非常看重數(shù)據(jù)結(jié)構(gòu)、算法等的高效實現(xiàn)。能夠快速設(shè)計出高效的程序,這體現(xiàn)了候選人日常的深厚積累,還有對編程的極致追求。**前不久就有一個典型案例,我們的運維同學(xué)發(fā)現(xiàn)一個后端模塊上線后處理性能只有幾十 QPS,很不理解為什么性能這么差。直到我們重新 review 代碼后,才發(fā)現(xiàn)是個“經(jīng)典”問題,即 for 循環(huán)里調(diào)用 sort(雖然是隔了幾次函數(shù)調(diào)用),簡單優(yōu)化后,性能就可以提升 1~2 個數(shù)量級。優(yōu)秀的工程師,一定會盡可能規(guī)避這類問題,幾行代碼的優(yōu)化,就能提升用戶體驗、降低服務(wù)器成本、方便代碼維護(hù)、減少兄弟們的工作量。
4. 邏輯題目或數(shù)學(xué)題目
這類題目的核心不在于它有多復(fù)雜,需要多少經(jīng)驗背景,而在于,只要邏輯清晰,認(rèn)真思考,大多能得出結(jié)果,雖然不一定是最優(yōu)解。我舉幾個例子:
這類題目其實很簡單,可以用編程的思路解決,比如遞歸(當(dāng)然還有很多其他方式),也可以用概率論、組合數(shù)學(xué)的方式解決,甚至一個一個“數(shù)”也是能得到答案的。在思考問題的過程中,可以看出候選人的思維習(xí)慣,也可以看出候選人的邏輯能力。另外,這類題目其實有很多變化,如果候選人很輕松完成了回答,面試官就可以適當(dāng)加大難度,比如 3*4 的網(wǎng)格有一個點不能經(jīng)過,那么會是什么結(jié)果?這類題目看似簡單,實則分辨率很高,可以充分挖掘候選人的潛力。除去上面的介紹外,候選人還應(yīng)該對行業(yè)情況有所理解,包括競品、開源項目等,這可以體現(xiàn)一個人的眼界和行業(yè)洞察能力,也可以看出一個人的學(xué)習(xí)態(tài)度,他是否在持續(xù)更新自己的知識儲備。
02??主管面
相對于技術(shù)面而言,主管面試不會過多考查基礎(chǔ)知識、數(shù)據(jù)結(jié)構(gòu)及算法,但因為技術(shù)主管大多具備很強(qiáng)的技術(shù)背景,所以仍然會針對技術(shù)面過程中的一些遺漏點(可能是面試官沒有考查到,也可能是候選人的回答不夠完善),著重補(bǔ)充考查。除此之外,主管面的核心就是判斷候選人除了技術(shù)能力外的其他維度,是否與團(tuán)隊相匹配。第一類維度,軟素質(zhì)能力。軟素質(zhì)的維度很豐富,每一次面試過程不會面面俱到地考查,但一些重要的維度一定會被照顧到。
1. 邏輯思維。
與技術(shù)面的邏輯題目類似,團(tuán)隊可以接受不足夠聰明的人,但無法接受邏輯不清晰的人。在這個環(huán)節(jié),可以提出一些進(jìn)階的題目,比如給候選人一個很復(fù)雜的問題,希望候選人可以嘗試分析、分解,讓看起來一團(tuán)亂麻的問題變得清晰可實現(xiàn)。或者,讓候選人闡述一個經(jīng)歷過最有挑戰(zhàn)的問題,是如何定義問題并分析解決的。當(dāng)然這類問題,一般初入職場的同學(xué)都很難回答完美;不過對于工作 2 年 + 的同學(xué),我覺得問題的分析、分解、設(shè)定目標(biāo)、規(guī)劃、執(zhí)行都是必備素質(zhì)。這個能力很難在工作中迅速培養(yǎng),它更多是通過候選人過去一二十年的學(xué)習(xí)和工作經(jīng)歷,一點一滴積累的,所以對于社招而言,希望候選人已經(jīng)具備很好的邏輯思維能力。
2. 溝通能力。
不能有效且高效地溝通,對于團(tuán)隊項目是場災(zāi)難。在日常工作中,經(jīng)常會看到幾個同學(xué)針對一個問題爭論得不可開膠,但其實他們往往沒有理解對方所講的主旨是什么,甚至對于一些名詞和概念的理解都不一致,就更不要說同理心了,這種無效溝通是導(dǎo)致會議冗長的最主要因素。這類的面試考查,一般會依附于項目介紹或者設(shè)計題目等。
如果候選人已經(jīng)具備不錯的溝通能力,我們一般還會考查進(jìn)階能力:說服和影響。這是成為技術(shù) / 項目負(fù)責(zé)人的必備能力。面試官可能會和候選人進(jìn)行一個簡短的虛擬溝通或辯論環(huán)節(jié),希望候選人可以說服面試官接受某個觀點或技術(shù)方案。當(dāng)然,在這個過程中,面試官扮演的反派可能會用一些偏激的詞匯和行為,這一方面是看候選人的溝通說服和影響他人的能力,另一方面也是壓力測試,看看候選人在受到刁難時的反應(yīng),是否足夠職業(yè)。創(chuàng)新能力。
在過去的項目中,請講述一次發(fā)現(xiàn)傳統(tǒng)方法的不足,嘗試新的解決問題的方法,并獲得成功的經(jīng)歷。這類題目非常開放,但遺憾的是,在我面試過的候選人中,近半數(shù)都是在思索一會兒后回答“沒有什么”。
當(dāng)然,一方面可能候選人很謙虛,另一方面,則很可能是候選人確實沒有嘗試做過什么創(chuàng)新。
互聯(lián)網(wǎng)行業(yè),創(chuàng)新是一切之源,如果真的“沒有什么”,如何給 Offer 呢?
第二類維度,文化價值觀。
工程師文化是務(wù)實、自驅(qū)、Follow Through(跟進(jìn)到底,有始有終)。一個浮夸,不思進(jìn)取,凡事不愿承擔(dān)責(zé)任,不能將項目跟進(jìn)到底的候選人,很難成為我們的伙伴。這類維度,其實沒有太多經(jīng)驗可談,每個公司都有它的文化基因,而候選人是否與之匹配,是基因和環(huán)境使然。我只說下從我個人角度,最為看重的內(nèi)容,否則我會一票否決。樂觀積極。不得不承認(rèn),每個人都有積極的一面和消極的一面,職業(yè)化的思維在于將積極的一面展現(xiàn)出來,盡量弱化消除消極一面的影響。
在日常工作中,每個人都不希望遇到一群愁眉苦臉、滿腹牢騷的同事。善于合作。一位同學(xué)加入到我們的團(tuán)隊,他不僅需要具備優(yōu)秀的個人能力,同時也需要能和其他人協(xié)同合作,起到 1+1>2 的效果。我們會考查候選人在過去的經(jīng)歷中,對待合作的態(tài)度,有沒有接觸過比較復(fù)雜、跨越多個角色或團(tuán)隊的合作,遇到過的協(xié)作困難是什么,遇到這類困難是如何解決的。有些候選人經(jīng)常會無意識地表達(dá)出,在項目研發(fā)過程中,多人寫代碼,還要同步需求、設(shè)計、協(xié)商接口、聯(lián)合調(diào)試,而且有 Bug 修復(fù)推動也很麻煩,如果我一個人開發(fā)早就解決了。這種思維雖然無可厚非,但希望每個人可以看得更遠(yuǎn),大型項目是一個人完成不了的,在多人合作的背景下,如何提升合作的效率和質(zhì)量才是重點,而不是過多地看到負(fù)面。追求極致。這一條很難。在我發(fā)過的這么多 Offer 中,具備這個素質(zhì)的候選人也是鳳毛麟角,但只要具備這個素質(zhì),我?guī)缀跻欢〞o Offer。當(dāng)然,追求極致不等于鉆牛角尖。
文末
我總結(jié)了一些Android核心知識點,以及一些最新的大廠面試題、知識腦圖和視頻資料解析。
需要的小伙伴私信【學(xué)習(xí)】我免費分享給你,以后的路也希望我們能一起走下去。(謝謝大家一直以來的支持,需要的自己領(lǐng)取)
直接點擊鏈接也可以領(lǐng)取哦!
Android學(xué)習(xí)PDF+架構(gòu)視頻+面試文檔+源碼筆記
部分資料一覽:
- 330頁PDF Android學(xué)習(xí)核心筆記(內(nèi)含8大板塊)
- Android學(xué)習(xí)的系統(tǒng)對應(yīng)視頻
- Android進(jìn)階的系統(tǒng)對應(yīng)學(xué)習(xí)資料
- Android BAT大廠面試題(有解析)
習(xí)資料**
[外鏈圖片轉(zhuǎn)存中…(img-C14ukY4U-1624138360079)]
- Android BAT大廠面試題(有解析)
總結(jié)
以上是生活随笔為你收集整理的7年老Android一次操蛋的面试经历,挥泪整理面经的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7天拿到阿里安卓岗位offer,附高频面
- 下一篇: 7年老Android一次操蛋的面试经历,