-
1 # IT修行者
-
2 # IT人劉俊明
Java開發基本上都是進行後端(服務端)開發,根據方向不同開發的側重點還是有所區別,所以準備面試之前需要對工作方向有一個大致的瞭解,這樣才能有針對性的進行準備。
Java開發很大一部分是從事Web後端開發,做Web後端開發需要準備的內容比較多,大致分為以下幾個部分:
-
3 # 華信智原天津IT達人
首先Java後臺開發相關的理論基礎和相關專案經驗肯定要準備充足。
第二,瞭解你所要面試的那家公司的開發專案,當然做過類似專案更有經驗了。
最後是你個人的面試準備,涉及到每個人都是不一樣的。最重要的是體現個人的能力。
天津華信智原 專注大學生,致力於人工智慧、大資料商業專案實訓。Java軟體開發、大資料分析、Python+AI人工智慧、UI設計(平面設計、網頁設計、APP設計、互動設計)、網路營銷(新媒體運營、SEM競價推廣、SEO最佳化)、PHP開發、web互動式開發、跨境電商(全面系統學習電商) 現網盤有全套課程學習資料,想要的關注分享私發
-
4 # 機器矩陣
1 專案經驗。你做過什麼專案,專案流程和難點在哪,如何解決的。
2 框架知識。例如ssm框架主要工作原理,與傳統的servlet和jdbc相比他們有什麼優點和缺點。
3 為人處事方面了。禮貌,謙遜,平和。
-
5 # 海哥聊娛樂圈內事
起碼先準備下面試題哈。
阿里巴巴Java面試題(一)
1、String和StringBuffer的區別
2、gc的概念,如果A和B物件迴圈引用,是否可以被GC?
3、Java中的記憶體溢位是如何造成的
4、String s = “123”;這個語句有幾個物件產生
5、Error、Exception和RuntimeException的區別,作用又是什麼?
6、列舉3個以上的RuntimeException
7、reader和inputstream區別
8、hashCode的作用
9、Object類中有哪些方法,列舉3個以上(可以引導)
10、char型變數中能不能存貯一箇中文漢字?為什麼?
11、列舉幾個Java Collection類庫中的常用類
12、List、Set、Map是否都繼承自Collection介面?
13、HashMap和Hashtable的區別
14、HashMap中是否任何物件都可以做為key,使用者自定義物件做為key有沒有什麼要求?
15、interface 和 abstrat class的區別 是否可以繼承多個介面,是否可以繼承多個抽象類
16、 啟動一個執行緒是用run()還是start()? 多執行緒有幾種實現 同步和併發是如何解決的 什麼叫守護執行緒,用什麼方法實現守護執行緒(Thread.setDeamon()的含義) 如何停止一個執行緒? 解釋是一下什麼是執行緒安全?舉例說明一個執行緒不安全的例子。解釋Synchronized關鍵字的作用。 當一個執行緒進入一個物件的一個synchronized方法後,其它執行緒是否可進入此物件的其它方法?
17、瞭解過哪些JDK8的新特性,舉例描述下相應的特性?
18、對sql進行最佳化的原則有哪些?
19、servlet生命週期是生命與cgi的區別?
20、StringBuffer有什麼優勢?為什麼快?
阿里巴巴面試題(二):
1.介紹你做過的專案,用到的技術,涉及到的模組,然後從專案中問各種技術實現的細節(為了確保你是真的懂了).
2.看你的試卷,喊你講解做題的思路,以及這樣結果的原因.(考的是各位的java基礎知識了,這點是繞不過去的,懂了就懂了啊,只有平時多看書)
3.團購6位驗證碼以及團購成功後,傳送到你手機上的條碼的實現方式.(第一個問題我說用隨機數+時間來驗證.第二個問題老實說,我也沒答上來,我說用序列,面試官說序列到後期20位以上的時候,使用者體驗很差的)
4.淘寶上是如何保證庫存和訂單之間的資料準確性的.(考點是分散式事務,這個問題我也沒答上來,最後他問我有什麼問題問他的時候,我就反問的這個問題,面試官人挺好的,給我耐心的講解了一遍淘寶的實現方式以及
epay的實現方式. 淘寶是透過分散式事物,中間用了一個叫協調者角色的程式,當那邊點選購買時,會庫存減一,儲存一條預扣的狀態,但是是個預準備狀態,然後做成功後,協調者會在另一個數據庫生成訂單,然後這個訂單也是預狀態,等兩邊都準備好以後,通知協調者,又協調者統一完成這2個數據庫的事物,從而達到完成一筆交易的目的,若其中一方失敗,則將預扣的數字返回到庫存從而實現類似回滾的操作.)
5.索引的原理.能否構建時間索引.時間索引構建後會存在什麼問題.(索引原理我是回答的堆表索引的構建原理以及查詢原理,但是關於時間索引的問題,我也沒回答出個所以然來,看面試官的反饋,好像回答得不夠好吧)
6.你們資料庫的資料量有多大,(回答:我們是電信方面的系統,表上億的資料很正常).問:如果保證效率?
(我是如此回答的,各位自行結合自身的情況參考.答:後臺J OB程式會定期備份,把生產表資料移走,然後備份表也會再備份一次,如此剃度的備份,保證生產庫的資料是最小的.然後備份表採用分割槽和子分割槽,加上構建戰略索引(分析系統的sql,常用
查詢欄位構建複合索引,以減少每次查詢時對錶的訪問次數)).
7.SQL注入的原理以及如何預防,並舉例.(這個相對簡單,網上一搜一大片)
8.使用過Memcache麼? 用在專案中哪些地方? (答,在門戶主機上使用,快取session,分散式的時候,統一訪問這臺主機驗證使用者session是否存在,來維持回話的狀態和實現回話同步.又追問:java程式碼中如何實現訪問門戶伺服器的這個session池子的? 幾年前的程式碼,確實忘記了..於是坦白的說,記不清楚了 )
這些是主要的問題,當你回答一個大問題時中間還有很多比較碎的追問性質的小問題,總體給我的感覺是,氛圍很輕鬆+愉快的,技術層面上還是需要你真正的理解透徹一些關鍵技術點,才能做到應付各種追問和給出滿意的答案吧.如果只是一知半解想去矇混過關肯定是不行的,畢竟在支付寶的技術大牛面前,多追問幾句,也就把你逼到死角了.
還有一點比較重要的感覺就是,他們比較在意你是否瞭解當下的一些比較熱的技術點,比如淘寶的秒殺,是如何保證高併發下的安全性和效能,新浪微博那種大資料量的傳送,怎麼就保證正確性和時效性的.
阿里巴巴面試題(三):
1.談談你對HashMap的理解,底層原理的基本實現,HashMap怎麼解決碰撞問題的?
2.開發中用了那些資料庫?回答mysql,儲存引擎有哪些?然後問了我悲觀鎖和樂觀鎖問題使用場景、分散式叢集實現的原理。
3.springmvc和mybatis的工作原理,有沒有看過底層原始碼?
4.熟悉IO麼?與NIO的區別,阻塞與非阻塞的區別
6.海量資料分析。
7.執行緒安全和非執行緒安全。
8.HTTP2.0、thrift。
9.java反射應用
10.分散式事務一致性。
11.nio的底層實現。
12.jvm基礎是必問的,jvm GC原理,JVM怎麼回收記憶體。
13.API介面與SDI介面的區別
14.dubbo如何一條連結併發多個呼叫。Dubbo的原理,序列化相關問題。
15.用過哪些中介軟體。
16.做過工作流引擎沒有。
17.以前的工作經歷,自己覺得出彩的地方
18.執行緒池的一些原理,鎖的機制升降級
19.從系統層面考慮,分散式從哪些緯度考慮
20.Hadoop底層怎麼實現
21.threadLocal,執行緒池,hashMap/hashTable/coccurentHashMap等
22.秒殺系統的設計
23.虛擬機器,IO相關知識點
24.Linux的命令
25.一個整形陣列,給定一個數,在陣列中找出兩個數的和等於這個數,並打印出來,我寫的時間複雜度高,要求O(n)。
26.n個整數,找出連續的m個數加和是最大。
27.更重視開源技術
28.資料庫鎖隱原理
29.1000個執行緒同時執行,怎麼防止不卡
30.並列的併發消費問題)
31.高併發量大的話怎麼處理熱點,資料等
32.如何獲取一個本地伺服器上可用的埠
33.流量控制相關問題
34.資料庫TPS是多少,是否進行測試過
35.快取擊穿有哪些方案解決
36.Java怎麼挖取回收器相關原理
37.Java的集合都有哪些,都有什麼特點
38.分散式鎖,redis快取,spring aop,系統架構圖,MySQL的特性
39.場景,同時給10萬個人發工資,怎麼樣設計併發方案,能確保在1分鐘內全部發完 打個比方會提出類似的場景
1-3頁面試題,第4頁筆試題加Java招聘資訊。[page]
支付寶筆試題
(1). cookie 和 session 的區別
cookie機制採用的是在客戶端保持狀態的方案,
而session機制採用的是在伺服器端保持狀態的方案。
1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙
考慮到安全應當使用session。
3、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能
考慮到減輕伺服器效能方面,應當使用COOKIE。
4、單個cookie儲存的資料不能超過4K,很多瀏覽器都限制一個站點最多儲存20個cookie。
5、將登陸資訊等重要資訊存放為SESSION
其他資訊如果需要保留,可以放在COOKIE中
(2). JVM 記憶體模型
(3). SQL注入的原理
(4). . 悲觀鎖 和 樂觀鎖
(5). . 讀程式,輸出結果. 關於treemap的
(6). . linux 基礎命令,統計日誌中的資訊
(7). . java 分散式叢集
(8). . 一道設計題,具體到資料庫的表.大概是淘寶的搜尋中,輸入手機,會出來很多型別,按品牌按價格區間按手機種類.
-
6 # 小生經驗談
1 準備下基本的資料結構相關的:如連結串列/二叉樹等常見問題,排序等等
2 各個公司的面試風格可能不一樣,提前找點相關的,心裡不慌
3 java相關的,如jvm底層,設計模式等等
4 後臺開發相關的,架構設計/MVC/資料庫/併發/分散式/訊息佇列/rpc等等
5 開源框架如果有了解的話,再複習一下
6 做過的專案,這個好好準備一下
7 可以找幾家面面試試,要做好每次的總結
-
7 # 科技大咖的Vitamin
首先不知道你要面試的是那個級別的Java程式師,那面主要從要撐握的主要技能方面來說一下。
spring系列spring框架是做Java框架基本避不開的基礎系列,意思是說學好Spring對後面的學習是非常重要的基礎。
Spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小隻有1MB多的JAR檔案裡釋出。並且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的物件不依賴於Spring的特定類。控制反轉——Spring透過一種稱作控制反轉(IoC)的技術促進了松耦合。當應用了IoC,一個物件依賴的其它物件會透過被動的方式傳遞進來,而不是這個物件自己建立或者查詢依賴物件。你可以認為IoC與JNDI相反——不是物件從容器中查詢依賴,而是容器在物件初始化時不等物件請求就主動將依賴傳遞給它。面向切面——Spring提供了面向切面程式設計的豐富支援,允許透過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用物件只實現它們應該做的——完成業務邏輯——僅此而已。它們並不負責(甚至是意識)其它的系統級關注點,例如日誌或事務支援。
而由於spring是Java的一個基礎框架,所以有很多Java上的其它方案可以在spring中整合,對於Java來說spring 非常重要。
資料庫資料庫基本也是無論大小專案都需要的一個環節,因為資料庫都要要持久化。
國內常用的資料庫主要是Mysql。
mysql的主要學習點:
1、如何最佳化sql語句。
2、如何按照場景使用正規化設計還是非正規化設計。
3、學習事務。
4、主從庫。
5、分割槽。
6、分庫分表。
產品釋出如果公司產品還在單點階段那麼透過人工釋出還沒有什麼問題,如果公司產品已處在多點或Soa等微服務階段再透過人手打包或釋出就會不太合理。
Maven
maven是一個專案管理工具,它包含了一個專案物件模型 (Project Object Model),一組標準集合,一個專案生命週期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來執行定義在生命週期階段(phase)中外掛(plugin)目標(goal)的邏輯。當你使用Maven的時候,你用一個明確定義的專案物件模型來描述你的專案,然後Maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)外掛。
透過maven構建的產品,再透過持續整合工具進行自動化釋出。
-----------------------------------
本人現處廣州從事網際網路工作多年,資深技術人員、管理人員。願結識有網際網路業務的技術人員或企業人員。
-
8 # 碼道成功
java開發從事B/S的後臺開發,面試技術點:
java基礎知識
java開發相關的框架,Spring、SpringMVC、Mybatis等,微服務SpringCloud、Dubbo等
非關係星資料庫redis,MongoDB等
svn/gid版本管理
技術面得差不多,主要就是看專案經驗了
-
9 # 千鋒武漢
很多Java程式設計師在面試時,通常會遇到以下幾個問題(幾個比較經典的)!下面,跟著我一起來看看具體是哪幾個問題吧!
1、自我感覺自己的Java的技術不錯,但是面試往往不如人意;
2、對面試官提出的問題很懵,不知道它問的是什麼?
3、面試才開始,有些面試官就瘋狂地從知識基礎的開始詢問;
4、一些面試官一直在問有關業務場景的問題,完全不知道面試前要準備什麼。
面試(無論是為了找工作還是升職)是我們每個人都無法逃避的事情。有時候,與其一味寫程式碼,不如提升一下自己的面試技巧。我特意蒐集了很多資訊,整理,現在分享給大家!
1、Java的基本知識很重要。能否熟練掌握Java基礎知識,是一項被許多大公司高度重視的基本能力,但總有人追求高深的技術,而忽略它。如果您的底層知識紮實,一套完整的框架知識,這將會為您未來所有的面試打下堅實的基礎。
2、不要答非所問,明確面試提問的意圖面試官針對不同的Java崗位要求,對能力考察的重點有些差異!
如果你是參加校招,會重點看到你的基本知識,邏輯思維,更多以挖掘潛力為主;
如果你是初級Java工程師,你需要注重基本知識的應用和自身掌握知識的廣度;
對於資深或高階Java工程師來說,更需要對基本原理有深刻的理解,並且能夠靈活地使用各種知識,一般以綜合能力為主。
3、瞭解Java應用能力考察點和加分項不同型別的公司對候選人的能力需要而不同。對於社交門戶,Java工程師的考察知識是大規模和高併發場景的應用和體系結構能力。
O2O行業將重點放在對求職者綜合能力的考察;
互金更喜歡具有縝密的邏輯思維和在高可用性安全領域經驗豐富的候選人。
因此,為了提高面試合格率,達到事半功倍的效果,面試前應根據公司型別和崗位要求進行特殊準備。
面試是一個交流的過程,千萬不能生搬硬套,要根據具體情況分析,提出合適的問題,比如從公司工作,團隊,客戶等工作相關的內容提出問題,那麼就不會有太多的錯誤。
回覆列表
Java後臺開發崗是根據工作年限的不同,等級也不同的。1-3年經驗,是初級開發工程師,3-5年為中級開發工程師,5年以前也一般為高階開發工程師的錄用標準。對於絕大多數公司,對面試者的工作經驗是硬性標準,並且對於不同階段的員工,面試是有不同的要求的。
1 Java初級或者初級不到的應屆生入門階段。
本階段的面試都是考Java基礎,集合,JVM等基礎概念的考驗,因為這個階段別人都知道,你工作經驗不多,所以在專案經驗上的要求不會太高,基本有1-2兩個專案經驗就夠了,對基礎的考察會非常注重,比如常見的排序演算法等,都是必須要去準備的,這些都是必不可少的。基礎不紮實,基本就沒戲了。
2 Java中級開發工程師
這一階段面試專案經驗就非常重要了,這三年來你做的專案是哪方面的,Web專案還是JavaEE專案,有無千萬級資料大專案等等都是面試官非常看重的,對於這一階段,筆試基本就是個擺設,有的公司可能看到經驗就直接免了筆試,畢竟經驗放在這裡。然後就是之前做的專案和麵試公司所需是否對口,這個也非常關鍵。
3 Java高階開發工程師
這一階段老實說就不單單是經驗的問題了,對理論方面Java底層原始碼,流行框架底層原始碼的理解成了重中之重,Redis等中介軟體的使用,資料庫調優經驗等都是必不可少的,工作年限達到了,理論研究沒上去也是不行的,這一階段的面試,就像是神仙打架級別的,難度是非常大的。