頭條面經-PHP/Golang

一面(約1h)

  1. 在面對未知的流量暴增,可以預先怎麼處理
  2. 如何限流,限流算法,對於ddos攻擊怎麼處理
  3. PHP數組的底層實現
  4. 分佈式事務
  5. RPC相對於傳統的API調用的優點
  6. 服務調度中心的感知與動態上下線
  7. MySQL的索引,爲什麼是B+而不是平衡二叉樹
  8. 索引查找在Linux的磁盤上是怎麼操作的
  9. 聚簇索引相對於B+索引的優點
  10. 如何分析SQL執行慢的原因
  11. Redis連接時的connect與pconnect的區別
  12. Redis有哪些結構時間複雜度較高
  13. Redis hash的實現
  14. 算法題: 在1個10G大小的文件中,存儲的都是int型的數據,如何在內存使用小於8M的情況下進行排序
  15. 設計題: 以微博爲例,有1個億的用戶,同時用戶之間有關注和粉絲,用戶的關注和取關操作比較頻繁,如何設計架構和API接口

二面(約1.5h)

二面主要以自己的項目爲切入點,進一步考察你對項目中知識點的把握程度,我這裏是以一個 自己擼的小項目 進程管理工具 爲項目背景

  1. 守護進程是什麼,怎麼實現
  2. PHP是否適合做守護進程,爲什麼(內存管理這一塊)
  3. PHP的垃圾回收機制
  4. 進程間通信方式
  5. 共享內存是怎麼實現的
  6. 怎麼查看Linux服務器的負載,及判斷哪些操作引起的負載過高
  7. MySQL的IO過高怎麼優化,分庫分表及分區
  8. MySQL的索引結構,myisam的索引結構, innodb的索引結構,innodb爲什麼必須要有主鍵索引
  9. 添加索引,爲什麼可以減少io操作(磁盤頁)
  10. nginx的負載均衡算法
  11. 算法題: 忘了
  12. 算法題:查找一個字符串中最長的無重複字串

上面是我基本還記得的一些題目,考察的力度相對比較深,所以,請選擇一個自己比較熟悉的項目,因爲面試官是會剖析到底層的

三面(約0.6h)

三面與二面的內容差不多,沒有更深的問題,但是,需要注重細節,同時三面面試官有時間會放煙霧彈,堅定自己的立場就好

  1. 面試題: 在一個橫向和縱向都是遞增的有界二維座標軸中,如何快速判斷某個數是否存在於這個二維座標中
  2. 面試題:設計一個定時任務管理器(從我同事那打聽到的,我只有上面一個算法題)

Hr面(約0.5h)

hr小姐姐:你有什麼心儀的公司嗎

我: 大廠,類似於BAT這種

hr小姐姐:爲什麼呢?

我: 我感覺 阿里的架構不錯,微博鳥哥待過,技術架構肯定吊吊的。。。

hr小姐姐:你跟我在北京面的其他候選人都不太一樣啊,他們都不屑於去這些公司,感覺想進就進,他們比較傾向於滴滴,頭條這些年輕,發展比較快速的公司

我:卒。。。(畢竟我畢業才一年半啊-_-,校招還因爲自己不在意,完美錯過了所有大廠的招聘)

總結

頭條面試,算法是必考項,但是面試官都是讓我給出思路,也沒寫多少行代碼

涉獵範圍一般,基本就是Redis MySQL ,Nginx比較少,可能配置簡單吧

深度較深,很少人會去關注PHP的垃圾回收,何爲垃圾,線程安全,array的HashTable實現這些內容, Redis Hash表等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章