朋友的大廠面經

公司一:字節蹦躂

ly的頭條一面

自我介紹
說一下項目
介紹一下RBAC模型,說一下權限管理
git你都使用那些方法,stash你瞭解嗎?如果需要臨時fixbug,你該怎麼使用git
你們直接用master?
Nginx怎麼用的,負載均衡算法
報表統計怎麼實現,Join幾種,區別是什麼?
MySQL的索引,怎麼實現
鎖有幾種,怎麼用,SQL上用到for update是什麼鎖。
聯合索引AB,查B能用這個索引嗎?那A呢
HashMap瞭解嗎
多線程瞭解多少,Java併發用到哪些操作
線程和進程什麼區別
併發是怎麼實現的,線程間通信?
前後端分離是怎麼實現的?用什麼交互
權限怎麼攔截?驗證客戶端嗎?
寫一道算法題,一個先遞增後遞減的序列,允許有重複值,找出最大值。

ly的頭條二面

自我介紹
Spring MVC瞭解嗎?說一下
Spring IOC解釋一下
JVM瞭解嗎,說一下GC算法和各個收集器的區別以及如何實現的。
MySQL的事務隔離級別,詳細說一下
Http協議說一下
既然HashMap問過了,說一下你瞭解的其他容器,區別以及使用場景
寫一道算法題,判斷一個樹是否是平衡二叉樹
JVM的調優
TCP三次握手和四次揮手。紙上畫一下
四次揮手的time-wait是什麼意思
寫一道算法題,求無序數組的前M大的數。

ly的頭條三面(官方廣告:人帥還技術好)

  • 自我介紹
  • 遇到網研學長(說你們居然還在總這種項目,北郵再這樣下去要完)
  • 說一下Java的鎖
  • CAS和AQS
  • Condition解釋一下
  • 他和wait和notify有什麼區別(不知道)
  • BIO和NIO說一下
  • ThreadLocal瞭解嗎?如果讓你自己實現一個,你怎麼做?
  • Spring IOC是怎麼依賴注入的
  • 你自己怎麼實現一個IOC
  • 用面向對象的思想設計一個停車場管理系統?提供API給前端告訴客戶應該去哪個停車場停車,寫出關鍵的類和API接口。

SlagCake的頭條經歷

1.自我介紹
2.先說計算機網絡。https怎麼實現的?ssl協議爲什麼安全?具體怎麼保證加密的?
3.那我們下潛到傳輸層,tcp四次揮手爲什麼是4次不是三次?最後的time-wait是爲什麼?
4.我們來說Ip地址和Mac地址,他們有什麼區別?Mac地址存在的必要性是什麼?假設IP地址每臺電腦可以保證是唯一的可以不要Mac地址嘛。
5.說說路由轉發。
6.再說操作系統,進程和線程的區別是什麼,爲什麼進程重量級,線程輕量級?進程和線程的創建過程,描述一下。
7.進程間通信和線程間通信的方式說一下。
8.平時用linux嘛?寫一個shell腳本查詢佔用12345端口的java進程並關閉它。
9.說說項目,你們項目做得是網站系統,說一下都有什麼常見網絡攻擊方式。XSS,CSRF,SQL注入都是怎麼做得,你又要怎麼解決這些問題。
10.說說cookie和session。
11.你說你用同步set解決了單機調用訂單支付接口的冪等性,那麼假設你們的系統部署在分佈式環境中,兩個人做相同的支付請求,怎麼解決冪等性?
12.讓你設計一個秒殺系統,描述一下具體實現。
13.做一道算法題,假設有一億條用戶在線日誌,每一條內容是(id,登入時間,登出時間)。設計一個算法計算出峯值用戶登錄數和該峯值持續時間。
14.談談C++和java的設計哲學。

外援的頭條

在這裏插入圖片描述
在這裏插入圖片描述

SbSmall同學的頭條

二面
1.自我介紹
1.先聊了聊項目,聊到了用戶登錄,就問到了redis,redis數據類型,應用場景,項目中用到的,用作會話緩存與消息隊列的具體實現。
2.什麼應用場景需要用到消息隊列
3.redis架構,主從同步具體過程。
4.多臺redis服務器不採用複製方式而採用分庫方式,具體如何分庫
5.Hashmap底層實現
6.講一下紅黑樹
7.數據庫索引爲什麼不用紅黑樹而是b+
8.常見web攻擊方式,項目中有沒有防護措施,還有每種攻擊方式的常見措施
算法
二叉樹的蛇形輸出

三面

  1. 什麼時候開始接觸計算機,什麼時候開始接觸編程
    
  2. 除了大作業和項目,自己有沒有寫過一些自己感興趣的項目
    
  3. 課餘時間自己都幹什麼了,主要玩什麼遊戲,LOL段位如何
    
  4. 實習打算,報了哪些公司,爲什麼沒報阿里,準備報嗎?兩個月的實習時間從公司考慮時間夠嗎?
    
  5. 職業規劃,走技術還是走管理,走管理需要哪些技能,本科有沒有當過社團的負責人
    
  6. 走技術的話如何自學技術
    
  7. 如果進入頭條想做什麼類型的項目
    
  8. 你可以走了,等通知吧
    

公司二:養鵝專業戶

pp的鵝廠一面

1.jvm瞭解什麼
2.full gc什麼時候發生
3.反轉鏈表
4.求二叉樹最大深度(遞歸+非遞歸)
5.tcp首部
6.初次連接時,tcp首部中的seq是怎麼生成的
7.socket編程
8.socket編程中connect可能遇到的錯誤
9.負載均衡怎麼做(說了一致性哈希)
10.具體說一下一致性哈希
11.研究生階段最有成就感的事
12.最近在看哪些技術方面的東西
13.你認爲一個好的後臺開發應該做到些什麼

JL的鵝廠經歷

1 事務的四大特徵
2 mysql怎樣保證原子性,mysql索引
3 寫一個sql語句,用score排序,輸出成績最好的十個人
4 輸出成績最好的十名到二十名
5 sql語句,如果id存在,更新score 變成score+10 如果不存在,插入score =10
6 設計一個抽獎系統,如果怎樣保證在一個小時之內均衡發放獎品
7 如果併發量很大,怎麼處理用戶請求
8 tcp三次握手,爲什麼需要三次
9 算法string 轉 int
10 socket用過嗎
11 消息隊列了解嗎

ly的騰訊

  1. 自我介紹
  2. 說一下你的項目,你做了那些工作
  3. 我只知道Spring MVC加註解可以用,你給我說說原理
  4. 說一下你研究生最有成就感的事
  5. 說一下項目的難點
  6. 就計算機軟件方面,你最擅長的是哪些(我說MySQl、Java、JVM)
  7. 選一個你最擅長的(腦抽選了MySQL)
  8. 你瞭解MySQL哪些
  9. 說一下數據庫鎖
  10. 說一下引擎
  11. 說一下你是怎麼學習MySQL的
  12. 用UDP怎麼實現TCP
  13. 說一下TCP的斷開連接過程
  14. 一道算法題,一個文件裏面全是QQ號,找到重複的數字
  15. 海量數據怎麼辦
  16. 再來一道,把一個Ip地址轉化爲數字
  17. c和c++你瞭解嗎
    18.求一個數組的子數組的最大和
    19.感覺自己涼涼

外援的鵝廠pcg大數據崗兩面

在這裏插入圖片描述
在這裏插入圖片描述

SlagCake的鵝廠之旅

1.瞭解哈希嘛?說說哈希在密碼學中的應用。
2.哈希什麼情況下會發生碰撞,怎麼樣選取哈希的方式能讓碰撞機率降低。
3.說說平時用的排序算法的時間複雜度和空間複雜度。
4.寫一個快排給我看。
5.進程間通信方式都有哪些?各自的優缺點是什麼?
6.平時都寫過用到這些方式的代碼嘛?
7.進程有幾種狀態,怎麼轉換的。
8.進程什麼情況下會死鎖,怎麼避免。
9.說說TCP,UDP各自的特點,並舉一個現實中的例子。
10.說一下TCP三次握手和四次揮手,並描述一下三次握手四次揮手時服務器和客戶端各自的狀態。
11.TCP怎麼保證可靠傳輸的。
12.講一講TCP擁塞控制。
13.兩個鏈表,如何判斷他們是否有交點。
14.講一下點擊url打開網頁的過程都發生了什麼。
15.講一下DNS服務器的實現。
16.你平時用的數據庫是什麼,講講MyISam和innoDB的區別。
17.主鍵,唯一索引,聯合索引區別。
18.如果一個表要做很多count操作,你應該用哪個引擎。
19.如果一個表要頻繁做很多insert操作,並且經常查詢count,你應該用哪個引擎
20.如果一個表要頻繁做很多insert,update操作,並且經常會查詢count,怎麼實現好。
21.說下你項目的閃光點。
22.訂單系統你是先付錢,後寫入數據庫狀態的,那麼如果付錢成功,寫入數據庫失敗怎麼辦。
23.如果退款成功,寫入數據庫再次失敗怎麼辦。
24.Redis和memcache用過嘛
25.你平時linux用的多嗎,常用命令有哪些?查看硬盤狀態命令是什麼?查看一個進程端口號佔用的命令是啥。
26.寫一下判斷數學表達式是否正確的程序。
27.你有什麼想問的問題嘛?

外援的鵝廠

1.自我介紹
2.先說計算機網絡。https怎麼實現的?ssl協議爲什麼安全?具體怎麼保證加密的?
3.那我們下潛到傳輸層,tcp四次揮手爲什麼是4次不是三次?最後的time-wait是爲什麼?
4.我們來說Ip地址和Mac地址,他們有什麼區別?Mac地址存在的必要性是什麼?假設IP地址每臺電腦可以保證是唯一的可以不要Mac地址嘛。
5.說說路由轉發。
6.再說操作系統,進程和線程的區別是什麼,爲什麼進程重量級,線程輕量級?進程和線程的創建過程,描述一下。
7.進程間通信和線程間通信的方式說一下。
8.平時用linux嘛?寫一個shell腳本查詢佔用12345端口的java進程並關閉它。
9.說說項目,你們項目做得是網站系統,說一下都有什麼常見網絡攻擊方式。XSS,CSRF,SQL注入都是怎麼做得,你又要怎麼解決這些問題。
10.說說cookie和session。
11.你說你用同步set解決了單機調用訂單支付接口的冪等性,那麼假設你們的系統部署在分佈式環境中,兩個人做相同的支付請求,怎麼解決冪等性?
12.讓你設計一個秒殺系統,描述一下具體實現。
13.做一道算法題,假設有一億條用戶在線日誌,每一條內容是(id,登入時間,登出時間)。設計一個算法計算出峯值用戶登錄數和該峯值持續時間。
14.談談C++和java的設計哲學。
15.恭喜你,你掛了

BuildCourage的鵝廠 一面

  1. 數組和鏈表的區別,你在項目中具體哪裏用過數組,哪裏用過鏈表。
  2. 1G?內存中1000萬個元素,在末尾添加和刪除元素的情況下,使用數組還是鏈表。
  3. 實現一個棧用數組好還是鏈表好?
  4. 介紹一下訂單管理模塊是如何設計實現的,訂單表是怎麼設計的?(我答的不好)
  5. 二叉樹的層次遍歷
  6. 希爾排序
  7. 求二叉樹的最大深度
  8. 項目數據庫用的多嗎?對Mysql底層原理了解嗎?MyISAM和InnoDB的區別,聚簇索引。
  9. TCP3次握手詳細介紹,爲什麼握手3次而揮手4次,客戶端是如何能夠忽略已失效的請求的。

BuildCourage的鵝廠二面

項目,平時習慣
索引

Cora的鵝廠經歷

項目加層次遍歷,沒了

Ricardo的鵝廠

35分鐘項目+實習經歷,瞭解哪些開源項目?TCP三次握手、sql注入攻擊、web安全、算法題:字符串去駝峯 input AaBac output Ac 智力題:100層樓 兩個雞蛋 求哪摔碎雞蛋的最低樓層

cora的鵝廠二面

介紹一下計算機網絡
tcp udp 頭部字段
tcp 四次揮手 流量控制 擁塞控制
IP轉數字
socket編程過程
connection函數超時處理
數組中連續子串最大和
樹的高度
最近一年讀的書,最有成就感的事
項目中遇到的問題
linux內存管理
海量QQ號 找出出現次數大於1的

JJ的鵝廠二面

首先自我介紹,我順便介紹了我的簡歷上的項目
網絡編程有了解嘛?我:有一些
TCP/udp特點,區別,哪一層,都分別在哪應用?
Tcp擁塞控制?
平時有用到過嘛?研究生階段沒有,本科階段做了一些小小的demo,用到了,然後就說了印象中的中央空調。
進程和線程有了解嘛?我:有一些,(來講)
進程通信有哪幾種?我:管道,消息隊列,套接字,這些都是我有用到過的,然後(來講)
線程調度方式?
堆和棧有了解嘛?說一說
來一個算法題吧:給一個鏈表,從頭開始,兩兩翻轉。我:默默寫完,然後他讓我講一講思路
排序有了解嘛?
我:都說了一遍,並表示,現場寫我可能要推一推,思路是知道的
快速排序是穩定排序嘛?我:嗯?可以解釋一下穩定排序是啥嘛?(解釋完)我:好,我推推,額是的吧,他:爲什麼?我:因爲,在partition函數裏巴啦啦,誒,不對,不是……他:那你寫個僞代碼吧。我先下樓看看
我:好

painter的鵝廠二面

1.自我介紹,還是說項目
2.你爬蟲的具體實現細節,都是你一個人做的嗎還是分工合作,你負責哪個地方,具體說說
3.找出一個目錄下面所有的重名文件
給你一個文件,還有一個詞庫,讓你找都哪些詞命中詞庫了
4.念研究生是保的還是考的
5.平時都幹啥,看點啥,爲啥看這方面東西
6.玩什麼遊戲,遊戲段位???
7.寫一個匹配網頁上所以a標籤裏面鏈接的正則表達式

littleAusna的鵝廠一面

1.手寫算法topk,二分查找,翻轉鏈表的兩種寫法,快排
2.tcp和udp的區別
3.線程和進程的區別
4.講一下jvm的gc
5.講一下spring的ioc原理
6.tcp三次握手
7.進程間通信的方式

pp的鵝廠一面

1、單例模式
2、快排
3、求數組連續子序列的最大和
4、25匹馬,5條跑道,求最少跑多少次能比出前三名。
5、主鍵索引和非主鍵索引

pp的鵝廠二面

1、求字符串A中字符串B首次出現的位置,時間複雜度
2、建表的sql語句
3、怎麼建立一個serversocket
4、myISAM和InnoDB的區別
5、讀多寫少用哪種引擎,爲什麼
6、jvm的內存模型

外援的鵝廠

在這裏插入圖片描述

公司三:阿里爸爸的烤麪筋

pp的菜鳥

1.G1垃圾回收器
2.SQL語句很慢,怎麼定位問題
3.索引的底層實現,這樣實現的優缺點
4.innodb和myisam區別
5.事務的隔離級別
6.ArrayList底層結構,優缺點
7.已有滿的2M的arraylist,內存3M,再往裏插入元素怎麼辦
8.hashmap是線程安全的嗎,多個線程同時訪問會發生什麼
9.concurrenthashmap原理,它的分段鎖具體是怎麼實現的
10.泛型編譯出來的字節碼什麼樣
11.線程的狀態轉換
12.設計一個線程池
13.你覺得比較有趣的數據結構分享一下(3分鐘)

Cora的菜鳥經歷

面試官介紹部門職責,菜鳥偏底層的部門,上面承接了大量業務,部門要提供高併發、高可用、高性能的底層服務
自我介紹
開始發問

只問了我第一個項目,項目關於內存取證,聊了半小時,要把這個項目講給面試官聽,項目的意義,出發點,實際價值,並讓他理解和接受,他會對感興趣的點,假設場景發問,項目未完善的地方在哪裏,有哪些可以優化的

從項目引到 JVM 內存佈局,垃圾回收機制

數據庫,分片查詢如何實現,假設場景,一個包含ABCDEF列的表,給定一條SELECT語句,如何實現索引(數據庫只掌握基本概念還是不夠,要懂得比較深,對場景敏感,所以問的我很難受)

向面試發問:我問的問題是如何學習數據庫

面試官從三個方面回答並建議我可以找些文章看看:

數據庫原理中的範式幫助我們在設計表結構階段避免了冗餘,但是會引起查詢效率低的問題
建立索引是爲了加快數據檢索,但是索引也是佔空間的,索引一旦建立就不要動
當數據庫數據量非常大時,如何做好分庫分表對業務響應至關重要

BuildCourage的菜鳥經歷

1 遊買有賣

  1. 有多種類型的產品,淘寶是分成很多表來存的,你們是怎麼設計產品的數據庫表的
    答:分區加產品表,產品表存在一張表裏面~~~
  2. 如果創建訂單、設置庫存、支付等是多個微服務,如何保證一致性?分佈式事務,那如何保證分佈式事務?
  3. 項目的併發量是多少?項目考慮過高併發問題嗎?
  4. 項目有性能測試嗎?應該怎麼做性能測試?
  5. Spring配置bean的方式有哪集中?
  6. Spring容器的啓動流程?以何種順序加載bean的配置?
  7. Hibernate是如何處理事務的?

2 遊戲
8. Node.js 如何獲取請求,處理請求並返回給前端?描述一下這個過程

3 新技術
9. 你最近了解過哪些比較新的技術嗎?Docker,那介紹一下Docker,Docker實現輕量化虛擬機的底層原理是什麼?

BH的菜鳥二面

1.項目相關。建議大家一定要對項目中的各種數字很清楚
2.海量數據求詞頻
3.jdk10新特性
4.springboot解決了什麼問題
5.spring加載過程
6.基於註解的bean解析
7.數據庫連接池
8.建立釋放數據庫連接消耗什麼資源
9.用過阿里的什麼中間件
10.消息隊列解決了什麼問題,會帶來什麼問題
11.如何防止重複消費

BIGCC的阿里媽媽面經

1.內存池是什麼(C++的) 不會,我猜是固定一塊內存區域需要時進行分配,省得向系統申請,就和線程池類似
19. select epoll poll 非阻塞網絡編程,也不太會
20. java 反射機制
21. Java gc回收有哪幾種,服務器段的gc如果你來設計要考慮那些方面
22. 兩個有序數組,找第K大的元素 先截取兩個數組的前k個元素,二分搜索
23. 一個直線上有很多點,尋找指定區間內點的個數 線段樹,複雜度爲LOG(單位長度的個數)
24. 以圖搜圖,尋找和一副圖片最相似的100個圖 我光知道要提取特徵,包括統計特徵和基於神經網絡提取的特徵,說了分類,但是沒想要最後生成一個哈希值,進行海明距離比較
25. 一臺機器100G文件發送給1000臺機器 我直接說需要發送給每臺機器,然後分別發送給每臺機器,然後每臺機器泛洪或者持有令牌環發送。 然後問我可能會有什麼問題。。。 不太會,我開始猜和差錯校驗有關的內容…
26. 如果一個公司搭建的機器學習平臺要考慮什麼,特徵工程的構建,基於分佈式的機器學習系統,基於計算時間的算法的選擇(SVM 和K-means在工業界用的比較多的原因) 口胡。。。。
27. 神經網絡的loss函數怎麼選擇(我是研發的大哥,我怎麼還記得這些…開始口胡) 面試官問我你不是做過項目的嗎… . 我回答說最近一直在準備java研發的知識
28. 我問面試官您看我什麼地方需要提高,面試官直接說,現在很多東西還不能告你,等通知就好了…

SlagCakeBrother 的阿里媽媽

1、常用的編程語言是什麼
2、設計一個吞吐量很大的系統需要考慮哪些問題
3、C++的內存管理,分配在哪些區
4、應該如何高效的使用這些內存
5、實現一個sort函數你能想到哪些方法
6、給一個鏈表排序怎麼設計,考慮空間複雜度,不考慮空間複雜度
7、你擅長的技術是什麼

BuildCourage的阿里媽媽奮鬥史

  1. 寫一下Spring IOC容器的啓動流程。解釋一下Ioc,Ioc和麪向對象設計的關係能不能舉個例子說一下。
  2. 畫一下Java虛擬機的內存模型(介紹)
  3. 爲什麼用Hibernate,瞭解其他的比如Mybatis嗎?Hibernate和Mybatis的區別。
  4. 寫SQL語句,原來的表有兩列:“id,quantity”,統計出quantity在"0 ~ 50 , 50 ~ 100,100以上"的三列的數量統計結果,行轉列。
  5. 寫一個linux命令,有一個日誌記錄每次登錄系統的用戶名和時間。統計出各個用戶的登錄總次數並排序。
  6. 如何從10億條日誌中搜索你想查找的某個關鍵詞?

ly的天貓隨便過

  1. 自我介紹
  2. 說說項目
  3. 負責哪一塊
  4. 說一下項目架構和部署情況
  5. 說說權限管理
  6. HandlerInterceptor的原理
  7. 數據庫索引怎麼建的
  8. Spring的IOC,啓動流程,怎麼加載Bean的
  9. AOP呢,你平時怎麼學習Spring的
  10. JVM的類加載機制,原理
  11. 爲什麼Java是跨平臺的語言,class文件怎麼被加載的
  12. 垃圾收集算法
  13. Java的內存模型,Java8做了什麼修改
  14. 瞭解哪些容器
  15. 說一下ConcurrentHashMap
  16. 堆排序怎麼實現的

ly的天貓二面

  1. 介紹一下的學習情況和項目
  2. 這個電商後臺是做什麼的呢?
  3. 說一下權限管理怎麼實現的?有那幾張表
  4. 爲什麼不用現有的權限框架
  5. 自己怎麼攔截操作
  6. 每次都要去數據庫中查嗎?怎麼優化
  7. 我說session存權限,問怎麼優化
  8. 我說用redis?問redis怎麼做,達到什麼效果,解決了什麼問題
  9. 那你覺得session那個方法能解決問題嗎?
  10. 那你們是怎麼判斷用戶登錄狀態的呢?
  11. 如果用戶掉線怎麼知道他掉線了?
  12. 你說一下你都熟悉什麼技術
  13. HashMap你知道吧,它線程安全嗎?
  14. 線程安全的map有哪些,都是怎麼實現的?
  15. hashtable用synchronized修飾,那你說一下synchronized都能修飾什麼,區別是什麼?
  16. ConcurrentHashMap是怎麼解決併發問題的?
  17. 數據庫你瞭解過吧?隔離級別說一下,以及都產生什麼問題
  18. Jvm的gc你瞭解吧,說一下
  19. 那你說可達性分析,是什麼結構的?是樹嗎?
  20. 那你認爲它是深度優先還是廣度優先遍歷
  21. 你是網絡技術研究院的,你知道網絡IO有哪些?
  22. 提醒我?BIO和NIO什麼區別?
  23. 你最近在學什麼新知識呢?
  24. 你在學習生活中有什麼可以給我分享的嗎?
  25. 你的職業規劃是什麼?
  26. 你有什麼問題問我嗎?
  27. 我問技術棧需要補充些什麼?
    1. 答:雖然你們項目是單機的,但是你要考慮當項目變大,用戶量超大的時候怎麼辦,項目架構如何演進,電商項目肯定是有複雜業務的,如何將業務解耦做到微服務,要研究項目如何優化才能適應不斷增長的需求
    2. redis學習方面,不僅要了解原理,更要理解它的使用場景,在什麼場景下使用redis可以解決什麼樣的問題是關鍵,結合自己的項目,進行設計和思考

cc的天貓二面

在這裏插入圖片描述

某超管中心的協助–阿里新零售:

在這裏插入圖片描述
在這裏插入圖片描述

某超管中心的協助 - - 阿里巴巴

  1. 講一下HDFS的架構和讀寫流程,並結合寫流程講一下NameNode裏存的是什麼,是怎麼存的,什麼時候存的;
  2. 向HDFS寫入時候DataNode的client的行爲;
  3. HDFS的副本策略以及副本的的寫入流程;
  4. 聊項目;
  5. ArrayList是如何擴容和縮容的;
  6. HashMap如何擴容,一個線程寫和多個線程讀會出現線程安全問題麼;
  7. 線程、鎖;
  8. Exception和Error的區別;
  9. java線程池是怎麼實現的,實現原理;自己實現線程池怎麼實現。
  10. (算法題)雙向鏈表的實現;
  11. 什麼是iterator,如果要遍歷List的過程中刪除元素應該怎麼用哪種遍歷方式;

阿里雲CDN團隊 簡歷面

  1. 三次握手 四次揮手
  2. syn攻擊的防範方式
  3. 三次握手第一包是否可以攜帶數據
  4. timewait狀態誰持有
  5. timewait是否有存在的必要
  6. 揮手過程中端口不可用怎麼辦
  7. 擁塞控制
  8. 擁塞控制慢開始1,2,4,8含義,什麼時候發
  9. 快重傳依據什麼字段判斷(ack含義)
  10. 除了古老的擁塞控制算法 新的算法有什麼瞭解麼
  11. http請求過程發生了什麼
  12. ssl流程
  13. 數字簽名流程
  14. ca認證流程
  15. 對稱加密非對稱加密區別
  16. 進程和線程的區別
  17. 懟項目

郭哥的阿里雲

1.自我介紹;
2.說一下項目;
3.對Servlet有了解嗎?說一下。Servlet是單例還是多例,爲什麼?
4.說一下SpringMVC;
5.Controller是單例還是多例?
6.說一下AVL樹,有什麼好處?AVL查詢的時間複雜度是多少?
7.瞭解哪些排序算法;快排的時間複雜度;
8.ASCII碼是幾位?表示26個英文字母要用幾位二進制?
9.算法題:10萬個高考學生按成績排序;
10.a、b、c三個字母,a的頻率最高,b次之,c出現的頻率最低,怎麼用變長編碼去編碼?編碼後a、b和c的碼字分別是多少?
11.上機測試:兩個棧 stack1,stack2,其中stack1中放入無序的int數字,請用兩個棧排序,不引入其他數據結構。

cora的阿里雲一面

阿里雲:域名系統

  1. 講項目 項目中遇到的問題 源碼改動了多少
  2. Linux 使用多麼?Linux 命令 查看進程 實現機制 軟連接硬連接
  3. 集合類 ArrayList LinkedList 線程安全的List有哪些
  4. HashMap插入過程,爲什麼不安全,線程安全的Map有哪些
  5. 垃圾回收機制
  6. 類加載機制 雙親委派模型
  7. 願意做算法還是工程(已經很想要開始聊人生了)
  8. Spring 想深入問我,我說了解的不多 問了IOC實現機制
  9. 開始問我學沒學過j2ee jsp是什麼
  10. 平時遇到問題 如何解決
  11. 論文發沒發
  12. 設計模式簡單講講
  13. Java內存佈局

外援的螞蟻金服

在這裏插入圖片描述

阿里一面:簡歷無關之靈魂叩問

閒扯一小會,自我介紹
Java:
1、java爲什麼具有平臺無關性?jvm是否具有平臺無關性?
2、java怎麼執行的?java編譯生成什麼?字節碼文件裏有哪些內容?java爲什麼比其他語言慢?
3、jvm內存模型,棧裏存了哪些內容?
4、說一下gc的過程,中間打斷問哪些可作爲gc root?gc算法?新生代再往下粒度怎麼分、對象怎麼存?
5、說一下類加載的過程、雙親委派模型,爲什麼用雙親委派?
6、說一下對equals和hashcode方法的理解,重寫這兩個方法不遵從原規則對java體系有什麼隱患?說一下hashmap。
7、用過多線程嗎?說一下自己用的場景?
8、說一下synchronized和votatile關鍵字,然後問synchronized底層原理,說了加鎖用monitor啥的指令,又問votatile怎麼做的,也是這麼做的嗎?不會,然後就崩了
緩存:
9、多線程那個,我說的場景裏有緩存,問緩存穿透咋回事,怎麼處理
數據庫:
10、事務的四大特性,說一下隔離性,說一下事務的隔離級別,可重複讀具體什麼意思?可重複讀怎麼做的?我說了加行級鎖,問除了加鎖還能怎麼做?
11、說一下數據庫索引是怎麼做的?爲什麼用索引會變快?
計算機基礎:
12、瞭解編譯原理嗎?說一下編譯的過程?(詞法分析、語法分析、語義分析後面不知道了),問詞法分析輸入什麼輸出什麼?語法分析有哪些方法?(我說了自頂向下和自底向上,準備問我怎麼做的,直接說了不記得了),問語法分析生成什麼?(扯了句抽象語法樹)
13、網絡七層模型,網絡層IP位數,ABC類地址的設計原理和區間,子網掩碼怎麼設計的,有什麼用?沒有子網掩碼可不可以?(我當然說不可以)然後問我爲什麼不可以?
14、arp協議幹嘛的?有IP地址爲什麼還要MAC地址?(舉了一堆場景,假設ip無限,路由表賊大也能維護balabala,說啥都說這條件無效,最後直接說了句那就可以,IP地址設計的時候也有主機號殺死比賽)
15、DNS協議過程,本地瀏覽器輸入網址之後的過程。
16、TCP三次握手、四次揮手
反應能力:
17、int a,b不用第三個變量交換值?(md我以爲是要一步操作,套了半天位運算的邏輯,後來告訴我是不用第三個變量就行),沒寫出來,腦子懵了,寫出來的都被他找出來問題了,賊簡單
a=a+b;b=a-b;a=a-b,找出這段代碼中的隱患,我說了a+b溢出後就不對,沒再問了。

算法和數據結構:
18、八大排序,具體說了快排和歸併,快排的複雜度
19、樹這種數據結構設計出來是做什麼的?一開始沒懂,以爲是能做啥,說了排序和搜索,後來說爲了應對分支結構的數據。說一下二叉平衡樹的定義,添加節點後怎麼維持平衡?

閒扯。。。

2019.4.15(螞蟻金服 支付寶 一面)

1.說一下你實習中,一個需求是如何從產品的描述到上線的
  2.爲什麼要建一個新的代碼分支
  3.介紹下實習中做了哪些事,用到了哪些技術,遇到了哪些困難
  4.==和equasl的區別
  5.ArrayList和LinkList的區別
  6.get和post的區別
  7.如何保證http報文數據的安全
  8.說下對稱加密和非對稱加密
  9.說下樂觀鎖
  10.死鎖,以及該怎麼處理

bh的螞蟻一面

自我介紹
IPv4和IPv6的區別
TCP和HTTP
長連接和短連接
進程和線程的區別
死鎖是怎麼產生的
怎麼理解線程安全
HashMap是線程安全的嗎
ConcurrentHashmap如何保證線程安全
爲什麼要用分段鎖
CAS操作是什麼,是原子的嗎,底層實現
Java中的鎖
實現上的區別,性能上的區別
JVM區域,垃圾回收算法
Redis可以用來做什麼
redis如何實現分佈式鎖
redis過期機制
LRU自己怎麼設計
常見的查找算法
併發量大的場景一般要做哪些設計
爲什麼要來螞蟻
職業規劃
講講體現你的學習能力的事情
你最大的優勢是什麼
有什麼要問我的嗎

外援的螞蟻金服一面

在這裏插入圖片描述

JJ的阿里一面

類/接口/抽象類,解釋一下;
set和List區別
java併發
線程實現
線程和進程區別
線程間通信
解釋一下jvm內存回收機制,什麼時候調用fgc;
死鎖是什麼,怎麼解決死鎖,怎麼死鎖避免;
瞭解加密和加簽嘛,解釋 一下;
查找算法有哪些,二分查找適用場景;
函數重載是什麼,重載的方法簽名有要求嘛;
鏈表的數據結構怎麼實現,有幾種鏈表類型

外援的阿里新零售

在這裏插入圖片描述

外援的阿里

在這裏插入圖片描述

外援的阿里

在這裏插入圖片描述

企業智能

在這裏插入圖片描述

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