兩年銀行經(jīng)驗(yàn)的阿里、頭條社招面經(jīng)分享(已拿offer)
點(diǎn)擊上方“JAVA”,星標(biāo)公眾號(hào)


lz是非科班自學(xué)的java,畢業(yè)后進(jìn)入卡中心,現(xiàn)在是2年開(kāi)發(fā)經(jīng)驗(yàn)。20年年初先后面了頭條、拼多多和阿里(淘寶和支付寶),并成功拿到阿里和頭條兩家的offer。
面試前我主要是在??途W(wǎng)看大家的面經(jīng)進(jìn)行查漏補(bǔ)缺,所以面試完后也想記錄下來(lái),權(quán)當(dāng)給大家提供點(diǎn)信息吧。(面試過(guò)了一周了,記憶也有點(diǎn)混亂,爭(zhēng)取想到多少就記下來(lái)多少??)。
順便提一下面試體驗(yàn):頭條 > 阿里 > pdd
拼多多最垃圾的面試體驗(yàn),沒(méi)有之一。我約的視頻面,結(jié)果面試官說(shuō)有事給我打電話面,然后給我一個(gè)文檔,是一個(gè)算法。我在寫(xiě)算法的時(shí)候沒(méi)察覺(jué)到電話信號(hào)不好斷掉了。然后我回?fù)苓^(guò)去,面試官來(lái)了一句:你不要故意掛斷電話去查答案。我%@#¥@#%@5,保持微笑解釋信號(hào)不好。后來(lái)為了信號(hào)好一點(diǎn)我去陽(yáng)臺(tái)面試,凍的瑟瑟發(fā)抖,這個(gè)時(shí)候心態(tài)已經(jīng)炸了,又冷又緊張,算法題有思路但是一直被這個(gè)人否定,最后掛了。
頭條
最開(kāi)始面的頭條游戲中臺(tái),當(dāng)時(shí)是第一次面試,沒(méi)有經(jīng)驗(yàn),導(dǎo)致算法題雖然有思路,但是沒(méi)有寫(xiě)出最優(yōu)解,直接掛了。后來(lái)又被撈起來(lái),因?yàn)榇藭r(shí)已有阿里的offer,所以膽子也大起來(lái)了,收拾心情開(kāi)始面頭條。
頭條的面試特點(diǎn)基本就是一個(gè)套路:【自我介紹】->【項(xiàng)目介紹】->【手撕算法】->【基礎(chǔ)知識(shí)】,屢試不爽。
自我介紹:我是xxx,來(lái)自xxx,畢業(yè)后在xxx幾年,期間負(fù)責(zé)xxx。 項(xiàng)目介紹:xxxxx。項(xiàng)目的時(shí)候面試官會(huì)問(wèn)你難點(diǎn)和解決方案,同時(shí)會(huì)給你提出場(chǎng)景,問(wèn)你更優(yōu)化的思路。 手撕算法:多刷題,也可以看看別人面過(guò)的算法題,可能會(huì)重復(fù)。 基礎(chǔ)知識(shí):針對(duì)簡(jiǎn)歷寫(xiě)的東西問(wèn),我被問(wèn)的較多的是一些中間價(jià),Redis、MySQL、Kafka、ElasticSearch,Java基本沒(méi)問(wèn),因?yàn)轭^條這邊使用Go。
一面
Two Sum 給定m個(gè)不重復(fù)的字符 [a, b, c, d],以及一個(gè)長(zhǎng)度為n的字符串tbcacbdata,問(wèn)能否在這個(gè)字符串中找到一個(gè)長(zhǎng)度為m的連續(xù)子串,使得這個(gè)子串剛好由上面m個(gè)字符組成,順序無(wú)所謂,返回任意滿足條件的一個(gè)子串的起始位置,未找到返回-1。比如上面這個(gè)例子,acbd,3。給定m個(gè)可能重復(fù)的字符[a, b, d, d]呢? 提供一個(gè)整型數(shù)組以及一個(gè)整數(shù)s,如果該數(shù)組中存在n個(gè)連續(xù)元素,且元素相加之和大于等于s,則返回滿足該條件的連續(xù)元素的最小長(zhǎng)度;否則返回0 MySQL集群。假如集群出現(xiàn)延遲怎么處理。 Redis的zset實(shí)現(xiàn)延時(shí)任務(wù) 設(shè)計(jì)題:如何設(shè)計(jì)tiny url 為什么要四次揮手 HTTPS
二面
自我介紹 項(xiàng)目介紹 K Group反轉(zhuǎn)鏈表。寫(xiě)了棧和迭代兩種實(shí)現(xiàn)方式,鏈表的題寫(xiě)起來(lái)真痛苦,很容易邊界出錯(cuò)。 Redis的持久化機(jī)制 MySQL的隔離級(jí)別 MySQL索引,聚簇索引和二級(jí)索引 Redis高可用方案 介紹一些Kafka的一些概念 Kafka如何保證消息有序
...忘了
三面
自我介紹 項(xiàng)目介紹 第K大的數(shù) 設(shè)計(jì)題:秒殺系統(tǒng) MySql的索引優(yōu)化 HTTPS
...忘了
hr面
為啥離職,怎么想的 介紹項(xiàng)目 怎么和團(tuán)隊(duì)的人溝通,和成員出現(xiàn)沖突時(shí)怎么解決。 期望薪資,你現(xiàn)在的薪資
阿里
阿里的面試特點(diǎn):【自我介紹】->【項(xiàng)目介紹】->【場(chǎng)景解決】->【基礎(chǔ)知識(shí)】,阿里面試除了基礎(chǔ)以外,也很看重候選人的解決問(wèn)題的思維。還是需要候選人有點(diǎn)積累的,假如你寫(xiě)的項(xiàng)目不是自己的,很容易就被問(wèn)出來(lái)。
一面
自我介紹 項(xiàng)目難度介紹 如何實(shí)現(xiàn)延時(shí)任務(wù) 如何實(shí)現(xiàn)限流 線程池的參數(shù) 能不能自己實(shí)現(xiàn)一個(gè)java.lang.String并加載 Redis為什么這么快 epoll和poll的區(qū)別 進(jìn)程同步的方式
二面
MySQL的索引機(jī)制 如何自己實(shí)現(xiàn)內(nèi)存分配和管理?不太懂,然后說(shuō)了jvm的垃圾回收機(jī)制 你們公司內(nèi)部的RPC框架,介紹一下 Redis的key過(guò)期策略 緩存穿透和緩存雪崩 分布式鎖 如何實(shí)現(xiàn)全局的id生成策略 悲觀鎖和樂(lè)觀鎖 紅黑樹(shù)了解么
三面
如何實(shí)現(xiàn)群消息已讀 消息推送如何保證不重復(fù) Kafka如何保證消息的可靠性 RPC是什么,和http調(diào)用有什么區(qū)別 說(shuō)一說(shuō)你項(xiàng)目的架構(gòu) GC MySQL的索引原理,給了一個(gè)場(chǎng)景,如何優(yōu)化
...忘了
筆試
producer-consumer 兩線程交替打印 多線程模擬100分錢(qián)隨機(jī)分給20個(gè)人,每個(gè)人最少分配到2分錢(qián)
四面
寫(xiě)個(gè)producer-consumer吧,我說(shuō)上次寫(xiě)過(guò)了。。傻了。。不該說(shuō)的,然后面試官換了一道題,還好比較簡(jiǎn)單,寫(xiě)個(gè)二分查找,2分鐘寫(xiě)完完事。 項(xiàng)目難點(diǎn) MVCC HTTPS ElasticSearch的查詢過(guò)程 Kafka如何保證高可用 Reids的集群和選主 知道什么分布式一致性算法 如何實(shí)現(xiàn)定時(shí)關(guān)單
...忘了
HR面
說(shuō)說(shuō)看,假如你是部門(mén)技術(shù)經(jīng)理,線上商戶數(shù)據(jù)丟失怎么辦 怎么將一個(gè)產(chǎn)品推薦給其他的團(tuán)隊(duì),怎么界定邊界 怎么樣協(xié)調(diào)關(guān)系
(我才2年啊喂,到這里我已經(jīng)快冒汗了,生怕最后一關(guān)斃掉了)你和同事相處的情況怎么樣,說(shuō)說(shuō)你幫助同事的一次經(jīng)歷 薪資
支付寶的面試經(jīng)驗(yàn)其實(shí)也大同小異,我就不貼了。
更多精彩?
在公眾號(hào)【程序員編程】對(duì)話框輸入以下關(guān)鍵詞 查看更多優(yōu)質(zhì)內(nèi)容! 大數(shù)據(jù)?|?Java?|?1024?|?電子書(shū)?|?速查表? Python進(jìn)階?|?面試?|?手冊(cè)?|?成神?|?思想?|?小程序 命令行?|?人工智能?|?軟件測(cè)試?|?Web前端?|?Python 獲取更多學(xué)習(xí)資料
視頻 |?面試 |?技術(shù) | 電子書(shū)?
