「面試」小紅書(shū)之旅

一面
一面面試官看著二十七八歲,文質(zhì)彬彬,這哪里是寫代碼的,頭發(fā)都飄起來(lái)了好么。上來(lái)就干項(xiàng)目,由于大家的項(xiàng)目都不太一樣,所以對(duì)于項(xiàng)目部分我就說(shuō)說(shuō)我面試的時(shí)候經(jīng)常遇到的問(wèn)題
描述下項(xiàng)目
一口是吃不了胖子的,描述之前先憋著氣掂量掂量自己所說(shuō)的東西能不能唬住自己,然后唬住面試官。
項(xiàng)目中擔(dān)任的角色
對(duì)于大多數(shù)的我們而言,就是開(kāi)發(fā)的角色,同樣的道理,角色對(duì)應(yīng)相應(yīng)的職務(wù),闡述自己做的內(nèi)容能引面試官上鉤,拉鉤上吊一百年不許變。
在項(xiàng)目遇到什么困難
這三個(gè)問(wèn)題,是不是可以拎著腳趾拇都可以想出來(lái),除非不是你做的,哈哈哈哈哈。不慌,不是我們做的也不怕,我們必須知道有個(gè)網(wǎng)站叫做Github,大牛這么多,自己不是大牛,難道不會(huì)學(xué)學(xué)人家麥。Clone下來(lái),搭建環(huán)境跑起來(lái),開(kāi)始調(diào)試修改,通過(guò)將模塊拆分,進(jìn)一步修改,這不就是你的項(xiàng)目嗎,當(dāng)然我不怎么建議大家這么操作啦。
我看你簡(jiǎn)歷中寫著網(wǎng)絡(luò)流量的還原,你應(yīng)該對(duì)計(jì)算機(jī)網(wǎng)絡(luò)比較熟悉?(注意哈,簡(jiǎn)歷上寫上去的東西,自己心里一定要有點(diǎn)B數(shù)),那我們說(shuō)說(shuō)計(jì)算機(jī)網(wǎng)絡(luò)
說(shuō)說(shuō)計(jì)算機(jī)網(wǎng)絡(luò)中TCP的三次握手吧
你這樣回答肯定是不會(huì)讓面試官滿意的,那就加點(diǎn)配料,不放佐料的菜怎么香?那就詳細(xì)的安排一下
這樣是不是稍微有B格一點(diǎn)呢,而且還比較形象,當(dāng)然為了加深大家對(duì)這個(gè)過(guò)程的印象,我再舉個(gè)例子
面試官說(shuō):“那我問(wèn)你,如果客戶端發(fā)送的SYN丟失了或者其他原因?qū)е耂erver無(wú)法處理,是什么原因?

說(shuō)說(shuō)四次揮手吧,哎,卑微的藍(lán)藍(lán)
TIMEWAIT了解哈,過(guò)多的TIMEWAIT怎么辦,什么原因造成的?
為什么不直接進(jìn)入CLOSE轉(zhuǎn)態(tài),而是需要先等待2MSL,這段時(shí)間在干啥?

那么TIME_WAIT有哪些危害?
有沒(méi)有對(duì)TCP進(jìn)行優(yōu)化過(guò) 開(kāi)玩笑,這東西復(fù)習(xí)過(guò),盡管問(wèn),錘子不怕。優(yōu)化的點(diǎn)很多,隨便提一點(diǎn),讓后比較深的描述下這個(gè)過(guò)程就行比如調(diào)整哪些參數(shù)在某些特定的條件下會(huì)最優(yōu)

你以為面試官是傻子?當(dāng)然不是,萬(wàn)一面試官問(wèn)你:半連接積壓較多,還有其他的原因?
SYN Flood攻擊是個(gè)啥過(guò)程?
那有沒(méi)有什么方案解決這個(gè)問(wèn)題?
那么開(kāi)啟SYN Cookies的方法?

說(shuō)下什么是大頁(yè)內(nèi)存
我擦,我差點(diǎn)沒(méi)反應(yīng)過(guò)來(lái),"大爺內(nèi)存",不過(guò)確實(shí)牛逼,大頁(yè)內(nèi)存,記住了,是大頁(yè)內(nèi)存。
行,差不多時(shí)間了,寫個(gè)簡(jiǎn)單代碼吧,實(shí)現(xiàn)一個(gè)無(wú)重復(fù)字符的最長(zhǎng)子串
使用 vector m 來(lái)記錄一個(gè)字母如果后面出現(xiàn)重復(fù)時(shí),i 應(yīng)該調(diào)整到的新位置 所以每次更新的時(shí)候都會(huì)保存 j + 1 ,即字母后面的位置 j 表示子串的最后一個(gè)字母,計(jì)算子串長(zhǎng)度為 j - i + 1

二面
一面感覺(jué)還不錯(cuò),果不其然二面來(lái)了,HR小姐姐打電話通知周三二面,行,對(duì)于從來(lái)不遲到的暖藍(lán),肯定守時(shí)。拿著茶,等到2:30,至于為什么拿著茶,這是我的習(xí)慣,面試前喝杯茶等待面試官的捧擊(面試官其實(shí)大部分很溫柔的啦)。
我叫XX,來(lái)自XX大學(xué),本科XX,碩士XXX,期間做了XX,謝謝面試官。自我介紹不用那么花里胡哨,挑重點(diǎn)說(shuō),不會(huì)在意你本科談了幾次戀愛(ài),也不會(huì)在意你XXXX,簡(jiǎn)單明了完事,開(kāi)始二面
應(yīng)該學(xué)過(guò)C的吧,用C實(shí)現(xiàn)多態(tài)怎么個(gè)思路


感覺(jué)沒(méi)啥問(wèn)的,先寫個(gè)代碼,二路歸并

倒排索引了解不?

有沒(méi)有什么優(yōu)化的方法?
如何創(chuàng)建倒排索引?
首先給文檔編個(gè)號(hào)表示唯一表示,然后排序遍歷文檔 解析每個(gè)文檔的關(guān)鍵字并生成<關(guān)鍵字,文檔ID,關(guān)鍵字位置>。這里的關(guān)鍵字位置主要是為了檢索的時(shí)候顯示關(guān)鍵字前后信息 將關(guān)鍵字key插入哈希表。如果哈希表已存在這個(gè)key,就在對(duì)應(yīng)的posting list中追加節(jié)點(diǎn),記錄文檔ID。如果哈希表沒(méi)有響應(yīng)的key則插入該key并創(chuàng)建posting list和對(duì)應(yīng)的節(jié)點(diǎn) 重復(fù)2 3步處理完所以文檔

如果要查詢同時(shí)包含"暖"“藍(lán)”兩個(gè)key怎么辦?
如何找到AB兩個(gè)鏈表的公共元素?希望小伙伴們思考下,經(jīng)常在手撕算法中被問(wèn)到
首先使用兩個(gè)指針P1 P2分別指向有序鏈表AB的第一個(gè)元素 然后對(duì)比兩個(gè)指針?biāo)腹?jié)點(diǎn)是否相同,這可能出現(xiàn)三種情況 兩者id相同則是公共元素,直接歸并即可,然后P1 P2后移 p1元素小于p2元素,p1后裔,指向A鏈表的下一個(gè)元素 p1元素大于p2元素,p2后裔,指向B鏈表中下一個(gè)元素 重復(fù)第二步 直到p1和p2移動(dòng)到鏈表尾

你說(shuō)使用過(guò)kafka,那么使用消息隊(duì)列的時(shí)候如何保證只消費(fèi)一次?

我看你簡(jiǎn)歷上打過(guò)acm,說(shuō)說(shuō)你的策略或者經(jīng)歷吧
寫個(gè)驗(yàn)證郵箱的正則

了解內(nèi)存映射?說(shuō)說(shuō),盡量說(shuō)



我自己可能沒(méi)有把項(xiàng)目更本質(zhì)的東西理解清楚 從事的不同的方向,有些專業(yè)術(shù)語(yǔ)的理解的不同)
三面
線程的鎖有哪些,我說(shuō)到了讀寫鎖打斷我了,問(wèn)我讀寫鎖會(huì)有什么些問(wèn)題,無(wú)非就是寫鎖饑餓問(wèn)題,我說(shuō)沒(méi)看過(guò)內(nèi)核源碼,然后如果讓我來(lái)實(shí)現(xiàn),我怎么來(lái)避免
有了解過(guò)RPC?
RPC的通信流程是怎樣的?

總結(jié)
請(qǐng)記下以下幾點(diǎn):
公司招你去是干活了,不會(huì)因?yàn)槟阍趺丛趺吹亩档蛯?duì)你的要求標(biāo)準(zhǔn)。 工具上面寫代碼和手撕代碼完全不一樣。 珍惜每一次面試機(jī)會(huì)并學(xué)會(huì)復(fù)盤。 對(duì)于應(yīng)屆生主要考察的還是計(jì)算機(jī)基礎(chǔ)知識(shí)的掌握,項(xiàng)目要求沒(méi)有那么高,是自己做的就使勁摳細(xì)節(jié),做測(cè)試,只有這樣,才知道會(huì)遇到什么問(wèn)題,遇到什么難點(diǎn),如何解決的。從而可以侃侃而談了。 非科班也不要怕,怕了你就輸了!一定要多嘗試。

有道無(wú)術(shù),術(shù)可成;有術(shù)無(wú)道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號(hào)
好文章,我在看??
評(píng)論
圖片
表情
