面試總結及複習內容

京東

1 ngnix如何平滑啓動

2 linux awk的begin  end作用

3 分佈式中限流策略

4 10億條數據的數據表,如何設計存儲,能儘快找出自己想要的數據

5 Token令牌加密登錄的原理

6. 一個mapreduce要訪問一個文件,需要進行多少個map

7  linux 內存管理方式LRU算法以及用java實現

8  Maven包衝突的解決辦法

美團

進程與線程的區別

Linux管理內存常用的算法

Jvm內存結構以及常用的垃圾回收算法,對象的分配

手寫樹的前序遍歷與層序遍歷

TCP的三次握手以及四次揮手,每次攜帶的報文信息

紅黑樹如何保證平衡的

手寫快排

網絡中的DNS解析的全過程

Mysql數據庫的索引實現機制

聚簇索引與非聚簇索引

Http協議中的緩存機制

有10G大小的文件,裏邊存的爲數字,內存限制爲1G,統計出出現次數最少的前十個數字

計算機的緩存結構

局部性原理

手寫二分查找(注意常規方法中的坑,大話數據結構中的二分查找有問題)

以字符串爲單位,進行字符串數組的反轉

Java中使用線程池的核心參數以及線程池的調用原理

 

複習的東西

數據庫方面

         數據庫方面強烈推薦以下三個博客,其中一個是我們大神於海強總結的,超級全,超級贊,大家可以參考

           https://zhuanlan.zhihu.com/p/25235279

           http://www.cnblogs.com/Lawson/archive/2015/11/30/5008741.html

           http://www.cnblogs.com/zhangs1986/p/4914125.html

 

計算機網絡

         這塊建議大家以一個地址從在地址欄中輸入後開始,到服務器返回結果爲之爲線索,來整體掌握整個脈絡,常用幾層的作用,應用層,傳輸層一直到物理層,每層的作用是什麼,以及每層涉及到的協議都有什麼?常問的協議應該是http協議,tcp  udp協議,ip協議,面試中還問到使用http請求頭與響應頭來實現緩存,完成頁面的優化,當時沒有答出來,後來經過查資料,理清了咋回事,將博客放到下邊,供大家參考

         http://www.cnblogs.com/520yang/articles/4807408.html

 

操作系統

這塊也沒太好的資料,建議大家以課本爲主吧,主要多看一下以下幾個方面:

1.      內存管理常用算法,要清楚爲什麼連續存儲的訪問速度快,但會產生大量內存碎片,而離散方式存儲的訪問速度慢,但產生內存碎片少或者不會產生,每種算法使用自己            熟悉語言的實現方式

2.      局部性原理以及基於局部性原理,虛擬內存的實現方式以及調度方式

3.      進程與線程的區別

4.      死鎖的條件

5.      如何解除以及避免死鎖,銀行家算法必須清楚

6.      進程間的通訊方式有那些

 

數據結構和算法

這塊建議大家參考《大話數據結構》這本書

常用的算法,冒泡,選擇,插入,希爾,歸併,堆排,快排,二分查找這些算法最好能熟練掌握其時間複雜度,空間複雜度以及能熟練的手寫出對應的算法

樹的前、中、後序遍歷的遞歸,非遞歸方式熟練手寫,層序遍歷的實現,熟練手寫

有了以上基礎,大家可以多刷刷算法題了,推薦一本算法數,裏邊內容很經典,而且是面試,筆試中常問到算法題---《程序員代碼面試指南 IT名企算法與數據結構題目最優解 ,左程雲著 ,P513》

http://pan.baidu.com/s/1hr9eaiw

Linux

Linux常用命令最好掌握一些,如ps,netstat,grep,awk等,還有vim使用中 的一些常用操作

Java方面

1.      基本類型,引用類型的存儲方式等,這些最好與上邊jvm內存模型一起復習

2.      Java的異常體系

3.      Java中多線程的實現方式,以及線程池的實現與使用

4.      線程的生命週期

5.      Hashmap,hashtable的實現方式與區別,線程安全問題,hashmap爲什麼會產生線程安全,如何避免。

6.      ConcurrentHashMap分別在jdk1.7,1.8中的實現方式是怎麼樣的,如何保證的線程安全以及1.8中的紅黑樹如何使用的

7.      常用的設計模式

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