1. 程式人生 > >海康,商湯,順豐等研發面經

海康,商湯,順豐等研發面經

海康,商湯,順豐等研發面經

 

 

 

 

 

 

 

 

1

 

今天把其他一些面經總結了一下,分享給大家參考。包括從6月到7月份面的一些公司,包括海康威視,商湯科技,順豐,有贊,亞馬遜(實習生)。主要是Java崗位,而且是主要提前批的面經,甚至包括簡歷面。

 

  

亞馬遜  

實習生面試  

7月初面的  

 

 

一面  

1聊專案20分鐘,難點,重構特點。

2寫題,跳臺階的遞迴和dp方式。

3如何查詢一個數組中的區域性最小值。

直接遍歷複雜度是O(N),但不是最優。

使用二分查詢優化,逼近區域性最小值,logn,有一些問題,並且死迴圈了。

 

 

接著二面  

1聊聊專案中的重構,資料表設計的方式。談到了索引。

2使用索引和不使用索引的區別,何時使用索引的效率不如不使用。

因為索引需要logn次IO找葉節點,然後再一次IO去真正找資料。  

而不用索引每次查詢都要一次IO,所以資料行為N時,不使用索引要N次IO,使用索引,假設索引包括M行資料,則需要(logn + 1)* N/M次,當兩者相等時效率相近,否則不同。  

3聚簇索引,最左字首匹配索引,B+樹。

4演算法題,版本號的大小比較

首先正則表示式過濾非法輸入,並且拆成陣列進行判斷。

5演算法題2 一個單詞變成另一個單詞,一次只能變一個字母,並且中間過程需要是一個合法的單詞。並且每一個位置都可以修改多次。

使用dfs,沒寫完整。

 

 

海康威視  

7月中旬  

 

 

簡歷面  

1 瞭解我們公司麼

2 實習講一下

3 Java講一下集合類,執行緒安全的那種

4 分別如何實現的呢,copyonwritelist,講一下,chm講一下

5 Java記憶體分割槽,分代回收,是否有GC調優實踐過。

6 clone方法的實現

7 講一下你這個專案資料倉庫的架構

8 瞭解Hadoop的哪些元件,自己跑過麼

9 我就是探探你的底,還沒開始正式面試呢!

10 沒了

(* ̄︶ ̄)

 

 

商湯科技    

7月下旬    

要求轉c,並且是實習崗位    

1 願意轉c++嗎。巴拉巴拉

2 Java的hashmap和hashtable的兩個區別

3 Java中的鎖怎麼實現,synchronized關鍵字底層什麼命令。

4 Java的cas操作說一下,底層怎麼實現的。自旋鎖瞭解麼。

5 lock free用於什麼場景,自旋鎖和普通鎖的使用場景

6 Java的countdownlatch的實現原理

7 Java的記憶體分配是虛擬記憶體還是實體記憶體

8 講一下虛擬地址如何對映成實體地址,TLB瞭解麼,分頁機制說一下,頁面大小是多少。

9 LRU快取說一下

10 沒了好像

 

順豐科技    

上週    

 一面    

 

1 面試官喜歡抖腿

2 二分,二分找比一個數小的最大數  

3 Java的執行緒使用方法    

4 執行緒通訊的方法    

5 沒了    

二面

hr面,過了兩週發了offer。總體來說很水。

 

 

有贊 

一面:    

1 Java併發技術瞭解嗎,說了執行緒,juc的執行緒池,併發容器,阻塞佇列,原子資料型別等。    

2 問我原子資料型別怎麼實現,cas    

3 執行緒池有哪些引數,阻塞佇列用的是普通佇列麼,答不是,是blockingqueue    

4 concurrenthashmap和hashmap的區別,chm的實現原理,你在什麼場景下用到chm,為什麼,我說了多執行緒查詢資料,put可能覆蓋,或者hashmap的擴容可能產生死鏈    

5 還用過哪些資料結構,list,set,map,stack和queue。    

6 Spring瞭解麼,問我瞭解五大元件不,不瞭解,說了ioc和aop。然後問我分別怎麼實現的,使用xml和註解配置實現類有什麼區別,怎麼解析它們的資料。    

7 Spring如何動態地載入一個bean到bean容器中,不是通過配置檔案配置的,不會。    

8 Spring aop的實現原理,如何加一層動態代理的,我說是建立bean過程中直接生成代理類的例項。

9 Spring的spring quartz知道麼,必須不知道    

10 spring原始碼看過麼,mvc瞭解麼,說了一下mvc的原理和請求過程    

11 hibernate和mybatis的原始碼看過麼,沒有    

12 如何實現不同環境中配置檔案的自動切換,使用指令碼或者命令,他說使用hibernate的註解可以實現切換。    

13 nio和io的區別,nio是阻塞輪詢的,如何改用非同步通知的機制,我說使用aio註冊非同步回撥函式。    

14 nio的包裝框架了解麼,我說netty,看得深入麼,我說沒有深入看。    

15 分散式服務dubbo瞭解麼,有哪些功能,如何自己實現一個dubbo,我分別從rpc和微服務的角度說了一下。問我有哪些序列化方式。    

16 mysql問了幾個簡單問題。    

17 對我們公司瞭解麼,只是稍微瞭解。    

 

 

二面:    

1 專案    

2 Java的記憶體模型,堆和棧分別存什麼    

3 Java的深拷貝和淺拷貝    

4 Spring的aop怎麼實現的,動態代理的原理是什麼 。

5 Spring MVC的請求過程。    

6 跳出Spring,說一下瀏覽器的請求過程    

7 網路程式設計這一塊,你瞭解哪些,說了socket和nio  。

8 nio的底層實現一般是epoll,講一下epoll吧。    

9 mysql的索引說一下,二級索引是怎麼進行查詢的。

10 MySQL的兩個引擎區別    

11 hibernate的orm是怎麼實現的,我說的是xml和註解的解析,以及jdbc封裝    

12 hibernate的事務如何實現,我說是jdbc的事務實現。    

13 分散式資料庫查詢一個表的前十條資料,對id進行hash來索引節點,如何進行查詢。我說那就對id hash,找到節點分別查詢。    

14 分散式系統的概念,如果有資料一致性怎麼辦,答cap和base    

15 瞭解哪些分散式技術,說了快取,負載均衡,訊息佇列,Hadoop    

16 負載均衡的衡量指標,不知道    

17 訊息隊列了解哪個,rabbitmq和kafka,為什麼kafka比rm快,答了零拷貝,具體實現原理答錯了,應該是避免複製資料到應用緩衝,直接使用sendfile傳輸資料。    

18 hadoop瞭解哪些,hdfs的檔案讀寫機制說一下。    

19 沒什麼問題了    

20 需要來現場面試,其實我不想去現場面,然後隔天給我發了拒信

 

 

 

 

 

 

▼更多精彩內容

 

今日頭條研發面經

螞蟻金服研發面經

百度研發面經整合版

拼多多&快手研發面經

騰訊研發面經

 

 


大俠,這裡有乾貨!

 

 

喜歡記得來一個