閱讀量: 106
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcugDMhNmNhFWNldDMhVWOlJjYlFTNzQTZ2M2YmR2MhJjNvwVN0UjMxUDNtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
一面(約1h)
- 在面對未知的流量暴增,可以預先怎麼處理
- 如何限流,限流算法,對于ddos攻擊怎麼處理
- PHP數組的底層實作
- 分布式事務
- RPC相對于傳統的API調用的優點
- 服務排程中心的感覺與動态上下線
- MySQL的索引,為什麼是B+而不是平衡二叉樹
- 索引查找在Linux的磁盤上是怎麼操作的
- 聚簇索引相對于B+索引的優點
- 如何分析SQL執行慢的原因
- Redis連接配接時的connect與pconnect的差別
- Redis有哪些結構時間複雜度較高
- Redis hash的實作
- 算法題: 在1個10G大小的檔案中,存儲的都是int型的資料,如何在記憶體使用小于8M的情況下進行排序
- 設計題: 以微網誌為例,有1個億的使用者,同時使用者之間有關注和粉絲,使用者的關注和取關操作比較頻繁,如何設計架構和API接口 二面(約1.5h) 二面主要以自己的項目為切入點,進一步考察你對項目中知識點的把握程度,我這裡是以一個 自己撸的小項目 程序管理工具為項目背景
- 守護程序是什麼,怎麼實作
- PHP是否适合做守護程序,為什麼(記憶體管理這一塊)
- PHP的垃圾回收機制
- 程序間通信方式
- 共享記憶體是怎麼實作的
- 怎麼檢視Linux伺服器的負載,及判斷哪些操作引起的負載過高
- MySQL的IO過高怎麼優化,分庫分表及分區
- MySQL的索引結構,myisam的索引結構, innodb的索引結構,innodb為什麼必須要有主鍵索引
- 添加索引,為什麼可以減少io操作(磁盤頁)
- nginx的負載均衡算法
- 算法題: 忘了
-
算法題:查找一個字元串中最長的無重複字串
上面是我基本還記得的一些題目,考察的力度相對比較深,是以,請選擇一個自己比較熟悉的項目,因為面試官是會剖析到底層的
三面(約0.6h)
三面與二面的内容差不多,沒有更深的問題,但是,需要注重細節,同時三面面試官有時間會放煙霧彈,堅定自己的立場就好
面試題: 在一個橫向和縱向都是遞增的有界二維坐标軸中,如何快速判斷某個數是否存在于這個二維坐标中
面試題:設計一個定時任務管理器(從我同僚那打聽到的,我隻有上面一個算法題)
Hr面(約0.5h)
hr小姐姐:你有什麼心儀的公司嗎
我:大廠,類似于BAT這種
hr小姐姐:為什麼呢?
我:我感覺 阿裡的架構不錯,微網誌鳥哥待過,技術架構肯定吊吊的。。。
hr小姐姐:你跟我在北京面的其他候選人都不太一樣啊,他們都不屑于去這些公司,感覺想進就進,他們比較傾向于滴滴,頭條這些年輕,發展比較快速的公司
我:卒。。。(畢竟我畢業才一年半啊-_-,校招還因為自己不在意,完美錯過了所有大廠的招聘)
總結
頭條面試,算法是必考項,但是面試官都是讓我給出思路,也沒寫多少行代碼
涉獵範圍一般,基本就是Redis MySQL ,Nginx比較少,可能配置簡單吧
深度較深,很少人會去關注PHP的垃圾回收,何為垃圾,線程安全,array的HashTable實作這些内容, Redis Hash表等