Java程序员必备!java商城项目难点
一面
正式批(別看了都是正式批,提前批就沒讓我面!)一面。面試時間 08-18,19:53 - 21:08,全程1個小時15分鐘。涉及內容:項目、網絡、數據庫、算法題
1. 自我介紹
2. 項目中的有挑戰的點(問了大概有五六個問題)
3. 問了下本科啥專業的,學過哪些課程(主要是為了下面面試問題的內容,我說了操作系統和計算機網絡學的時間久了,結果就挑著問hhh,佛了)
4. 你知道 DNS 協議嘛?描述一下從輸入域名到顯示的過程(從 DNS 解析到 HTTP 鏈接建立到內容返回瀏覽器渲染)
5. 你剛提到了遞歸查詢和迭代查詢,具體說一說什么樣子的?(上面說到 DNS 獲取域名對應的 ip 過程分為兩個過程,即遞歸和迭代)
6. 本地域名服務器向根服務器查詢的是什么?(這邊沒答好,我說的是下一級的域名服務器的 IP 地址,經過引導理解了,是要從輸入的域名檢驗跟服務器中對應的域名服務器的 IP 地址)
7. TCP 的三次握手,詳細描述一下,最好包括他的一些狀態(說到了 SYN、ACK 以及確認序號和起始序號,但是面試官說第二次握手的時候不需要 SYN 的標志,但是書上是這么說的,讓我再看看,我也不太好反駁。。。)
8. DNS 用的 TCP 還是 UDP?為什么用 UDP?(就是 UDP 的好處,從握手效率、報文的長度來說)
9. TCP 和 UDP 的各自的應用,舉例子
10. TCP 的四次揮手(仍然要說標志位和序號)
11. 2 個 MSL 指的是什么?為什么要 2 個?(確保服務端收到,以及防止端口重用時網絡中仍然有殘余報文段導致錯亂)MSL 指的是什么?(包生存時間)
12. 學過數據庫嗎?ACID 是指什么?(事物的四大屬性)隔離級別?解決的問題?(臟讀、不可重復度、幻讀)這三個現象解釋一下?
13. Mysql 默認的隔離級別是什么?在 Innodb 的可重復讀的情況下可以解決幻讀的情況嗎?(我回答不能,其實應該是不能完全解決,可以一定程度的避免,可以從 next-key lock 的原理想)
14. 知道聚簇索引和非聚簇索引嗎?(底層,B+ 樹的葉子節點區別)非聚簇索引查詢的話會做幾次查詢?(一次)非聚簇索引存的是什么東西?(葉子節點存的是鍵值和數據所在物理地址)
一面總結:比較基礎,面試相當友好,沒有問奇奇怪怪的問題,太幸運了
二面
正式批二面。面試時間 08-20, 14:00 - 14:45,全程45分鐘。涉及內容:java 基礎、鎖、內存分配、算法
1. 自我介紹
2. Java 的繼承介紹一下?多態指什么?(由于面試官沒用過 java,所以只問了點基礎的)
3. 重載和重寫?方法簽名?
4. 類的加載機制(加載、驗證、準備、解析、初始化,每部分做了什么)
5. Java 里面 Map 的類型(提了 HashMap、ConcurrentHashMap、LinkedHashMap、TreeMap)有什么區別?(提了最常說的兩個 map 的區別)
6. CAS 是什么呢?(前面 ConcurrentHashMap 提了)
7. 什么是樂觀鎖什么是悲觀鎖?(CAS 里提了)
8. 還有什么說么?(從樂觀、悲觀鎖到讀寫鎖到互斥鎖共享鎖到CLH鎖MSC鎖自旋鎖偏向鎖公平鎖和非公平鎖可重入鎖,腦殼疼,這鎖太多了一下子記不起來全部,數據庫里面還有老多了)
9. 線程間的同步方式?(共享變量、wait/notify、condition 的 await/signal、父子線程可以通過 InhritableThreadLocal、消息隊列)
10. 什么是死鎖?怎么避免?(條件和破壞條件)
11. 線程和進程有什么區別?
12. Java 里面怎么分配內存?(講了一下從棧到堆中的內存分配)
13. 堆滿是什么概念?(總算扯到垃圾回收了,從 minor gc -> full gc 到新生代和老年代的占比)
14. 虛擬內存和物理內存有什么區別?空間置換?
15. 寫道題吧。接雨水
16. 反問
二面總結:本來以為是會問項目,沒想到還是基礎方面的。不過由于面試官不用 Java,所以一些問題他會深入問而不是看你明白就停了,所以得很了解才行。總的來說沒出大問題,
三面
正式批三面。面試時間 08-20,15:00 - 15:30,全程30分鐘。涉及內容:項目、網絡、基礎、個人規劃
1. 自我介紹
2. 問了問項目
3. 一致性哈希的均衡性?(前面項目里用到了一致性hash)虛擬節點是指什么?
4. Mysql 的高可用方案?(講了一下我們自己用的,以及一些市面上的方案)
5. ELK 用來干什么?數據量大了怎么優化?
6. http 協議各個版本的區別?演進的邏輯?
7. TCP 的一些擁塞控制算法了解多少?
8. 怎么確定數據包丟了?(冗余 ack)ACK 會不會丟掉呢?
9. Java 的內存調優?
10. 內存 gc?(到了最熟的部分,松了一口氣)
11. 對未來的一些工作有沒有一些規劃?從哪塊入手?
12. 反問
三面總結:項目問了一些,基礎也問了,總的感覺字節還是偏基礎一點。
hr面
其實也不算 hr 面了,主要就是了解一下情況然后就發了意向書,中間審批過程比較長,等了很久生怕跪了。。。問題的話沒什么好說的,基本就是意向地點,投了哪些公司和部門,現在手頭上有什么 offer,有什么計劃,畢業時間,哪里人等等。電話還沒打完就發意向書過來了,感覺有點興奮,但是強忍住不表現出來。。。
最后
每年轉戰互聯網行業的人很多,說白了也是沖著高薪去的,不管你是即將步入這個行業還是想轉行,學習是必不可少的。作為一個Java開發,學習成了日常生活的一部分,不學習你就會被這個行業淘汰,這也是這個行業殘酷的現實。
如果你對Java感興趣,想要轉行改變自己,那就要趁著機遇行動起來。或許,這份限量版的Java零基礎寶典能夠對你有所幫助。
領取這份Java零基礎寶典,只需要點擊這里即可免費下載
取這份Java零基礎寶典,只需要點擊這里即可免費下載
[外鏈圖片轉存中…(img-OxjOKBl3-1626925724881)]
總結
以上是生活随笔為你收集整理的Java程序员必备!java商城项目难点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lg g3 android 5.0,lg
- 下一篇: 读取金税盘、税控盘或税务Ukey基本信息