兩年工作經(jīng)驗(yàn)?zāi)玫轿浵?頭條 Offer(特全面的面經(jīng)今天 來分享下)

分享一篇面經(jīng),作者拿到了 PingCAP,今日頭條的 offer 以及螞蟻金服的口頭 offer盹牧。

關(guān)注公眾號(hào):“程序員白楠楠”免費(fèi)獲取励幼!

下面是該作者的經(jīng)驗(yàn)分享:準(zhǔn)備過程

我自己是本科畢業(yè)后在老東家干了兩年多汰寓,老東家算是一家”小公司”(畢竟這年頭沒有 BAT 或 TMD 的 title 都不好意思報(bào)出身),畢業(yè)這兩年多我也沒有在大廠待過苹粟,因此找坑的時(shí)候是非常非常虛的有滑。迫于心慌,我好好思考了一陣來給自己打氣嵌削,當(dāng)時(shí)真正找坑和準(zhǔn)備面試的過程大概分為這幾個(gè)階段:

  • 反思:自己是不是真的要離職毛好,假如不離職,在老東家接下來應(yīng)該做什么才能繼續(xù)提升苛秕?

  • 定位:我在硬性技能(編碼肌访、架構(gòu))上的長處在哪?我在軟技能(溝通艇劫,團(tuán)隊(duì))上的長處在哪场靴?這步順帶寫了簡(jiǎn)歷

  • 尋找平臺(tái):哪些平臺(tái)能同時(shí)滿足:1、有挑戰(zhàn)有上升空間港准;2、符合我的定位方向咧欣;3浅缸、團(tuán)隊(duì)氛圍和老東家一樣好(或更好)

  • 找人內(nèi)推:基本都是在 v2 上找的(誠摯感謝各位幫助我內(nèi)推的大佬)

  • 面試談 offer

定位這一步其實(shí)花了好幾天時(shí)間,我先是梳理了自己的項(xiàng)目經(jīng)歷和工作內(nèi)容的專長魄咕,把 Java + Golang衩椒,做過的面比較廣(業(yè)務(wù),中間件,基礎(chǔ)架構(gòu)都做過)以及對(duì) k8s 云原生有專長和興趣作為自己的”硬招牌”毛萌。然后把學(xué)習(xí)能力強(qiáng)苟弛,喜歡溝通合作,渴望挑戰(zhàn)作為我的”軟招牌”阁将,最后把自己定位成一個(gè)”在過往經(jīng)歷中展現(xiàn)出了過人學(xué)習(xí)能力和鉆研能力膏秫,同時(shí)渴望挑戰(zhàn),不愿意呆在舒適區(qū)”的形象(媽呀打這段話的時(shí)候太羞恥了W鲋选g拖鳌!)吹榴。

接下來就進(jìn)入正題亭敢,逐家講一下自己的面試體驗(yàn):

  • PingCAP - Cloud 方向

  • 螞蟻 - 容器調(diào)度方向(CTO線)

  • 頭條 - 工程效能方向

image
image

PingCAP

面試前

PingCAP 的簡(jiǎn)歷響應(yīng)是最快的,內(nèi)推之后第二天 HR 小姐姐就聯(lián)系了我图筹。電話接通之后先是簡(jiǎn)單聊了一下人生帅刀,然后就是社招三問 [”為啥離職啊?”,”現(xiàn)在待遇咋樣啊?”,”期望待遇咋樣啊?”],天知道這通電話是我開始投簡(jiǎn)歷之后的第一通電話面試远剩,之前還完全沒有準(zhǔn)備過類似的問題扣溺,只能稀里嘩啦用[”現(xiàn)在自己的技術(shù)成長有點(diǎn)碰到瓶頸,加上一直對(duì)您公司欽慕有加??”,”我現(xiàn)在待遇是xxx但我司除了base之外還有xxx以及我馬上要提薪了??”,”其實(shí)比起待遇我更看重平臺(tái)和挑戰(zhàn)(狗頭)民宿,但是基本的薪資需求我還是希望能xxx??”]這樣和稀泥應(yīng)付過去娇妓。內(nèi)心稍稍平靜之后小姐姐跟我講了講我意向部門的結(jié)構(gòu)和主體業(yè)務(wù),然后交代了一下接下來的面試流程活鹰,約了”一面”并且加了微信哈恰。“一面”加了引號(hào)志群,這是因?yàn)椤币幻妗逼鋵?shí)是在微信上布置了一個(gè)小項(xiàng)目着绷,然后約定好時(shí)間驗(yàn)收。這里要特別感謝一下 PingCAP 的 HR 小姐姐锌云,加了微信之后全程幫助我協(xié)調(diào)面試時(shí)間并不厭其煩地回答我各種奇奇怪怪的問題荠医,最后談 offer 的時(shí)候還給我準(zhǔn)備了一個(gè)驚喜。面試體驗(yàn)直接滿星<3!

一面

早就聽說 PingCAP 一面要寫小項(xiàng)目桑涎,我自己心里其實(shí)是躍躍欲試的彬向。面試官給的項(xiàng)目要求大體是這樣:K8S 容器化之后應(yīng)用容器里幾乎沒有什么可用的調(diào)試工具,可以利用容器 Namespace 共享的思路攻冷,啟動(dòng)一個(gè)包含各種調(diào)試工具(比如 netstat, gdb)的容器娃胆,加入到 pod 的 pid、net 等 namespace 中等曼, 實(shí)現(xiàn)對(duì)任意 pod 的 debug 功能±锓常現(xiàn)在希望利用 kubectl plugin 機(jī)制實(shí)現(xiàn)一個(gè)插件凿蒜,用于 debug 任意一個(gè) pod 里的容器,達(dá)到 kubectl exec 的使用體驗(yàn).當(dāng)時(shí)因?yàn)楣ぷ魅粘椴怀鰰r(shí)間胁黑,就隔了幾天到周五晚上開始寫废封,周六晚上寫完并且把 項(xiàng)目地址 分享到了 Reddit 上。沒想到運(yùn)氣不錯(cuò)收了 100 多個(gè) star丧蘸,這下我就覺得”哦豁漂洋,這輪應(yīng)該穩(wěn)了吧!”(結(jié)果后來發(fā)現(xiàn)這幾乎是我唯一一把覺得自己”穩(wěn)了的”面試…)

二面

二面是一位 Cloud 方向的前輩面我,全程大概微信語音聊了50多分鐘:

  • 問項(xiàng)目經(jīng)歷,聊了兩個(gè)項(xiàng)目

  • 對(duì) Kubernetes 了解怎么樣籍胯,看過源碼嗎?

  • k8s 的代碼我以前其實(shí)只看過 kubelet爽冕,臨陣磨槍的時(shí)候把 apiserver、scheduler披蕉、controller-manager 都看了一遍颈畸,笑容漸漸出現(xiàn)。

  • Kubernetes 的 Service 是什么概念没讲,怎么實(shí)現(xiàn)的眯娱?

  • 你剛說到 Informer,Informer 是怎么實(shí)現(xiàn)的爬凑,有什么作用徙缴?

  • StatefulSet 用過嗎?有什么特點(diǎn)嘁信?

  • StatefulSet 的滾動(dòng)升級(jí)是如何實(shí)現(xiàn)的于样?

  • 現(xiàn)在我們希望只升級(jí) StatefulSet 中的任意個(gè)節(jié)點(diǎn)進(jìn)行測(cè)試, 可以怎么做? 這題沒有思路,只好強(qiáng)答用”兩個(gè) StatefulSet”潘靖,后來一想起一個(gè)新的 StatefulSet 那 PV 里的數(shù)據(jù)就丟了穿剖,其實(shí)正確辦法是利用 partition 機(jī)制,笑容漸漸消失卦溢。

  • Kubernetes 的所有資源約定了版本號(hào), 為什么要這么做?第二個(gè)拿不準(zhǔn)的問題糊余,我面試前就反復(fù)告訴自己”不要強(qiáng)答“以及”不知道的題就講思路“,于是就說這塊代碼確實(shí)沒看過单寂,但是根據(jù)微服務(wù) API 的設(shè)計(jì)理念贬芥,版本號(hào)的作用有巴拉巴拉。答完似乎面試官還算滿意宣决,于是又往下挖了一句:

  • 假如有多幾個(gè)版本號(hào)并存, 那么 K8S 服務(wù)端需要維護(hù)幾套代碼?這題完全不知道誓军,內(nèi)心逐漸焦灼,立馬走老套路”這我沒看過 k8s 代碼怎么寫的無法確定(想表達(dá)自己真正看過代碼才會(huì)確認(rèn)疲扎,凸顯自己嚴(yán)謹(jǐn)…我的媽呀)昵时,但假如由我來寫這份代碼(裝作非常自信),我會(huì)只會(huì)維護(hù)一份最新的 Model椒丧,然后設(shè)計(jì)對(duì)應(yīng)一個(gè)版本段的 Adpater 將老版本的 Model 轉(zhuǎn)化過來巴拉巴拉”壹甥。到這里我已經(jīng)虛的不行了

  • OK,那接下來我們聊聊 Golang (我:長舒一口氣)

  • 看一下這段代碼有沒有問題(一段 golang for-range 里 goroutine 閉包捕獲的代碼)壶熏,為什么?

  • goroutine 是怎么調(diào)度的句柠?

  • goroutine 和 kernel thread 之間是什么關(guān)系?

  • 有什么想問我的棒假?

面完之后感覺答得一般溯职,心里有點(diǎn)忐忑。結(jié)果第二天 HR 小姐姐就來安排三面了帽哑,長舒了一口氣谜酒。

三面

三面是和整個(gè)大部門的 Leader 聊,面試官很能聊(聲音還很好聽F拚怼)而且技術(shù)非常全面僻族,全程大概微信語音聊了80多分鐘:

  • 給我介紹 PingCAP 相關(guān)團(tuán)隊(duì)的職責(zé)與挑戰(zhàn)

  • 聊為什么出來看機(jī)會(huì),以及未來的職業(yè)規(guī)劃

  • 聊我之前做的一個(gè)數(shù)據(jù)同步的項(xiàng)目屡谐,大概內(nèi)容是訂閱 MySQL Binlog述么,sink 到搜索索引、分庫分表以及業(yè)務(wù)事件訂閱流中

  • 為什么數(shù)據(jù)同步里選擇了 xxxx 開源項(xiàng)目愕掏,優(yōu)勢(shì)在哪度秘?

  • 訂閱分庫分表的 Binlog 怎么訂閱?

  • 分庫分表的數(shù)據(jù)源中假如存在主鍵沖突要怎么解決饵撑?

  • 怎么保證下游對(duì) Binlog 的消費(fèi)順序剑梳?

  • 如何在下游保證消費(fèi)時(shí)的事務(wù)原子性?

  • 描述了一下 tidb 的 binlog 架構(gòu)肄梨,問這種場(chǎng)景下怎么保證 Binlog 順序

  • 聊一個(gè)上了 Kubernetes 的項(xiàng)目阻荒,問了一些細(xì)節(jié)和坑

  • 用 Kubernetes 之后,解決了哪些問題众羡?

  • 聊我之前做的監(jiān)控警報(bào)項(xiàng)目侨赡,問背景和產(chǎn)出

  • Prometheus 單實(shí)例數(shù)據(jù)量級(jí) hold 不住了,有什么解決方案粱侣?

  • 有什么想問我的羊壹?

簡(jiǎn)歷里的”數(shù)據(jù)同步”這個(gè)項(xiàng)目我是好好復(fù)習(xí)過自己當(dāng)年寫的調(diào)研文檔和架構(gòu)文檔的,也做了被問的準(zhǔn)備(換位思考齐婴,是我我也問油猫。這個(gè)其實(shí)就是我專門希望面試官來挖細(xì)節(jié)的項(xiàng)目)。最后確實(shí)被問最多的就是這個(gè)項(xiàng)目柠偶,運(yùn)氣真的不錯(cuò)??情妖。

四面

四面到了現(xiàn)場(chǎng)面睬关,有兩位面試官一起跟我聊,大約聊了 40 多分鐘:

  • 聊”配置中心”項(xiàng)目的細(xì)節(jié)

  • 為什么不用 ZK毡证,要自己再寫一個(gè)”配置中心”, 這個(gè)問題讓我措手不及电爹,我只好坦白:當(dāng)時(shí)年輕,想刷經(jīng)驗(yàn)料睛,事后才領(lǐng)悟到不要重復(fù)造輪子丐箩,當(dāng)然最后系統(tǒng)的產(chǎn)出也不錯(cuò)(后面這兩句是我臨時(shí)加的,不能讓面試官覺得我是一個(gè)不看全局只顧自己刷經(jīng)驗(yàn)的人)

  • 配置中心怎么做服務(wù)發(fā)現(xiàn)的恤煞?怎么做 failover 的屎勘?

  • 用 Kubernetes 碰到過哪些坑?

  • 對(duì) Prometheus 做了哪些改動(dòng)居扒?

  • 對(duì) Alertmanager 做了哪些改動(dòng)概漱?

  • 監(jiān)控系統(tǒng)怎么做”自監(jiān)控”?

  • 跨機(jī)房的網(wǎng)絡(luò)問題怎么監(jiān)控苔货?

  • 有什么想問我們的犀概?

四面是純項(xiàng)目,里面的經(jīng)驗(yàn)就不太通用了夜惭。但這里面有個(gè)細(xì)節(jié)姻灶,就是到中途的時(shí)候兩個(gè)面試官互相對(duì)了一下”還有什么想問的嗎?”我意識(shí)到面試官們想問的問題不多了诈茧,可時(shí)間大約才過了20分鐘(面試時(shí)間過短是一個(gè) bad smell)产喉。于是之后幾個(gè)監(jiān)控的問題我都盡量說得很細(xì),同時(shí)順便提一下”還有一個(gè)方面我們當(dāng)時(shí)也做了挺多工作”敢会,暗示面試官往下挖的線索曾沈。不知道這招有沒有奏效,反正這一面算是有驚無險(xiǎn)過啦鸥昏。

五面

技術(shù)面到四面就結(jié)束了塞俱,五面是創(chuàng)始人面(有幸和崔秋大佬聊了20多分鐘人生),面完之后就是 offer call 了吏垮。

PingCAP 小結(jié)

一些主觀評(píng)價(jià):

  • 面試難度:正常

  • 面試體驗(yàn):我給滿分

  • 問題偏向:項(xiàng)目經(jīng)歷障涯、工程能力

這里真的想夸一下 PingCAP(因?yàn)槊嬖圀w驗(yàn)超棒呀!)膳汪。投 PingCAP 的初衷是覺得這個(gè)團(tuán)隊(duì)的工程師文化非常濃唯蝶,大牛云集,同時(shí) TiDB 夠牛逼遗嗽,項(xiàng)目開源的模式我內(nèi)心也很認(rèn)可粘我。只是掛羊頭賣狗肉的公司也不少,好多 JD 上寫著工程師文化濃郁痹换,其實(shí)很多根本不是那么回事兒征字。但是經(jīng)過 PingCAP 的五輪面試之后都弹,我實(shí)打?qū)嵉馗惺艿搅斯こ處熚幕好嬖嚴(yán)餂]有任何一個(gè)”刁難人的問題”,每一位面試官感興趣的是我的工程思維柔纵、學(xué)習(xí)能力缔杉、技術(shù)見解,同時(shí)還非常熱衷于與我討論和深挖一些坑與技術(shù)決策搁料。這種感覺就很爽:面試官是懂我的,我作為工程師的思維能力與技術(shù)見解得到了認(rèn)可與尊重系羞。這種氛圍是口號(hào)喊不出來的郭计,因?yàn)樗挠残灾笜?biāo)就是這其中的每一個(gè)人要熱愛技術(shù)并且工程經(jīng)驗(yàn)豐富。

image
image

螞蟻

面試前

螞蟻的面試挺獨(dú)特椒振,每輪面試都沒有 HR 約時(shí)間昭伸,一般是晚上 8 點(diǎn)左右面試官來一個(gè)電話,問是否能面試澎迎,能的話開始面庐杨,不能就約一個(gè)其它時(shí)間。全程 6 面夹供,前五面技術(shù)面灵份,電話面試,最后一面是 HR 面哮洽,現(xiàn)場(chǎng)面填渠。

一面

  • 介紹一下自己

  • 問項(xiàng)目經(jīng)歷, 聊”數(shù)據(jù)同步”

  • 接著聊上了 K8S 的項(xiàng)目

  • 有沒有什么鉆研得比較深得技術(shù)?(我:kubernetes, golang, prometheus, java)

  • kubernetes 的架構(gòu)是怎么樣的?這個(gè)問題很大鸟辅,拆成 apiserver氛什、controller、kubelet匪凉、scheduler 講了一下

  • golang 與 java 的比較, 這個(gè)問題又很大枪眉,當(dāng)時(shí)主要對(duì)比了 vm、協(xié)程支持再层、面向?qū)ο蠛头盒偷膮^(qū)別贸铜、以及自己對(duì)各自使用場(chǎng)景的一些理解

  • golang 的 gc 算法, 知道是三色標(biāo)記,不過細(xì)節(jié)說不上來

  • 從無限的字符流中, 隨機(jī)選出 10 個(gè)字符, 沒見過也沒想出來树绩,查了一下是蓄水池采樣算法萨脑,經(jīng)典面試題,沒刷題吃虧了

  • 怎么擴(kuò)展 kubernetes scheduler, 讓它能 handle 大規(guī)模的節(jié)點(diǎn)調(diào)度

  • 單節(jié)點(diǎn)提速:優(yōu)選階段隨機(jī)取部分節(jié)點(diǎn)進(jìn)行優(yōu)選饺饭;水平擴(kuò)展 scheduler 節(jié)點(diǎn)渤早,pod 做一致性 hash 來決定由哪個(gè) scheduler 調(diào)度

  • 你有什么想問我的?

一面其實(shí)有點(diǎn)僵,我自己完全沒放開瘫俊,面試官對(duì)我的回答沒有什么反饋和深入鹊杖,都是”哦好的”然后就過了悴灵。所以我當(dāng)時(shí)面完覺得自己其實(shí)已經(jīng)掛了(我自己要是對(duì)候選人不感興趣,有時(shí)候也就問完問題走個(gè)過場(chǎng)溜了)骂蓖,后來收到二面電話著實(shí)吃驚了一下积瞒。

二面

  • 先聊了聊項(xiàng)目

  • 給 Prometheus 做了哪些改動(dòng)?

  • 自研配置中心, 具體做了哪些內(nèi)容登下?

  • 有用過 MySQL 的什么高級(jí)特性嗎?這里不太理解茫孔,我問什么算高級(jí)特性,面試官就切換到了下一個(gè)問題

  • 配置中心的核心數(shù)據(jù)表是怎么設(shè)計(jì)的?

  • 為什么在業(yè)務(wù)里用 Redis, Redis 有什么優(yōu)點(diǎn)?

  • 單線程:并發(fā)安全被芳;高性能缰贝;原語與數(shù)據(jù)結(jié)構(gòu)豐富;采用廣泛畔濒,踩坑成本低

  • 對(duì) Redis 里數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)熟悉嗎?說了一個(gè) zset 跳表

  • 用過 Redis 的哪些數(shù)據(jù)結(jié)構(gòu), 分別用在什么場(chǎng)景?

  • Java 初始化一個(gè)線程池有哪些參數(shù)可以配置, 分別是什么作用?

  • 自己寫的 Java 應(yīng)用調(diào)優(yōu)過哪些 JVM 參數(shù), 為什么這么調(diào)優(yōu)?這個(gè)問住了剩晴,我只知道最大堆最小堆,開 G1侵状,開 GC 日志以及 OOM dumper 這些基本的

  • 用 Jetty 的時(shí)候有沒有配什么參數(shù), 為什么這么配?

  • Jetty QTP 等待隊(duì)列配置成無限的話, 你覺得好嗎? 會(huì)有什么問題嗎?

  • 用過 Linux Bash 里的哪些命令, 分別用它們干嘛?

  • 一道筆試題: 需要在給的鏈接中作答, 不能 google, 不能跳出, 不能用 IDE:

題目是這樣的:

我: 我用 Go 實(shí)現(xiàn)吧面試官: 不可以赞弥,用 Java 的 notify 機(jī)制實(shí)現(xiàn)我: (還沒意識(shí)到問題的嚴(yán)峻) 那我用 Java BlockingQueue面試官:說不可以, 要求用 Java 的 wait + notify 機(jī)制來實(shí)現(xiàn)我完全沒寫過 wait + notify,只能表示不會(huì)(菜雞本雞了), 面試官說那行吧你可以用 go 寫最后用 go channel 實(shí)現(xiàn)了一版, 不過給的網(wǎng)頁上不能運(yùn)行代碼趣兄,也不知道寫得對(duì)不對(duì)绽左,然后面試結(jié)束。這一輪面試官延續(xù)了一面的風(fēng)格诽俯,問完一題就趕忙下一題了妇菱,似乎沒有表現(xiàn)出對(duì)我的回答有興趣或認(rèn)可。因此這輪面完暴区,我又覺得自己掛了…

三面

  • 依然先聊項(xiàng)目

  • 對(duì)監(jiān)控警報(bào)的項(xiàng)目很感興趣, 問了挺多細(xì)節(jié), 最后問了一個(gè)問題: 現(xiàn)在要你實(shí)現(xiàn)一個(gè)語義不弱于 PromQL 的查詢語言, 你能實(shí)現(xiàn)嗎?

  • 這里雖然看過一些 Prometheus 的代碼闯团,但其實(shí)對(duì) PromQL 的 lexer 和 parser 部分沒有細(xì)看,還好之前因?yàn)閿?shù)據(jù)同步項(xiàng)目里想寫聲明式 Stream SQL 研究過一點(diǎn) ANTLR仙粱,用 ANTLR 寫語法 + AST 遍歷塞查詢邏輯給糊弄過去了房交。

  • 問我覺得做得最深入的項(xiàng)目是什么, 當(dāng)然是數(shù)據(jù)同步(狗頭)

  • 聊數(shù)據(jù)同步項(xiàng)目(這個(gè)很符合我的預(yù)期,哈哈哈哈)

  • 問 Linux 掌握得怎么樣伐割?

  • 沒有系統(tǒng)學(xué)習(xí)過候味,基本上是自己運(yùn)維踩坑積累的

  • 問 Golang 掌握得怎么樣?

  • 用了半年, 看過 effective go

  • 問算法掌握得怎么樣隔心?到圖為止都可以

  • 問最短路算法

  • 只記得 dijkstra 了白群,描述了代碼流程

  • k8s 掌握得怎么樣?不怎么樣,沒有自己寫過 controller 和 scheduler硬霍,但是對(duì)概念都很熟悉帜慢,看過 xxx 這幾部分的源碼

  • k8s 的 exec 是怎么實(shí)現(xiàn)的?這個(gè)問題正中下懷,之前寫了 PingCAP 的小作業(yè)正好對(duì)這塊特別熟悉

這輪聊得順暢多了。同時(shí)發(fā)現(xiàn)螞蟻的面試官似乎挺喜歡讓你自己評(píng)價(jià)自己的:”你覺得自己 xxx 掌握得怎么樣粱玲?”(只有五位面試官躬柬,樣本不夠大,不能作數(shù)哦)抽减,這類問題其實(shí)我慌得要死允青,怕自己吹過頭了答不上來,面試掛了事小卵沉,丟了面子事大颠锉。早知道就預(yù)習(xí)一下怎么吹噓自己了。

四面

  • 介紹一下自己

  • 覺得自己基礎(chǔ)知識(shí)掌握怎么樣

  • 平時(shí)一般會(huì)用到哪些數(shù)據(jù)結(jié)構(gòu)史汗?

  • 鏈表和數(shù)組相比, 有什么優(yōu)劣木柬?

  • 如何判斷兩個(gè)無環(huán)單鏈表有沒有交叉點(diǎn)

  • 如何判斷兩個(gè)有環(huán)單鏈表有沒有交叉點(diǎn)

  • 如何判斷一個(gè)單鏈表有沒有環(huán), 并找出入環(huán)點(diǎn)

  • TCP 和 UDP 有什么區(qū)別?

  • 描述一下 TCP 四次揮手的過程中

  • TCP 有哪些狀態(tài)

  • TCP 的 LISTEN 狀態(tài)是什么

  • TCP 的 CLOSE_WAIT 狀態(tài)是什么

  • 建立一個(gè) socket 連接要經(jīng)過哪些步驟

  • 常見的 HTTP 狀態(tài)碼有哪些

  • 301和302有什么區(qū)別

  • 504和500有什么區(qū)別

  • HTTPS 和 HTTP 有什么區(qū)別

  • 寫一個(gè)算法題: 手寫快排

這一輪全程問的基礎(chǔ)知識(shí),基礎(chǔ)扎實(shí)的話就沒問題了淹办,不過個(gè)人感覺有一點(diǎn)像校招的問法。

五面

  • 介紹一下自己

  • 在 k8s 上做過哪些二次開發(fā)?

  • 自己用 Helm 構(gòu)建過 chart 嗎恶复?有哪些怜森?

  • 有沒有考慮過自己封裝一個(gè)面向研發(fā)的 PaaS 平臺(tái)?

  • 配置中心做了什么谤牡?

  • 為什么不用 zookeeper副硅?

  • 配置中心如何保證一致性?

  • Spring 里用了單例 Bean, 怎么保證訪問 Bean 字段時(shí)的并發(fā)安全翅萤?

  • 用并發(fā)安全的數(shù)據(jù)結(jié)構(gòu)恐疲,比如 ConcurrentHashMap;或者加互斥鎖

  • 假如我還想隔離兩個(gè)線程的數(shù)據(jù), 怎么辦套么?ThreadLocal培己,然后舉了個(gè)例子

  • Golang 里的逃逸分析是什么?怎么避免內(nèi)存逃逸胚泌?這個(gè)不知道省咨,認(rèn)慫了

  • 對(duì)比一下 Golang 和 Java 的 GC,答了一下 CMS、G1和三色標(biāo)記玷室,我對(duì)比的點(diǎn)是 JVM 有分代回收零蓉,Go 的 Runtime 沒有,沒能深入地講

  • Golang 的 GC 觸發(fā)時(shí)機(jī)是什么?閾值觸發(fā)穷缤;主動(dòng)觸發(fā)敌蜂;兩分鐘定時(shí)觸發(fā);

  • 有沒有寫過 k8s 的 Operator 或 Controller津肛?(我:沒有寫過)

  • 談一談你對(duì)微服務(wù)架構(gòu)的理解大體思路”微服務(wù)本質(zhì)是人員組織架構(gòu)演進(jìn)與關(guān)注點(diǎn)分離”

  • 談一談你對(duì) Serveless 的理解,大體思路”Serveless 是繼 docker 與容器編排之后的又一次應(yīng)用開發(fā)與基礎(chǔ)設(shè)施提供方之間的邊界劃分”

  • 你認(rèn)為 Serveless 是未來嗎? 為什么?大體思路”是云服務(wù)的未來章喉,把蛋糕從企業(yè)的IT、運(yùn)維與中間件部門切走,形成規(guī)模效應(yīng)囊陡,做得越多賺得越多芳绩;公司內(nèi)的話 servless 能夠幫助加速前臺(tái)業(yè)務(wù)迭代,但對(duì)中后臺(tái)的收益還看不到撞反,未來可能會(huì)有比 servless 更適合中后臺(tái)的架構(gòu)”

  • 最后你有什么要問我的妥色?我:為什么足足安排了五輪技術(shù)面,而且其中有兩輪似乎和 k8s 沒有關(guān)系岸羝嘹害?面試官:我們覺得你做過的東西挺多的,各個(gè)方向都想讓你嘗試一下 (我的內(nèi)心:……)我:那這輪是最后一輪技術(shù)面嗎吮便?面試官:不一定(我的內(nèi)心:……)

  • 后續(xù)還問了面試官一些業(yè)務(wù)相關(guān)的問題笔呀,就不贅述了

六面

HR 面,之前就聽說過阿里系的 HR 是來”聞味道的”(看你是否適合阿里的風(fēng)格)髓需,而且有一票否決權(quán)许师。所以還是挺有壓力的。

  • 問經(jīng)歷

  • 為什么要考慮出來看看呢僚匆?金句:”現(xiàn)在自己的技術(shù)成長有點(diǎn)碰到瓶頸微渠,加上一直對(duì)您公司欽慕有加??””

  • 現(xiàn)在公司的主營業(yè)務(wù)是什么?(這塊往技術(shù)上問了很多咧擂,感覺是想考察我解釋復(fù)雜問題的能力)

  • 現(xiàn)在帶人嗎逞盆?report 層級(jí)是怎樣的?

  • 對(duì)自己這幾年的經(jīng)歷滿意嗎松申?

  • 覺得自己有什么缺點(diǎn)云芦?

  • 碰到過什么很挫敗的事情嗎?

  • 未來的職業(yè)規(guī)劃是怎樣的贸桶?

  • 看機(jī)會(huì)的時(shí)候舅逸,主要考慮的是待遇、平臺(tái)刨啸、人員還是什么其他因素堡赔?

  • 現(xiàn)在的待遇如何

  • 有什么想問我的

整體聊了 40 多分鐘,話題挺廣的设联,面試官也說了系統(tǒng)部這邊壓力挺大的善已,優(yōu)秀的人才才能留下來。個(gè)人覺得 HR 面里除了談薪酬的部分沒有什么可準(zhǔn)備的离例,想說什么直說就行换团。因?yàn)榈搅?HR 面至少證明你的技術(shù)沒什么問題,直說出來方便 HR 判斷兩邊的價(jià)值觀是否合拍宫蛆,假如真的不合拍艘包,那其實(shí)在 HR 這一面掛了比起進(jìn)去之后再后悔又跳槽要好很多的猛,畢竟大家都不喜歡頻繁跳槽的簡(jiǎn)歷。

小結(jié)

一些主觀評(píng)價(jià):

  • 面試難度:正常

  • 面試體驗(yàn):正常

  • 問題偏向:基礎(chǔ)知識(shí)想虎,開發(fā)常識(shí)卦尊,技術(shù)見解

螞蟻的面試風(fēng)格比較”高冷”,面試官給我的一致感受就是很強(qiáng)舌厨,臥虎藏龍岂却。面試內(nèi)容上在基礎(chǔ)知識(shí)部分相對(duì)考察得多一些,沒有偏門和獵奇的問題裙椭,基礎(chǔ)知識(shí)扎實(shí)的同學(xué)可以大膽投投看螞蟻躏哩。

image
image

頭條

面試前

頭條每次面試前會(huì)有 HR 約時(shí)間,并提前發(fā)一個(gè) zoom 地址過來揉燃,三場(chǎng)技術(shù)面與一場(chǎng) HR 面全都是視頻面試扫尺。不得不說視頻面試體驗(yàn)比電話面試好很多(尤其是對(duì)我這種很關(guān)注面試官反應(yīng)的),假如有 HR 同學(xué)看到這篇文章炊汤,推薦考慮一下用視頻面試取代電話面試正驻,效率會(huì)更高。頭條的三場(chǎng)技術(shù)面風(fēng)格都很類似:

  • 問項(xiàng)目抢腐,抓出一些你擅長的領(lǐng)域或場(chǎng)景

  • 問系統(tǒng)設(shè)計(jì)題拨拓,每題都會(huì)不斷深化需求讓你應(yīng)變和權(quán)衡

  • 問一道算法題(不難不偏),先看思路氓栈,再要求寫一下偽代碼看邊界條件能不能一次過

這個(gè)面試流程我自己也一直在用,尤其是系統(tǒng)設(shè)計(jì)加上不斷的需求變更婿着,能比較全面地考察后端的基本功和工程思維授瘦。因此頭條的面試套路很對(duì)我胃口,甚至好多類似的問題我自己也都問過候選人竟宋。

一面

  • 介紹一下自己, 為什么選擇出來看看機(jī)會(huì)

  • 聊項(xiàng)目, 警報(bào)怎么做的, 統(tǒng)一接入監(jiān)控項(xiàng)怎么做的

  • 聊項(xiàng)目, 配置中心項(xiàng)目, 問實(shí)時(shí)配置推送怎么做

  • 討論為什么選擇所有的組件依賴放在配置中心中控制

  • 我現(xiàn)在要做一個(gè)限流功能, 怎么做?令牌桶這個(gè)限流要做成分布式的, 怎么做?令牌桶維護(hù)到 Redis 里提完,每個(gè)實(shí)例起一個(gè)線程搶鎖,搶到鎖的負(fù)責(zé)定時(shí)放令牌

  • 怎么搶鎖?Redis setnx, 鎖怎么釋放?搶到鎖后設(shè)置過期時(shí)間丘侠,線程本身退出時(shí)主動(dòng)釋放鎖徒欣,假如線程卡住了,鎖過期那么其它線程可以繼續(xù)搶占,加了超時(shí)之后有沒有可能在沒有釋放的情況下, 被人搶走鎖,有可能蜗字,單次處理時(shí)間過長打肝,鎖泄露,怎么解決?

  • 換 zk,用心跳解決,不用 zk 的心跳, 可以怎么解決這個(gè)問題呢?

  • 每次更新過期時(shí)間時(shí)挪捕,Redis 用 MULTI 做 check-and-set 檢查更新時(shí)間是否被其他線程修改了粗梭,假如被修改了,說明鎖已經(jīng)被搶走级零,放棄這把鎖

  • 假如這個(gè)限流希望做成可配置的, 需要有一個(gè)后臺(tái)管理系統(tǒng)隨意對(duì)某個(gè) api 配置全局流量, 怎么做断医?

  • 在 Redis 里存儲(chǔ)每個(gè) API 的令牌桶 key,假如存在這個(gè) key,則需要按上述邏輯進(jìn)行限流

  • 某一個(gè)業(yè)務(wù)中現(xiàn)在需要生成全局唯一的遞增 ID, 并發(fā)量非常大, 怎么做

  • snowflake (這個(gè)其實(shí)答得不好鉴嗤,snowflake 無法實(shí)現(xiàn)全局遞增斩启,只能實(shí)現(xiàn)全局唯一,單機(jī)遞增醉锅,面試結(jié)束后就想到了類似 TDDL 那樣一次取一個(gè) ID 段兔簇,放在本地慢慢分配的策略)

  • 算法題, M*N 橫向縱向均遞增的矩陣找指定數(shù), 只想到 O(M+N)的解法 補(bǔ)充: 這幾天刷 leetcode 碰到這題了, 240. Search a 2D Matrix II. 辦法是從左下角或右下角開始查找.

  • 有什么想問我的?限流,分布式鎖荣挨,UUID 都屬于后端的經(jīng)典面試題男韧,這輪面試的參考價(jià)值挺大的。

二面

  • 平時(shí)用的工具鏈和技術(shù)棧是什么

  • golang 踩過坑嗎?答了之前 PingCAP 面試時(shí)面試官問的 for-range 里的 go-routine 閉包捕獲問題,這段 golang 代碼有沒有 bug(還是一個(gè) for-range 的坑), 有 bug默垄,for-range 的 value 引用拷貝問題

  • Java 中 HashMap 的存儲(chǔ), 沖突, 擴(kuò)容, 并發(fā)訪問分別是怎么解決的, Hash 表此虑,拉鏈法(長度大于8變形為紅黑樹),擴(kuò)容*2 rehash,并發(fā)訪問不安全, 拉鏈法中鏈表過長時(shí)變形為紅黑樹有什么優(yōu)缺點(diǎn)?優(yōu)點(diǎn):O(LogN) 的讀取速度更快口锭;缺點(diǎn):插入時(shí)有 Overhead朦前,O(LogN) 插入,旋轉(zhuǎn)維護(hù)平衡

  • HashMap 的并發(fā)不安全體現(xiàn)在哪?拉鏈法解決沖突鹃操,插入鏈表時(shí)不安全韭寸,并發(fā)操作可能導(dǎo)致另一個(gè)插入失效,

  • HashMap 在擴(kuò)容時(shí), 對(duì)讀寫操作有什么特殊處理?不知道

  • ConcurrentHashMap 是怎么做到并發(fā)安全的?

  • segment 分段鎖

  • Java 有哪些鎖機(jī)制, 分別有什么特點(diǎn)?

  • Synchronized荆隘、可重入鎖

  • 知道 CAS 嗎? Java 中 CAS 是怎么實(shí)現(xiàn)的?Compare and Swap恩伺,一種樂觀鎖的實(shí)現(xiàn),可以稱為”無鎖”(lock-free)椰拒,CAS 由于要保證原子性無法由 JVM 本身實(shí)現(xiàn)晶渠,需要調(diào)用對(duì)應(yīng) OS 的指令(這塊其實(shí)我不了解細(xì)節(jié))

  • MySQL 的存儲(chǔ)引擎用的是什么?(InnoDB)為什么選 InnoDB?幾乎所有公司用 MySQL 都用 InnoDB,降低踩坑成本燃观;聚簇索引褒脯,MVCC

  • MySQL 的聚簇索引和非聚簇索引有什么區(qū)別?

  • 聚簇索引的葉子節(jié)點(diǎn)是數(shù)據(jù)節(jié)點(diǎn)(比如定義了主鍵時(shí)的主鍵索引),非聚簇索引葉子節(jié)點(diǎn)是指向數(shù)據(jù)塊的指針

  • B+樹和二叉樹有什么區(qū)別和優(yōu)劣?B+樹是多叉樹缆毁,深度更小番川,B+樹可以對(duì)葉子節(jié)點(diǎn)進(jìn)行順序遍歷,B+樹能夠更好地利用磁盤扇區(qū)脊框;二叉樹:實(shí)現(xiàn)簡(jiǎn)單

  • 針對(duì)一個(gè)場(chǎng)景設(shè)計(jì)索引颁督,具體場(chǎng)景忘記了,反正考察的是聯(lián)合索引與列選擇性的知識(shí)

  • 現(xiàn)有一個(gè)新的查詢場(chǎng)景, 要怎么解決?假如要查 A in () AND B in (), 怎么建索引?

  • 只給選擇性高的一列建索引浇雹,這里因?yàn)閮蓚€(gè)都是范圍查詢所以另一個(gè)是走不到索引的(這里答的不好适篙,其實(shí)也可以建聯(lián)合索引然后用 (A,B) in ((1,2),(3,4)) 的方式去查)

  • 查 A in () AND B in () 時(shí), MySQL 是怎么利用索引的?

  • 先走一個(gè)非聚簇索引,查詢出行數(shù)據(jù)后再用另一列回表做篩選

  • 假如查詢 A in (), MySQL 是針對(duì) N 個(gè)值分別查一次索引, 還是有更好的操作?不知道箫爷,有了解的同學(xué)可以留言 (補(bǔ)充, @BillyLu 貼出了文檔 equality-range-optimization, 大意是對(duì)非唯一索引 MySQL 會(huì)使用 index dive 的方式估算這個(gè) range index 涉及的行數(shù), 結(jié)合where optimization 中說明的在走 index 時(shí)假如涉及行數(shù)過多會(huì)走 full table scan, 那么假如 estimation 認(rèn)為這次 IN 不夠好, 是會(huì)走全表掃描的. 不知道除此之外, 面試官還有沒有想考察的點(diǎn))

  • 用過 Redis 的哪幾種數(shù)據(jù)結(jié)構(gòu)? (都用過) ZSET 是怎么實(shí)現(xiàn)的?跳表

  • zrange start, stop, 總長度為 n, 復(fù)雜度是多少?O(logN) (答得不好嚷节,實(shí)際是 O(M+log(N)), M 是結(jié)果集基數(shù) stop-start)

  • Kafka 的消費(fèi)者如何做消息去重?

  • MySQL 去重聂儒、Redis 去重、假如場(chǎng)景量極大且允許誤判硫痰,布隆過濾器也可以

  • 介紹一下 Kafka 的 ConsumerGroup挺長的衩婚,略

  • Kubernetes 和 Docker 用得怎么樣? (我:在公司推行布道)給它們貢獻(xiàn)過代碼嗎?(我:沒有…)

  • 時(shí)序型數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)是怎么樣的?

  • 講了 prometheus 1.x 和 2.x 的存儲(chǔ)結(jié)構(gòu)

  • LSM 樹了解嗎? 是一種什么存儲(chǔ)結(jié)構(gòu)?

  • Log-Structured Merge Tree,犧牲讀性能換取性能效斑,RocksDB非春、HBase、Cassandra 都在用缓屠,結(jié)構(gòu)有點(diǎn)忘了奇昙,只說了先寫 memtable 再刷盤成 sstable

  • 在生產(chǎn)中用過 Cassandra 和 RocksDB 嗎? 量有多大?用過,Cassandra 存調(diào)用鏈敌完,RocksDB 做 flink 和 Kafka Stream 的本地狀態(tài)存儲(chǔ)

  • Cassandra 的墓碑機(jī)制是什么?不知道储耐,對(duì) Cassandra 停留在使用階段

二面問了好多中間件的基礎(chǔ)知識(shí),最后都沒有時(shí)間問算法了滨溉。面完之后心里就想:頭條的面試真是耿直啊什湘,Java 的 HashMap、鎖機(jī)制晦攒、CAS 到 MySQL 的索引闽撤,Redis 的 zset,再到 LSM 樹脯颜,全都是后端或中間件相關(guān)的熱門面試題哟旗。當(dāng)然這些問題熱門也是有原因的,即使候選人準(zhǔn)備過栋操,多扣一點(diǎn)細(xì)節(jié)也能很快就能看出來候選人是真的理解還是僅僅只是看了相關(guān)資料热幔。

三面

  • 聊項(xiàng)目和工作經(jīng)驗(yàn)

  • 用 Kubernetes 的過程中踩過哪些坑?

  • 考慮一個(gè)業(yè)務(wù)場(chǎng)景: 頭條的文章的評(píng)論量非常大, 比如說一篇熱門文章就有幾百萬的評(píng)論, 設(shè)計(jì)一個(gè)后端服務(wù), 實(shí)現(xiàn)評(píng)論的時(shí)序展示與分頁我: 需不需要支持頁碼直接跳轉(zhuǎn)?面試官: 支持和不支持兩種場(chǎng)景都考慮一下我: 不需要支持頁碼翻頁就傳評(píng)論 id 用 offset 翻頁

  • 假如用 id 翻頁的方式, 數(shù)據(jù)庫表如何設(shè)計(jì)? 索引如何設(shè)計(jì)?(文章id, 評(píng)論id) 建聯(lián)合索引,評(píng)論 id 需遞增,

  • 假如量很大, 你覺得需要分庫分表嗎? 怎么分?需要分讼庇,分表有個(gè)權(quán)衡,按文章 id 分表近尚,讀邏輯簡(jiǎn)單蠕啄,但寫有熱點(diǎn)問題;按評(píng)論 id 分表戈锻,讀邏輯復(fù)雜歼跟,但寫壓力就平均了。寫是要首先保證的格遭,而讀總是有緩存等方案來折中哈街,因此按評(píng)論 id 分表好。

  • 分庫分表后怎么查詢分頁?每張表查 N 條數(shù)據(jù)由 client 或 proxy merge

  • 分庫分表后怎么保證主鍵仍然是遞增的?講了 TDDL 的辦法:有一張專門用于分配主鍵的表拒迅,每次用樂觀鎖的方式嘗試去取一批主鍵過來分配骚秦,假如樂觀鎖失敗就重試

  • 現(xiàn)在需要支持深分頁, 頁碼直接跳轉(zhuǎn), 怎么實(shí)現(xiàn)?不能做精準(zhǔn)深分頁她倘,否則壓力太大,找產(chǎn)品進(jìn)行妥協(xié)作箍,在50或100頁后數(shù)據(jù)分頁是否可以不完全精確硬梁,假如可以,那么緩存深頁碼的起始評(píng)論 id

  • 瞬時(shí)寫入量很大可能會(huì)打掛存儲(chǔ), 怎么保護(hù)?斷路器

  • 斷路器內(nèi)部怎么實(shí)現(xiàn)的?可以用 ringbuffer

  • 斷路器會(huì)造成寫入失敗, 假如我們不允許寫入失敗呢?

  • 先寫進(jìn)消息隊(duì)列胞得,削峰填谷異步落庫

  • 算法題: N 場(chǎng)演唱會(huì), 以 [{startTime, endTime}…] 的形式給出, 計(jì)算出最多能聽?zhēng)讏?chǎng)演唱會(huì),先講了思路, 按 endTime 升序排列荧止,再順序取最多場(chǎng)次,(講完思路之后)屏幕共享給我, 用你最熟悉的語言把這個(gè)算法實(shí)現(xiàn),用 go 實(shí)現(xiàn)了一版

  • 你用了貪心法, 貪心可能會(huì)存在什么問題?局部最優(yōu),在這個(gè)問題里阶剑,只能找到一個(gè)可能解跃巡,無法找到所有排列方式

我覺得三面這個(gè)架構(gòu)設(shè)計(jì)問得還不錯(cuò),一個(gè)問題把后端的工程能力考的很全面了牧愁。

HR 面

大同小異素邪,問經(jīng)歷,問離職原因递宅,問職業(yè)規(guī)劃娘香,問待遇,問期望办龄。

小結(jié)

  • 面試難度:正常

  • 面試體驗(yàn):挺好

  • 問題偏向:架構(gòu)設(shè)計(jì)烘绽,算法

頭條面試流程很專業(yè):每輪都會(huì)提前約好時(shí)間,面試時(shí)長都在40~50分鐘俐填,按時(shí)開始面安接,每輪之后發(fā)反饋短信邀請(qǐng)候選人評(píng)價(jià)面試,精準(zhǔn)地過兩天再約下一輪英融。整個(gè)像一臺(tái)精密運(yùn)作的機(jī)器盏檐。頭條的面試我個(gè)人挺欣賞的,考察得比較全面驶悟,面試官會(huì)抓住你沒有說清楚的地方來深入或者變換場(chǎng)景讓你應(yīng)變胡野,大家可以試試看去面一下,即使不打算去也可以作為一次免費(fèi)的能力評(píng)定痕鳍。再說說面試官硫豆,每位面試官都聽得出來是在一線寫代碼的,而且很認(rèn)真地在聽我說話(這當(dāng)中有視頻的功勞笼呆,我可以看到面試官在認(rèn)真聽)熊响,感覺工作中也都會(huì)是好相處好合作的類型∈模總結(jié)回頭看面試的過程汗茄,有好多不盡如人意的地方,不過最后能夠拿到三家的 offer 還是很幸運(yùn)铭若。最后再做一些補(bǔ)充性的小結(jié):一些經(jīng)驗(yàn)

  • 簡(jiǎn)歷里寫了的項(xiàng)目洪碳,以及熟練程度在”掌握”以上的領(lǐng)域與中間件要好好準(zhǔn)備递览,當(dāng)面試官問你一個(gè)偏門的問題時(shí),他內(nèi)心其實(shí)也沒希望你能答上來偶宫。而當(dāng)面試官問你簡(jiǎn)歷上涉及的問題時(shí)非迹,假如你答不上來,那面試官就覺得這個(gè)人要么是眼界太低纯趋,會(huì)了一點(diǎn)就覺得自己掌握了憎兽,要么是簡(jiǎn)歷造假在胡吹,這兩種都非常不利吵冒;

  • 在上一條的基礎(chǔ)上纯命,可以準(zhǔn)備一個(gè)最得意的項(xiàng)目,在簡(jiǎn)歷上和面試過程中引導(dǎo)面試官往這塊聊痹栖;

  • 面試前心里可以準(zhǔn)備一個(gè)方法論:明確面試官想招怎樣的人有哪些特質(zhì)亿汞,在面試過程中努力表現(xiàn)出這些特質(zhì)。這聽起來是句正確的廢話揪阿,但面試的過程不可控因素太多疗我,有一個(gè)清晰的目標(biāo)在腦子里能幫你在手足無措時(shí)想到說什么。舉個(gè)例子南捂,有一輪中面試官問我有什么問題時(shí)吴裤,我就問貴司的對(duì)應(yīng)崗位會(huì)面臨哪些技術(shù)挑戰(zhàn)(當(dāng)然要先說清楚這不是在質(zhì)疑他們沒有挑戰(zhàn),只是自己渴望挑戰(zhàn))溺健;

一些各領(lǐng)域的資料與心得

倉庫大部分內(nèi)容來自我近幾年的收集和整理麦牺,整體文章思路也是圍繞著【面試備戰(zhàn)計(jì)劃】來進(jìn)行整理的,主體內(nèi)容包含:職業(yè)規(guī)劃篇鞭缭,跳槽篇剖膳,實(shí)操篇,一線大廠面試題篇岭辣,以及高頻面試必備綜合篇等知識(shí)內(nèi)容吱晒。>關(guān)注公眾號(hào):“程序員白楠楠”免費(fèi)獲取沦童!

一線大廠面試題篇(350+題)

image
image
image
image

JVM面試題匯總(100+題)

image
image

Mysql面試題匯總(一)

image
image

Java高頻核心面試題庫(1000+題)

image
image

資料獲取方式

關(guān)注公眾號(hào):“程序員白楠楠”免費(fèi)獲嚷乇簟!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搞动,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子渣刷,更是在濱河造成了極大的恐慌鹦肿,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辅柴,死亡現(xiàn)場(chǎng)離奇詭異箩溃,居然都是意外死亡瞭吃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門涣旨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來歪架,“玉大人,你說我怎么就攤上這事霹陡『万剑” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵烹棉,是天一觀的道長攒霹。 經(jīng)常有香客問我,道長浆洗,這世上最難降的妖魔是什么催束? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮伏社,結(jié)果婚禮上抠刺,老公的妹妹穿的比我還像新娘。我一直安慰自己摘昌,他們只是感情好速妖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著第焰,像睡著了一般买优。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挺举,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天杀赢,我揣著相機(jī)與錄音丐吓,去河邊找鬼蚜退。 笑死帮寻,一個(gè)胖子當(dāng)著我的面吹牛逛拱,可吹牛的內(nèi)容都是我干的月幌。 我是一名探鬼主播芹壕,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼淆两,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼师崎!你這毒婦竟也來了铺敌?” 一聲冷哼從身側(cè)響起汇歹,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎偿凭,沒想到半個(gè)月后产弹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弯囊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年痰哨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胶果。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斤斧,死狀恐怖早抠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撬讽,我是刑警寧澤蕊连,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站锐秦,受9級(jí)特大地震影響咪奖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜酱床,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一羊赵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧扇谣,春花似錦昧捷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鸯绿,卻和暖如春跋破,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓶蝴。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工毒返, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人舷手。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓拧簸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親男窟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盆赤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355