好獵頭網-中高級人才獵頭網站!服務熱線:400-1801-668 好獵頭   |   登錄 注冊

      小米公司安全工程師崗位面試經歷

      添加時間:2017-11-27 00:00:00
      瀏覽次數: 0

      職位類型:安全工程師
      面試地點:北京
      招聘公司:北京小米科技有限責任公司

      我是一名工程師,已經工作了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的課程名稱

      就拿筆試來說,小米的考試范圍比較廣泛,可能跟他們的企業文化或商業戰略有關系吧,需要一些符合他們想法的人群。再有就是對細節和深度比較重視,能在小米公司里工作確實學到了很多。