面試,真的刺激!

本文來源于原作者授權(quán)發(fā)布,文章中的我均指向讀者自己。
先說下樓主經(jīng)歷:
下面重新介紹一下自己:
我個(gè)人是雙非本,去年五月份至今一直在 JD 實(shí)習(xí),拿到了 JD 的 offer 后,偶然的機(jī)會(huì)(boss 上)就開始面試
部門是百度云 cdn 具體好像是做音視頻相關(guān)的,主要語言是 Java 和我本人相符
一、二、三面兩天面完,具體的問題記不清楚了,以下內(nèi)容僅憑回憶(上班摸魚寫的):
正文
一面面經(jīng):2021/1/21 下午五點(diǎn)
是個(gè)小姐姐,但是很嚴(yán)肅
-
自我介紹 -
介紹實(shí)習(xí)項(xiàng)目、難點(diǎn)、參與的工作 -
項(xiàng)目用到的設(shè)計(jì)模式以及其他設(shè)計(jì)模式 -
syn 鎖(升級(jí)過程、降級(jí)?(讀寫鎖)一些底層原理) -
操作系統(tǒng)線程間同步機(jī)制 -
syn 和 lock 區(qū)別 -
線程池、參數(shù)詳解?你怎么設(shè)置參數(shù)(I/O 密集型、計(jì)算密集型) -
JVM 內(nèi)存區(qū)域 -
如何排查一下線上 OOM 問題? -
類加載機(jī)制? -
雙親委派?tomcat 如何打破的? -
寫代碼 1 翻轉(zhuǎn)鏈表(秒)2 手寫快排序 介紹各個(gè)排序算法時(shí)間復(fù)雜度 -
在看的書籍?知識(shí)?《深入理解 Java 虛擬機(jī)》說下最深刻的部分?我說了個(gè) R 大寫的 JVM 是如何區(qū)分出是引用類型還是基本類型 -
反問 大約 47 min
二面:2020/1/22 上午十一點(diǎn)
HR 說的是一個(gè)高 T 二面面試我,果不其然,一個(gè)禿頭大叔。
-
自我介紹 -
介紹京東實(shí)習(xí)項(xiàng)目 -
項(xiàng)目分布式鎖怎么用的?主從的緩存 master 節(jié)點(diǎn) down 了怎么辦?(Redlock) -
腦裂問題(配置文件)、數(shù)據(jù)傾斜(一致性哈希,虛擬節(jié)點(diǎn))、數(shù)據(jù)分片 -
緩存穿透、擊穿、雪崩 -
Redis 哨兵?cluster? -
zset 底層,為什么用壓縮列表(避免內(nèi)存碎片),跳表查詢復(fù)雜度?log(n)(逮住 Redis 真就往死里問啊) -
看你博客里有微服務(wù),講講微服務(wù)、分布式? -
項(xiàng)目中各個(gè)服務(wù)之間怎么調(diào)用的?我說用 JSF(JSF 是京東內(nèi)部的RPC通信工具,類似于 dubbo) -
分布式 CAP 定理 -
講講分布式事務(wù)解決方案,各自優(yōu)缺點(diǎn)(內(nèi)心。。。還好前幾天看過) -
寫題 忘記具體是啥了 反正都是屬于 easy 的題目,大約 50+min
還有一些回憶不起來了,好像是 Spring 源碼的東西,電腦面試沒有錄音,總之摳得很細(xì),面試官果然是個(gè)大佬。。。
三面 2020/1/22 晚上八點(diǎn)半
-
介紹自己 -
兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列 -
基本上就是一些非技術(shù)問題,嘮家常、談理想、問 offer -
可能是我比較能 bb 三面約 1 h 15min
十分鐘 HR 聯(lián)系微信聯(lián)系說過了,讓我等接下來的補(bǔ)筆試、測評(píng)郵件
1/26下午收到郵件做完后 HR 叫我安心等待,最遲周五給發(fā) offer。
lz 從去年二月份開始春招找實(shí)習(xí),(雙非本科學(xué)歷)到現(xiàn)在差不多過去了一年。大大小小的面試也經(jīng)歷過了不少,也相應(yīng)的拿了一些公司的 offer,下面是我的一些個(gè)人見解加上別的大佬的一些參考,希望能拋磚引玉,如有瑕疵,還請(qǐng)多多指教!
我認(rèn)為的面試 = 基礎(chǔ) + 能力 + 規(guī)劃以及一些面試技巧
其實(shí)也就是對(duì)應(yīng)著一個(gè)人的:過去(學(xué)過的知識(shí))、現(xiàn)在(擁有的能力)、未來(規(guī)劃)
基礎(chǔ)
這個(gè)就很簡單了比如
-
最基本的數(shù)據(jù)結(jié)構(gòu)、算法; -
以Java 為例的一些基礎(chǔ)知識(shí):JVM、集合、框架; -
計(jì)算機(jī)操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò); -
通用的一些中間件:netty、nginx、redis、MySQL 等。
這些是基本上都要知道的,尤其是一些面試常問的必須要數(shù)量掌握,盡管有人認(rèn)為這是背書,但是連背書都不背的說明態(tài)度有問題,肯定是不是被公司接受的。
當(dāng)然以上說的太籠統(tǒng)了,具體的復(fù)習(xí)路線可以參考其他大佬的作品,如不嫌棄可以看一下我寫過的一些博客 https://blog.csdn.net/weixin_44104367 本文只做一些面試經(jīng)驗(yàn)相關(guān)的總結(jié)、概述。
能力
這方面主要是圍繞實(shí)習(xí)、項(xiàng)目來展開的基本上 = 技術(shù)硬實(shí)力 + 能力軟實(shí)力。
比如:有實(shí)習(xí)的
-
在實(shí)習(xí)期間做了哪些事能夠證明自己的能力 -
如何在開發(fā)過程中優(yōu)雅的書寫代碼?(其實(shí)一些知識(shí)譬如設(shè)計(jì)模式大家都會(huì)背,但是能夠真正將這個(gè)知識(shí)落到實(shí)地的又有幾個(gè)呢? -
項(xiàng)目開發(fā)過程中如何一步步提升自己的技術(shù)能力、業(yè)務(wù)水平? -
如何快速的理解業(yè)務(wù)?適應(yīng)環(huán)境? -
對(duì)于實(shí)習(xí)OR項(xiàng)目的思考總結(jié)?
要明白一點(diǎn):工作了的人很喜歡問一些 case,尤其是一些領(lǐng)導(dǎo)特別喜歡問,哪怕這個(gè)項(xiàng)目技術(shù)再牛,那么它是如何落地的呢?他的場景是什么?為了解決什么問題?使用了什么方法 OR 工具?達(dá)到的效果如何?最終能滿足預(yù)期嗎?
比如大家都會(huì)背一些 Spring 源碼,設(shè)計(jì)模式,但是能自己將這二者結(jié)合起來嗎?比如結(jié)合 Spring 源碼+設(shè)計(jì)模式開發(fā)?(這篇文章就是個(gè)例子 淘系技術(shù)部的 https://mp.weixin.qq.com/s/94oe5c_7ouE1GbyiPfNg5g)
對(duì)面試官而言,他們已經(jīng)聽吐了這些背的東西,如果自己能講的讓面試官眼前一亮,那么即時(shí)面試問題回答的不太好 最起碼也能證明自己對(duì)于技術(shù)是有追求、有思考的,而不是一個(gè)背題機(jī)器。
對(duì)于一個(gè)技術(shù)而言,它在這個(gè)公司存在的意義就是為了一些變現(xiàn)業(yè)務(wù)服務(wù) 技術(shù)服務(wù)于業(yè)務(wù),用業(yè)務(wù)創(chuàng)造價(jià)值。
個(gè)人認(rèn)為學(xué)生狀態(tài)過渡到工作狀態(tài)就是理論轉(zhuǎn)化為實(shí)踐動(dòng)力的過程 有些人總覺得校招生身上有一股書生氣 大概就是:理論的東西多而幼稚,有些不切實(shí)際的想法,能不能落地呢?
規(guī)劃
這點(diǎn)其實(shí)發(fā)現(xiàn)面試總結(jié)里面很少有人去談,但是看到脈脈上,十個(gè) HR,九個(gè)都會(huì)喜歡聽到候選人這方面的一些思考、總結(jié)。
路線規(guī)劃
舉個(gè)例子比如:會(huì)不會(huì)提前去規(guī)劃自己的人生路線?
這是從網(wǎng)上找的一張圖,可以看到有很多路線,究竟哪一條適合自己?可能很多人壓根沒思考過這個(gè)問題?另外自己適合哪一行呢?教育?廣告?地圖?還是純技術(shù)?
隔行如隔山,因?yàn)槲覐娜ツ晡逶路菥蛠韺?shí)習(xí),也換過倆部門,所以對(duì)于這些事情比其他人要深刻一些。
只有清楚知道自己喜歡的才有動(dòng)力去做好他 不喜歡的只是為了生活被動(dòng)的產(chǎn)出。
不是所有人都適合做純技術(shù)、也有的人壓根就不適合搞業(yè)務(wù),究竟那條大路通向自己心中的羅馬,只有自己清楚
而這些事很多人都這么回復(fù)的:先有了工作再說。
看過很多人 尤其是 90 后工作半年跳槽、一年的也有。反正給我的感覺就是:不踏實(shí)。對(duì)于公司而言就是不忠誠:誰能保證你從上一家公司跳又能干多長時(shí)間又跳走了呢?公司培養(yǎng)一個(gè)人的代價(jià)又有誰去承擔(dān)呢?
在一個(gè)公司呆夠超過五年 最起碼可以說明這個(gè)人在這個(gè)行業(yè)、公司站住腳了。
有的人入職以后才發(fā)現(xiàn)自己不太適合這個(gè)行業(yè)、這個(gè)方向,于是就跳槽,簡歷就花了。
簡歷一花,找工作就更不好找。別的公司不知道,JD 這邊有的部門五二原則卡的很嚴(yán)格(五年內(nèi)只在兩家公司工作過,也就是說平均一家公司至少工作兩年時(shí)間 https://www.jianshu.com/p/ac8f28f58e11)
這還是次要,更重要的是自己能確保這個(gè)新的方向就自己適合或者喜歡嗎?于是又開始跳、跳、跳。
人生往往是一步錯(cuò)、步步錯(cuò)。
別人已經(jīng)在自己合適的方向上工作很久了 而你還在思考自己要做什么。
男怕入錯(cuò)行,女怕嫁錯(cuò)郎,說的大概就是這個(gè)意思。
時(shí)間規(guī)劃
大家都知道程序猿 35 是一道坎,到時(shí)候要么轉(zhuǎn)管理,要么成為 CTO,自己對(duì)于自己的成長路線是一個(gè)什么規(guī)劃呢?
管理路線:三年能夠處理日常開發(fā)當(dāng)中的任何問題;五年能夠在技術(shù)上達(dá)到自己一個(gè)比較理想的狀態(tài);七年能夠成為小組 leader;十年能夠成為部門 leader
技術(shù)路線:三年夠在技術(shù)上能夠有較大提升;五年成為架構(gòu)師;七年成為資深架構(gòu);十年成為總監(jiān)等。
能夠表達(dá)出這些,最起碼能夠說明自己比較踏實(shí),是一個(gè)有規(guī)劃、有思想的人。
面試經(jīng)驗(yàn)
對(duì)于面試經(jīng)驗(yàn)這塊真的就只能實(shí)戰(zhàn)找感覺了,每個(gè)人都有自己的一個(gè)表達(dá)方式,不過套路都是差不太多:
揚(yáng)長避短
像樓主本人學(xué)校不好但是一直在 JD 實(shí)習(xí),那么自我介紹的時(shí)候可以說自己實(shí)習(xí)時(shí)間比較長等。
學(xué)校比較好但是導(dǎo)師不放實(shí)習(xí)的可以著重說下自己的學(xué)校經(jīng)歷,paper、競賽情況,都沒有的可以說能夠凸顯自己能力的地方
適當(dāng)?shù)耐约簳?huì)的方向引導(dǎo)面試官
有的面試官會(huì)自己電腦前放一個(gè)題庫,但是大部分不會(huì),會(huì)根據(jù)簡歷上,自己腦海中搜索問題。
比如問你 MySQL 調(diào)優(yōu),自己知道那些就說哪些,比如你知道索引這塊哪些自己知道原理就說那些:(is null 判斷可能會(huì)導(dǎo)致放棄索引、盡量避免使用判斷等)再往下往往會(huì)問原理,因?yàn)槟阒雷钭笄熬Y原則、MySQL 優(yōu)化器的索引代價(jià)分析、選擇過程,你就可以輕松回答上來。
但是你不太懂索引相關(guān)的原理就不要胡言亂語,瞎往自己不擅長的領(lǐng)域引導(dǎo)面試官,可以從設(shè)計(jì)規(guī)范方面談起(使用 varchar 而不是 char 等等)因?yàn)槊嬖嚬僖话銜?huì)問:為什么?自己在學(xué)習(xí)知識(shí)的過程中也要經(jīng)常問自己一句:為什么?比如都知道函數(shù)表達(dá)式操作會(huì)導(dǎo)致索引失效,那么原理呢?
面試充滿了不確定性
你又不是RMB 不會(huì)所有人都喜歡你。
這個(gè)恐怕很多人是深有體會(huì):我面試面的挺好的啊,問題都回答上來了,怎么還是掛了?放寬心態(tài),該佛系的時(shí)候佛系一點(diǎn)啦。
面試充滿了不確定性,能和面試官聊得來,即便問題回答的不怎么樣,面試官也會(huì)放你一馬。
有的人跟面試官聊不來,甚至面試過程中發(fā)生了爭執(zhí),那肯定就是不給過了唄。
面試是一個(gè)雙向選擇的過程
你被面試官面試的時(shí)候其實(shí)你也在考量這個(gè)部門、這個(gè)面試官技術(shù)水平、人品以及是否愿意引導(dǎo)新人等。
一般面試自己的都會(huì)和自己入職后的工作關(guān)系是在一起的,一般是自己的同事、直屬領(lǐng)導(dǎo)。
如果面試官為人和善、愿意引導(dǎo)你解答出問題來,那么入職之后你的成長速度也會(huì)更快的。
如果面試官技術(shù)問題問的很模糊其辭,不夠?qū)I(yè),那么面試多了你也會(huì)感受出來。
你不是非我不要,我也不是非你們部門、公司不選,面試就是一個(gè)雙向選擇的過程。
爛大街的項(xiàng)目盡量不要寫
秒殺系統(tǒng) 、商城系統(tǒng)。
原因自己體會(huì) 懂得都懂
學(xué)歷差的自信一點(diǎn)
牛客上認(rèn)識(shí)了很多盆友,大家的學(xué)歷大多數(shù)都比我這個(gè)雙非渣本菜雞學(xué)歷高得多,這也不是意味著學(xué)歷差就一定不行,我這不是也上岸了百度、京東了么。
衷心勸誡 22 屆及以后畢業(yè)學(xué)歷較差的盆友,學(xué)歷差不代表一切。
但正是因?yàn)閷W(xué)歷的問題,就需要我們比別人付出更多,別人不會(huì)的可以通過學(xué)校、paper 補(bǔ)過來,但是我們一無所有只能沖。
確實(shí)像 bat 這大廠對(duì)于學(xué)歷的要求不是特別高(某東除外,很多部門明確要求學(xué)歷 211 及以上)
PS
都在問啥項(xiàng)目比較好,我從個(gè)人角度談一下:有實(shí)習(xí)的話肯定是公司的項(xiàng)目比較好 無論是體量還是專業(yè)程度
沒實(shí)習(xí)的話可以做個(gè):仿制 dubbo、netty、tomcat、簡單的 ioc 容器啦 或者一些實(shí)實(shí)在在能落地的項(xiàng)目,因?yàn)橐粋€(gè)項(xiàng)目落沒落地面試官一問就知道。
前者會(huì)更好的走完一個(gè)底層的流程,從原理搞懂這些中間件,會(huì)比直接背書強(qiáng)。
真正走完一個(gè)流程的項(xiàng)目遠(yuǎn)遠(yuǎn)優(yōu)于那些網(wǎng)上的項(xiàng)目 沒有實(shí)際的背景 那些開發(fā)中的情況面試官一問就破(以上為個(gè)人觀點(diǎn))
以上內(nèi)容純手打,囿于樓主本人的認(rèn)知階層,目前暫時(shí)總結(jié)了這么些,算是回饋一下牛客吧 希望22屆及以后的同學(xué)們看到這篇帖子能夠有所啟發(fā),寫的不好多多包涵!
往期資源 需要請(qǐng)自取
往期資源 需要請(qǐng)自取
