海康,商湯,順豐等研發面經
海康,商湯,順豐等研發面經
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 需要來現場面試,其實我不想去現場面,然後隔天給我發了拒信
▼更多精彩內容
大俠,這裡有乾貨!
喜歡記得來一個