不要給本身挖坑!!!不要給本身挖坑!!!不要給本身挖坑!!!若是面試官只是問你瞭解xxx嗎,若是不是很瞭解,就直接說不知道,不要說知道,否則面試官深問再不知道就印象很很差!html
處女面送給了頭條(北京)平常實習(一面掛,視頻面,持續時間一個小時,2018.3.28):前端
1 int a = 10; 2 public int fun() { 3 static int b = 10; 4 int k = 1; 5 }
2)操做系統LRU的計算題。java
3)TCP和UDP的區別。mysql
4)網絡子網的計算,即有多少個子網,每一個子網多少個主機。linux
5)16進製表示的兩個有符號數相加,0x7FFF FFFF FFFF FFFE + 0x1000 0000 0000 0000,結果是-2。c++
6)堆排序的時間複雜度是o(nlgn),建堆的時間複雜度是o(n),調整堆的時間複雜度是o(lgn)。面試
7)排列組合問題,20分鐘內一輛車通過的機率是75%,則10分鐘內一輛車通過的機率是多少。redis
設10分鐘內一輛車通過的機率是p,則有(1-p)(1-p)+0.75=1,解得p=0.5。算法
8)彙編高低位怎麼放置的問題。spring
算法題:
1.尋找數組中的峯值(比左右兩個值大)。直觀解法是o(n),遍歷一遍找到就返回;優化解法是o(lgn),二分查找,一旦找到就返回,不然左右誰大往哪邊找。
2.leetcode42題。
設計題:
設計微博時間線系統,關注的人發微博後怎麼實時更新到粉絲首頁,儘可能少的延時,下滑時翻頁是怎麼作到的。要求,模塊設計,模塊之間的協調通訊。
解決:仿照微信(寫擴散)。寫擴散的應用:粉絲和發微博不是不少的狀況。每次關注的人發微博的時候要向粉絲寫入數據。因此當數據量太大的時候有可能承載不了,可是微信朋友圈是能夠的。讀擴散的應用?
考察:設計題沒有標準答案,要注意針對不一樣的實際業務量有不一樣的分析和解決方案。
一面(五十分鐘)
1.針對筆試題,一一追問解決辦法。
2.TCP和UDP的區別:TCP可靠、具備擁塞控制,可是有延時、消耗資源;UDP不可靠,適用於視頻通話等。
3.畫出項目的總體框架圖,是架構式的,系統瓶頸在哪裏(圖片服務無法更新、tomcat沒作異步)。
二面(一個小時,TCP和UDP的問題問的很深刻,起碼問了有半個小時)
1.域名解析過程,IP由DNS服務器解析出來,DNS用UDP協議,HTTP的PORT默認是80,用到了TCP創建三次握手鍊接,數據鏈路層查找MAC地址用的ARP協議(但這個協議實際是網絡層的)。
1.TCP和UDP深刻追問,TCP是針對字節流的,UDP是針對報文的,他們的本質區別是什麼?即字節流和報文在發送和接收數據方面有什麼不同的地方?TCP因爲有窗口大小的限制,因此發送端發送過來的數據若是過大,不能一次性所有接收,而應該循環接收,直至所有接收;而UDP則沒有這種限制,發送端發多少,接收端就能夠收多少。
2.Socket編程中,發送端send兩次10B的數據,接收端receive一次數據,能夠接收的數據範圍是多少?1B~20B。
3.MySQL索引有哪些?左前綴索引是什麼樣的概念?在什麼樣的狀況下索引會失效?
4.MySQL的引擎有哪些?有什麼區別?
5.redis的數據類型有哪些?各適用於什麼場景?
6.Java裏面的map都有哪些子集合?各有什麼區別?HashMap(容許null值,非線程安全,時間複雜度是o(1)),HashTable(不容許null值,線程安全),TreeMap(有序,時間複雜度是o(lgn))。。。
8.HashMap的key是自定義的類時,爲了保證key的惟一性,應該重寫該類的hashCode和equals。
7.加密存儲是用什麼加密的?MD5是不可逆加密,可不能夠用密鑰加密?爲何不採用密鑰加密,這種可逆加密與不可逆加密有什麼區別,各有什麼好處?
8.本身挖坑了。。。加密算法瞭解一些嗎?對稱加密和非對稱加密。。。
9.單點登陸系統的實現思路。單點登陸主要解決什麼樣的問題?cookie不能跨域問題。你的系統中解決了什麼樣的跨域問題?www.mall.com和www.baidu.com這種跨域問題怎麼解決?
10.寫sql語句,uid,date,count分別表示學號,進圖書館的日期,進圖書館的次數,查出每一個學生四月份進圖書館的總次數。select uid,sum(count) from t where 4月份 group by uid。
11.Java中的堆區和棧區有什麼區別?
字節跳動(武漢)秋招(一面技術,電話面,一戰和二戰面頭條都特別想進去,第三次的時候已經不太想進去了)
一面(2018.9.12)
1.手寫棧,要求是:可適用於全部場景。
2.http有什麼優勢和缺點。
3.301和302狀態碼有什麼區別。
4.積分兌換商品實際的sql操做是什麼樣的?說出關鍵的點。
數據不一致如何預防和處理。
5.取棧中的最大值,要求時間複雜度是o(1)。
6.怎麼理解面向對象?多態是怎麼實現的?private方法子類可不能夠訪問到?
18年三戰頭條的一些感覺:
不知不覺本身居然已經經歷了四次頭條的技術面,每次感受其實都很好,每一個面試官不管從態度仍是技術上都是質量很高的。態度上的話,即便你問題回答不上來,他也不會對你表現出來瞧不起的態度,也不會所以不想再繼續面你,而是換一個方向的問題繼續問,也就是在某一個點上你不會以後,他會找其餘的點來發現你的潛力,也就是說其實面試官在不斷的找你可能擅長的點,對你產生一些興趣,並且無論水平怎麼樣,時間通常都會控制在一個小時左右。技術上的話,每一個面試官無論技術深度仍是技術廣度感受都挺過關的,每個他發問的點,都能問的比較細,有的人說是問的偏,其實我倒以爲不至於,只是他們所站的角度不同,因此也許一樣的問題,他們想知道的咱們的掌握的點不同。因此雖然最後無論怎麼樣本身可能都去不了也不會選擇頭條,可是頭條的總體面試體驗仍是很是好的,並且也能看出來頭條的總體的技術水平。其實當你跟一個公司的多個面試官聊過以後,你真的能感覺出來這個公司的總體的技術功底的,由於有的面試官問出來的問題真的很淺甚至有的標準答案連他本身都不知道,其實你是能感受出來的。因此崇尚高工資,不介意加班的話,其實頭條目前來講仍是很值得去的,畢竟也還處於快速發展期。
一面(2018.4.13)
1.技術方面介紹一下項目。
2.用到了redis的哪些數據結構。
2.集羣是什麼,怎麼發展成集羣的形式?
3.ngnix的conf怎麼配置成集羣?
4.散列表解決衝突的方式有幾種?各有什麼優劣,哪一種最好?
5.介紹一下kmp算法。
二面(2018.4.17)
1.每一個組成的做用和所處的角色,包括JDK,JRE和JVM的區別。
2.在什麼場景下會用到哪些集合類?
答案:HashMap,ArrayList,HashSet等。
3.每一個集合類的特性。
答案:hashmap能夠存session,hashset不容許重複值,arraylist獲取列表。hashset數據是否有序。基於set的有序存儲應該用什麼實現,treeset。
4.重寫和重載的區別以及何時使用。子類怎麼調用父類的方法。
5.線程和進程之間的區別以及各自的優缺點以及各自的使用場景。
6.線程的狀態及轉換關係。
7.快排和冒泡的流程。
8.JVM的GC、分代回收等。
9.堆和棧存儲的是什麼?基本數據類型和字符串存在哪裏?方法定義存在哪裏?
答案:堆:對象。棧:引用。
10.http請求的流程。
答案:查找本地緩存ip->DNS解析等。
11.
京東內推簡歷石沉大海了,校招放棄了面試。
阿里內推sdn開發實習(一面掛,每次接到電話都是晚上,2018.4.23)