海康,商湯,順豐等研發面經
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 需要來現場面試,其實我不想去現場面,然後隔天給我發了拒信
▼更多精彩內容
大俠,這裏有乾貨!
喜歡記得來一個
--------------------- 本文來自 How_2_Play_Life 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/a724888...