Java開發環境!java基礎知識點總結

一面(個人感覺回答得還不錯)

1. 自我介紹
2. 說項目,項目問的非常深(本人提到之前做過的一篇關于FULL GC的問題定位和優化的項目以及一個多并發的項目)

2.1 對于自己產于過項目的系統定位是否清楚?
2.2 對于系統的各個模塊是否清楚?
2.3 每個接口的tps?
2.4 對于上下游系統的依賴?
2.5 對于使用到的中間件、框架是否清楚?

3. 你覺得你做的項目中最有亮點的事情?
4. memcache redis同類中間的差異、優缺點?使用注意點有哪些?

memcache可以存儲的數據類型只有字符串類型,而redis可以存儲字符,list,sorted List,hash數據類型的數據;
memcache不支持數據持久化,redis支持RDB,AOF持久化;
memcache不支持集群,redis支持redis-cluster集群

5. redis分布式鎖說說

我提到了redis的setnx()方法,以及使用redis的KV結構,lock作為key,key對應的value使用map結構,map中使用請求requestId作為map的key,過期時間作為map的value,獲取鎖使用cas算法,比較時間是否過期來獲取鎖和釋放鎖

6. TCP,UDP
7. 多并發項目的并發量,有沒有壓測過,以及QPS,請求的消息量太大,使用自己創建的任務隊列會不會使內存爆?
8. Redis集群主從數據同步

主從集群實現了數據的讀寫分離,主服務器負責讀寫,偏重寫,從服務器只負責讀。主服務器啟動之后向從服務器發送日志文件,從服務器根據日志文件進行數據的更新,之后如果主服務器有寫操作,也會向從服務器發送相應的寫操作

9. Zookeeper實現選舉的原理

zk的選舉過程中其起始所有結點的狀態為looking,當某個結點的選票超過所有結點數的一半,該結點就會成為leader,結點狀態為leading,其他結點會成為followers,結點狀態為following。選舉的依據是(sid,zxid)數據,sid代表結點的ID,zxid代表事務ID,選舉過程中每個結點第一輪選舉會選舉自己作為leader,將(sid,zxid)發送給其他結點,其他結點收到數據(sid,zxid)與自身的數據做比較,如果zxid比自身zxid的要大,則直接選舉當前結點;如果小于,堅持選舉自己;如果zxid相等,比較sid哪個大,大者作為leader。

10. 說說分布式(我說的是Dubbo)
11. 數據庫事務,分布式數據一致性如何實現?

讀者可以了解一下ZAB協議,我大概就是圍著ZAB協議說的

12. SpringIOC,SpringAOP

我簡單說了說IOC,AOP的原理,以及原理依賴的模式

13. 數據庫事務的隔離級別

四大隔離界別:Uncommitted-read Commited-read Repeated-read Serializable分別針對數據庫臟讀,不可重復讀,虛讀問題

14. 談談RPC

RPC遠程調用,說了說原理,使用到的組件,以及RPC主要的任務:序列化,傳輸數據,方法調用(方法對應的ID)

15. 算法題:筆試題-最短路徑問題(這道題是通過的)
某物流派送員p,需要給a、b、c、d4個快遞點派送包裹,請問派送員需要選擇什么的路線,才能完成最短路程的派送。假設如圖派送員的起點坐標(0,0),派送路線只能沿著圖中的方格邊行駛,每個小格都是正方形,且邊長為1,如p到d的距離就是4。隨機輸入n個派送點坐標,求輸出最短派送路線值(從起點開始完成n個點派送并回到起始點的距離)。

我的做法是使用排列算法,將所有的情況排列出來,計算最短路徑

二面(個人感覺回答的特別垃圾,六道問題回答了兩道)

1. 自我介紹
2. 懟項目,各個角度刁難
3. FULL GC問題排查工具

我做項目時其實沒有使用什么工具,就是用Linux命令TOP,TOP交互命令 1,H;jsatck,jstat以及JVM的相關參數和JVM日志的查看

4. 從事開發遇到最具有難度的問題
5. Spring事務,嵌套事務

這道題其實我是被問懵了,我回答得相當不好,一直回答事務隔離那一塊,面試完我總結了一下有關Spring事務相關知識點

6. 面向接口編程的好處是什么

問的問題太抽象,我回答不好,面試官說不夠完善

7. 數據庫兩個insert同時操作同一張表,第一個線程操作一半,問第二個線程會發生什么?

我回答的稀巴爛,下來查了一下,大概就是說這里涉及到的鎖是間歇鎖,讀者可以看看相關知識

8. 說說死鎖

舉個例子,兩個線程1和2,兩個鎖a和b,線程1拿到a鎖后申請要b鎖,而同時線程2已經拿到b鎖,要申請a鎖,兩個線程之間陷入僵持狀態

最后的內容

在開頭跟大家分享的時候我就說,面試我是沒有做好準備的,全靠平時的積累,確實有點臨時抱佛腳了,以至于我自己還是挺懊惱的。(準備好了或許可以拿個40k,沒做準備只有30k+,你們懂那種感覺嗎)

如何準備面試?

1、前期鋪墊(技術沉積)

程序員面試其實是對于技術的一次摸底考試,你的技術牛逼,那你就是大爺。大廠對于技術的要求主要體現在:基礎,原理,深入研究源碼,廣度,實戰五個方面,也只有將原理理論結合實戰才能把技術點吃透。

下面是我會看的一些資料筆記,希望能幫助大家由淺入深,由點到面的學習Java,應對大廠面試官的靈魂追問,有需要的話就戳這里:藍色傳送門打包帶走吧。

這部分內容過多,小編只貼出部分內容展示給大家了,見諒見諒!

  • Java程序員必看《Java開發核心筆記(華山版)》

  • Redis學習筆記

  • Java并發編程學習筆記

四部分,詳細拆分并發編程——并發編程+模式篇+應用篇+原理篇

  • Java程序員必看書籍《深入理解 ava虛擬機第3版》(pdf版)

  • 大廠面試必問——數據結構與算法匯集筆記

其他像Spring,SpringBoot,SpringCloud,SpringCloudAlibaba,Dubbo,Zookeeper,Kafka,RocketMQ,RabbitMQ,Netty,MySQL,Docker,K8s等等我都整理好,這里就不一一展示了。

2、狂刷面試題

技術主要是體現在平時的積累實用,面試前準備兩個月的時間再好好復習一遍,緊接著就可以刷面試題了,下面這些面試題都是小編精心整理的,貼給大家看看。

①大廠高頻45道筆試題(智商題)

②BAT大廠面試總結(部分內容截圖)

③面試總結

3、結合實際,修改簡歷

程序員的簡歷一定要多下一些功夫,尤其是對一些字眼要再三斟酌,如“精通、熟悉、了解”這三者的區別一定要區分清楚,否則就是在給自己挖坑了。當然不會包裝,我可以將我的簡歷給你參考參考,如果還不夠,那下面這些簡歷模板任你挑選:

以上分享,希望大家可以在金三銀四跳槽季找到一份好工作,但千萬也記住,技術一定是平時工作種累計或者自學(或報班跟著老師學)通過實戰累計的,千萬不要臨時抱佛腳。

另外,面試中遇到不會的問題不妨嘗試講講自己的思路,因為有些問題不是考察我們的編程能力,而是邏輯思維表達能力;最后平時要進行自我分析與評價,做好職業規劃,不斷摸索,提高自己的編程能力和抽象思維能力。

萬也記住,技術一定是平時工作種累計或者自學(或報班跟著老師學)通過實戰累計的,千萬不要臨時抱佛腳。

另外,面試中遇到不會的問題不妨嘗試講講自己的思路,因為有些問題不是考察我們的編程能力,而是邏輯思維表達能力;最后平時要進行自我分析與評價,做好職業規劃,不斷摸索,提高自己的編程能力和抽象思維能力。

以上文章中,提及到的所有的筆記內容、面試題等資料,均可以免費分享給大家學習,有需要的話就戳這里打包帶走吧。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385694.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385694.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385694.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java開發環境!java工程師薪資行情

美團技術一面20分鐘 晚7點,因為想到下周一才面試,我剛準備出去打個羽毛球,北京的電話就來了。面試官各種抱歉,說開會拖延了。 1、自我介紹 說了很多遍了,很流暢撿重點介紹完。 2、問我數據結構算法好不好 挺好的&…

Java開發環境!為什么MySQL不推薦使用uuid作為主鍵

目錄 由于文檔內容過多,共計有500頁,因此為了避免影響到大家的閱讀體驗,在此只以截圖展示部分內容,詳細完整版的可以在文末獲取! 部分內容展示 深入淺出索引(上) 索引的常見模型InnoDB 的索引…

Java開發環境!我總結了所有面試題

Linux 專題 微服務專題 微服務架構有哪些優勢?微服務有哪些特點?設計微服務的最佳實踐是什么?微服務架構如何運作?微服務架構的優缺點是什么?單片,SOA 和微服務架構有什么區別?在使用微服務架構…

Java開發知識體系!我用2個月的時間破繭成蝶

CAP原則 在分布式系統要滿足CAP原則,一個提供數據服務的存儲系統無法同時滿足:數據一致性、數據可用性、分區耐受性。 C數據一致性:所有應用程序都能訪問到相同的數據。 A數據可用性:任何時候,任何應用程序都可以讀寫…

你真的了解Java系統啟動流程嗎?mysql不包含多個字符

Kubernetes(k8s)理論與實戰雙飛 ①理解控制器: ②網絡詳解: ③伸縮原理: ④認證與調度: ⑤服務原理: ⑥鏡像自動拉取: ⑦節點就緒問題之一: ⑧節點就緒問題之二&#xf…

你花了多久弄明白架構設計?多個java應用同時訪問數據庫

01 分布式限流:NginxZooKeeper 1.1 分布式限流之Nginx 請解釋一下什么是 Nginx? 請列舉 x Nginx 的一些特性。 請列舉 x Nginx 和 和 Apache 之間的不同點 請解釋 x Nginx 如何處理 P HTTP 請求。 在 x Nginx 中,如何使用未定義的服務器名稱來阻止…

保潔阿姨看完都會了!java面向對象編程開發證書

一、什么是ZooKeeper ZooKeeper是一個分布式服務協調框架,提供了分布式數據一致性的解決方案,基于ZooKeeper的數據結構,Watcher,選舉機制等特點,可以實現數據的發布/訂閱,軟負載均衡,命名服務&…

做了6年的Java,docker端口映射無法外部訪問

1.1. 操作系統簡介 我通過以下四點介紹什么是操作系統: 操作系統(Operating System,簡稱 OS)是管理計算機硬件與軟件資源的程序,是計算機的基石。操作系統本質上是一個運行在計算機上的軟件程序 ,用于管理…

做了6年的Java,mysql配置環境變量mac

一:打破狹窄的技術視野 ①真實項目對外開發系統性講解 ②例如電商、教育行業、社區網站等主流互聯網場景的商業解決方案講解 ③針對不同業務場景海量數據或者訪問量以及及時響應等所面臨的挑戰進行對應的瓶頸分析。 ④拓展技術視野,與一線大廠零距離…

做了三年Java,docker網絡映射配置

數據庫 2.1 池化技術:如何減少頻繁創建數據庫連接的性能損耗?2.2 數據庫優化方案(一):查詢請求增加時,如何做主從分離?2.3 數據庫優化方案(二):寫入數據量增…

入職阿里啦!docker-e命令參數

JAVA基礎 JAVA異常分類及處理異常分類異常的處理方式Throw和throws的區別JAVA反射動態語言反射機制概念 (運行狀態中知道類所有的屬性和方法)Java反射API反射使用步驟(獲取Class對象、調用對象方法)獲取Class對象的3種方法創建對…

算法 | 快速排序

【算法圖解】&#xff1a;數據結構教程李春葆版P378 1. 遞歸代碼&#xff1a; #include<iostream> #include<vector> using namespace std;void quicksort(vector<int> &v, int left, int right) {if (left < right){int key v[left];int low le…

全套學習!java排序sort方法

字節跳動 ?試前?????結 ?試前 頭條的?試是三家?最專業的&#xff0c;每次?試前有專?的HR和你約時間&#xff0c;確定OK后再進??試。每次都是通過視頻?試&#xff0c;因為都是之前都是電話?或現場?&#xff0c;所以視頻?試還是有點不?然。也有?覺得視頻?試…

【排序算法】計數排序

當輸入的元素是 n 個 0 到 k 之間的整數時&#xff0c;它的運行時間是 Θ(n k)。計數排序不是比較排序&#xff0c;排序的速度快于任何比較排序算法。 由于用來計數的數組B的長度取決于待排序數組中數據的范圍&#xff08;等于待排序數組的最大值與最小值的差加上1&#xff0…

全套學習!mysql2003錯誤代碼

正文 在寫這個文章之前&#xff0c;我花了點時間&#xff0c;自己臆想了一個電商系統&#xff0c;基本上算是麻雀雖小五臟俱全&#xff0c;我今天就用它開刀&#xff0c;一步步剖析&#xff0c;我會講一下我們可能會接觸的技術棧可能不全&#xff0c;但是夠用&#xff0c;最后…

全套學習!mysql命令窗口執行sql文件

阿里P8級架構師核心理論落地篇 再造淘寶&#xff0c;貫穿全系&#xff0c;阿里團隊代碼落地&#xff0c;詳細每個版本迭代&#xff0c;拒絕2-3個月PPT架構師再造淘寶之咚寶-技術支撐-完整搭建DevOps再造淘寶之咚寶-統一規則-代碼規范落地解析再造淘寶之咚寶搭建基礎服務再造淘…

java招聘職位描述,附學習筆記+面試整理+進階書籍

面&#xff1a;為什么要使用雙親委派機制去加載類&#xff1f; 答&#xff1a;避免多份同樣字節碼的加載&#xff0c;浪費內存。 類的加載方式 隱式加載&#xff1a;new顯示加載&#xff1a;loadClass、forName等 類的裝載過程如下圖&#xff1a; 面&#xff1a;loadClass和…

94. 二叉樹的中序遍歷

給定一個二叉樹&#xff0c;返回它的中序 遍歷。 示例: 輸入: [1,null,2,3] 1 \ 2 / 3 輸出: [1,3,2] 進階: 遞歸算法很簡單&#xff0c;你可以通過迭代算法完成嗎&#xff1f; 來源&#xff1a;力扣&#xff08;LeetCode&#xff09; 鏈接&#xff1a;http…

判斷兩個結構體是否相等

一、判斷兩個結構體是否相等 判斷兩個結構體是否相等&#xff1a;重載操作符""不能用函數memcpy來判斷兩個結構體是否相等&#xff1a;memcmp函數是逐個字節進行比較的&#xff0c;而struct存在字節對齊&#xff0c;字節對齊時補的字節內容是隨機的&#xff0c;會產生…