【求職】貝殼 Java 方向面經

貝殼

Java 方向面經

第一篇

**一面 2019/9/21 **

1、揹包都有哪些

2、模板代碼都咋寫

3、最長公共子串

4、最長公共子序列怎麼求

**二面 2019/9/23 **

1、MySQL 各關鍵字的含義及用法

2、MySQL 底層的原理

3、Linux 權限、常用指令、文件系統、Shell 腳本

第二篇

**一面 2019/9/6 **

1、手寫一個 insert、update 的 sql 語句

2、簡歷上的兩個項目挑一個畫流程框圖

3、有用過哪些 linux 命令?

4、在文本里找指定的一個字符串,使用什麼樣的 linux 命令

5、項目怎麼部署到服務器上的?怎麼登錄 linux 服務器?

6、如何使用 SpringMVC 對用戶寫入的參數進行修改?

7、你的項目裏用過哪些 SpringBoot 的註解?

8、數據庫的索引的數據結構?

9、InnoDB 默認的隔離級別?

10、線程池的參數?

11、手寫線程的狀態

12、HashMap

13、JVM 垃圾回收,分區?

14、手寫 JVM 內存結構

15、內存結構中的堆和棧?

16、TCP 三次握手

17、手寫快排

18、鏈表快排

19、快排的時間複雜度,空間複雜度

**二面 2019/9/7 **

1、登錄邏輯?如何保證登錄安全?

2、用戶攜帶的這個 token 和誰進行比較?怎麼獲取 token?

3、聚簇索引,非聚簇索引,複合索引

4、如果將項目部署到兩臺服務器中,需要考慮哪些因素?

第三篇

**一面 201/9/12 **

1、線程池有幾種

2、核心線程數和最大線程數的區別

3、爲什麼要有兩個數

4、使用 java 類庫怎麼實現一個消息隊列 jvm 垃圾回收

5、寫快排:兩個堆實現隊列

**二面 2019/9/14 **

1、java 有幾種基本數據類型

2、補碼的作用,爲什麼用補碼

3、冒泡的時間複雜度

4、快排的時間複雜度,爲什麼是這個,推倒公式

5、時間複雜度代表了什麼意思,爲什麼用時間複雜度

6、n 個數字,找 top k,說使用最小堆,時間複雜度是多少

7、有一個字符串,比如,abbbkkkc 找出其中所有的 bk,返回最終的值,不能用 string

的類庫,比如 replace,給 10 分鐘,寫出可運行的代碼

8、消消樂遊戲,怎麼找到達到目標的最優解

第四篇

**一面 2019/9/10 **

1、php 中 empty 作用

2、瞭解的數據結構

3、口述樹前序遍歷

4、口述樹中序遍歷

5、口述層次遍歷

6、lamp 網站請求過程中做了什麼

7、tcp 頭是否瞭解

8、http 狀態碼

9、tcp 斷開連接做了什麼

10、代碼:約瑟夫環

**二面 2019/9/12 **

1、mysql 索引

2、數據庫 acid,索引觸發有什麼原則

3、數據庫隔離級別

4、innodb 如何解決幻讀問題

5、laravel 用了哪些設計模式

6、手寫單列模式

7、mysql 與 redis 區別,使用場景

8、epoll 原理

9、設計秒殺系統,考慮正確性,以及服務器不掛機如何設計

10、代碼:兩個數組中只存在 1 個不同元素,怎麼找出來

11、反轉鏈表

12、Java 基礎你瞭解哪些

13、看過 ArrayList 和 LinkedList 源碼

14、AOP tcp 三次握手

15、索引你用過嗎

16、高併發知識你瞭解什麼

第五篇

**一面 2019/8/24 **

1、synchronized、ReentrantLock、volatile volatile 的原理知道是什麼嗎?

2、線程池幾種你瞭解過嗎

3、線程池的區別,線程池參數的各自含義

4、什麼時候纔會達到最大線程數

5、GC 說一說吧

6、類加載機制

**二面 2019/8/26 **

1、抽象類和接口的區別,能不能用一個設計模式來說明

2、設計模式你都瞭解哪些

3、int 和 Integer 區別

4、Session 和 cookies 的區別

5、HTTP 在哪一層

6、HTTP 的狀態碼說一說

7、OOA,OOD,OOP 是什麼說一下

8、數據庫的樂觀鎖和悲觀鎖瞭解嗎

9、如果給數據庫加行級鎖,怎麼操作

第六篇

**一面 2019/8/26 **

1、輸入一個 int,然後逆轉這個 int 返回

2、常用的 java 命令,如 javac,java,jstack,jconsole 等

3、鎖靜態方法和實例方法的區別

4、項目裏用的 solr,elasticsearch,爲啥不用 es 之類的

**二面 2019/8/28 **

1、寫個算法題,題目是 10 進制轉 16 進制

2、solr 問,問基本概念,如何配置,怎麼洗數據之類的

3、jvm 內存結構

4、pc 計數器和堆棧的關係

5、爲啥用 FastDFS

6、Dubbo 協議,問爲啥這麼快

7、互聯網協議:HTTP,TCP 等

第七篇

**一面 2019/9/8 **

1、講講 Spring,看過源碼嗎?說下生命週期

2、項目裏,有哪些優化,怎麼保證的數據的查詢和插入效率?

3、mysql 的其他優化?怎麼實現的?

4、mysql 的 having 和內連查詢

5、https 的端口

6、說下三次握手,滑動窗口的實現?

7、jdk8 的特性

8、session 的實現

9、http 協議是有狀態的嗎??

10、樂觀鎖,怎麼實現的

11、object 類有什麼方法

**二面 2019/8/9 **

1、字符串 String 爲什麼非可變,怎麼做到的

2、HashMap 的數據結構,怎麼插入數據等等

3、算法題:判斷鏈表閉環,閉環的起始節點

4、數據庫:主要都是圍繞索引展開

5、Spring,啓動過程,中間穿插一個 SQL

6、題目描述: 小 C 在做一種特殊的服務器負載測試,對於一個請求隊列中的請求, 每一

個請求都有一個負荷值,爲了保證服務器穩定,請求隊列中的 請求負荷必須按照先遞增後

遞減的規律(僅遞增,僅遞減也可以), 比如[ 1,2,8,4,3 ],[ 1,3,5 ]和[ 10 ]這些是

滿足規律的, 還有一些不滿足的,比如[ 1,2,2,1 ],[ 2,1,2 ]和[ 10,10 ]。 現在

給你一個請求隊列,你可以對請求的負荷值進行增加,要求你調整隊列中請求的負荷值,使 數

組滿足條件。最後輸出使隊列滿足條件最小的增加總和

7、題目描述:舉重大賽開始了,爲了保證公平,要求比賽的雙方體重較小值要大於等於較 大

值的 90%,那麼對於這 N 個人最多能進行多少場比賽呢,任意兩人之間最多進行一場比賽

8、題目描述:小希偶然得到了傳說中的月光寶盒,然而打開月光寶盒需要一串密碼。雖然小

希並不知道密碼具體是什麼,但是月光寶盒的說明書上有着一個長度爲 n (2 <= N <=

50000)的序列 a (-10^9 <= a[i] <= 10^9)的範圍內。下面寫着一段話:密碼是這個序列

的最長的嚴格上升子序列的長度(嚴格上升子序列是指,子序列的元素是嚴格遞增的,例如:

[5,1,6,2,4]的最長嚴格上升子序列爲[1,2,4]),請你幫小希找到這個密碼

9、題目描述:給出 n 個正整數,要求找出相鄰兩個數字中差的絕對值最小的一對數字,如

果有差的絕對值相同的,則輸出最前面的一對數。2<n<=100,正整數都在 10^16 範圍內

第八篇

**一面 2019/10/16 **

1、Java 的基礎數據類型有哪些?String 是嗎?與封裝類的區別?

2、Java 中的繼承和多態是什麼意思?

3、抽象類和接口的區別?

4、JVM 內存劃分?每個分塊的用途?

5、JVM 垃圾回收機制?

6、Java 中子類的變量初始化的順序?然後扯了一會類加載器

7、Java 中的 4 種訪問權限?

8、Java 中提供的線程池?聊了一下線程池參數

9、synchronized 和 lock 的區別?扯了一下區別然後扯了一下底層實現

10、共享鎖和排他鎖?

11、二分查找的適用範圍

12、快排,多種排序的複雜度比較

13、線程的幾種狀態?

第九篇

**一面 2018/9/19 **

1、一道算法題:給一個數組,輸出每一個元素的後邊第一個比他大的數的下標

2、四次揮手,談談你的理解

3、中斷的理解

4、微信搶紅包,是怎麼實現的

5、輸入一個 url,然後的一系列動作,要把各個層說出來,怎麼交互的

**二面 2018/9/21 **

1、git 操作,說說 resert 和 revert 的區別

2、實現一個阻塞隊列

3、數據庫設計:財產權限管理:有一個財產表,用戶表,申請表要求設計表,然後走一個

財產申請流程

4、手寫 SQL,對設計的表的一系列操作

第十篇

**一面 2019/9/3 **

1、手寫代碼部分。實現一個單鏈表、單鏈表刪除某節點的方法?

2、手寫代碼部分。用棧實現一個隊列

3、i++和++i 這些是否是線程安全?爲什麼?如何保證安全?

4、volatile 關鍵字的實現原理?

5、如何保證 ABC 三個線程按順序執行

6、JAVA 的集合全部講一遍

7、TreeMap 是直接實現了哪個接口?

8、數據庫的索引結構?

9、什麼是 B+樹?爲什麼選擇 B+樹作爲索引結構,不選擇用二叉樹?

10、數據庫事務隔離級別?

11、幻讀的避免是如何實現的?

12、JAVA 的鎖有幾種?synchronized 和 lock 的分別原理?

13、SyclicBarrier 中,如何通知阻塞的線程?

**二面 2019/9/3 **

1、你有什麼問題要問我的嗎?

2、情景題:日誌文件中有 IP 和時間。找出 10min 內出現次數超過 800 的 ip

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