職位類型:安全工程師
面試地點:北京
招聘公司:北京小米科技有限責任公司
我是一名工程師,已經工作了3年,也算是個有點工作經驗的人士了。小米公司也差不多是這3年里起來的,還記得小米第一款手機我就買了,當時覺得特別值,價格便宜,功能強大。隨后小米在國產手機行業里也占領了一個不可動搖的位置。
我有幸來到了小米公司面試,這次面試給我的感覺很深刻,讓我知道了我為什么喜歡小米的產品,下面就看看面試的經歷吧。
小米公司招聘安全工程師的面試筆試經歷
面試采用電話面試的形式,主要針對簡歷上的內容發問,耗時1h20min左右。根據問題推斷,應該是要對我做一個比較全面地初步了解。下面是我還記得的幾個面試題:
1.做個自我介紹
2.當初為什么選擇信息安全這個專業?你覺得研究生階段收獲了什么?你覺得讀研是否有價值
3.說說BASE64編碼的過程
4.熟不熟悉Linux系統,Linux命令用的多么?會不會使用awk,比如說我要讀取一個文件的第二行信息,應該怎么做?
5.幾個項目經歷的一些說明
a)項目是做什么的?應用環境?
b)系統的處理能力以及性能瓶頸
c)自己解決的問題,改進的地方
總結一下小米面試官主要看的幾點:
1.熟悉Linux操作系統,計算機網絡等,基礎知識扎實
2.精通Linux系統下C語言以及Python、php、Shell等腳本語言開發
3.進攻web安全技術,熟悉OWASPTOP10漏洞,并了解漏洞原因以及解決方案
4.熟悉滲透測試流程,并有較強滲透測試和漏洞挖掘能力
5.了解移動平臺漏洞挖掘技術,以及解決方案
6.學習能力強,肯鉆研,認真踏實
7.有良好的時間觀念,能很好的溝通交流,樂于分享
8.具有正確的價值觀,良好的職業道德,充分認識到信息安全工作的社會責任
小米研發類(貌似僅軟件)的筆試分A、B兩套試題,其中A卷供應聘非運維類崗位的童鞋使用,B卷供應聘運維類崗位【職位列表條目中用運維部標注】的童鞋使用。而我應聘的安全工程師屬于運維部,使用的是B卷。A卷我大概瞟了一眼,全是程序設計的大題,而B卷則以問答題為主。
B卷的范圍主要涉及:Linux應用基礎、計算機網絡、網絡安全(主要是Web滲透方面)、編程開發、數據庫原理與應用。下面例舉了一些我當時記下來的題目:
1.設計一個shell腳本xm.sh,在/tmp/test下創建50個目錄,即user1至user50,并設置每個目錄權限,其中其他用戶權限為“讀”,文件所有者權限為“讀寫執行”,文件所有者組的權限為“讀執行”。
2.Linux系統中執行uptime后會有以下輸出:
10:54:44up158days,20:11,3users,loadaverage:0.62,0.41,0.31
其中loadaverage的三個值分別代表什么含義?造成load值很高有哪些常見的原因?
3.線上運行的程序/usr/sbin/nginx,有可能因為某個特殊請求或BUG導致服務異常退出,但可以通過重新開啟繼續服務。設計一種方式,能夠監管程序異常,并在異常退出時自動開啟。
4.Linux系統掉電有可能造成數據損失,原因是什么?有哪些方面可以降低或避免這種問題?
5.有用戶反饋無法訪問http://www.xiaomi.com,請簡述排查過程和可能的原因。
6.ARP協議的用途是什么?簡述其工作過程
7.簡述你所了解的網站負載均衡方式。
8.Linux下常用的文件系統格式有哪些?其特性是什么。
9.如在PHP源碼中有如下語句,有什么安全風險?并寫出其利用原理
10.你所了解或者使用過的滲透測試工具都有哪些?分別闡述其工作原理,以及對比各自的優缺點。
11.簡述線程和進程的關系,對比httpserver的多線程實現和多進程實現的優缺點
12.請簡述鏈表與數組的區別:編寫一個程序,merge兩個升序數組,用你熟悉的語言實現,如果是C語言的話,方法簽名如下:int[]merge_array(int[]a,int[]b)
13.前端web開發
a)CSS:列出display的值,說明他們的作用?
b)JavaScript:請列出js中的基本數據類型。
c)JavaScript:通過js來隱藏一個DOM元素,比如ele為被操作的DOM元素。
14.數據庫理論
a)說說你對索引的理解(包括索引的結構、對dml影響、對查詢影響)。一個表的索引是否越多越好?
b)什么是事務?有什么特性?
c)什么是巴斯-科德范式(BCNF)?
15.SQL語法
有如下三個表:
學生(學號,姓名,性別,年齡,系號)
課程(課號,課名,學時)
選課(學號,課號,成績)
a)查詢有不及格科目的學生姓名(60分及格)
b)查詢各科成績的最高分,顯示課號和最高分
c)查詢選課人數不足30的課程名稱
就拿筆試來說,小米的考試范圍比較廣泛,可能跟他們的企業文化或商業戰略有關系吧,需要一些符合他們想法的人群。再有就是對細節和深度比較重視,能在小米公司里工作確實學到了很多。