Java學到什麼程度可以去找工作

2020-12-03 杭州華信智原

一、簡歷

簡歷裡面需要包含的內容應該是學歷,自己的技術棧,然後自己做過的一些項目。簡歷不需要太長,兩頁紙即可。裡面應該重點寫你使用過的一些框架,自己做的一些項目,以及自己的收穫,簡練第一。一般面試官不會有很多的耐心,看你的項目詳細描述,所以儘量簡潔明了即可。

二、簡歷投遞

投遞的方式有幾種吧,相信大家也都知道。一般在程式設計師的垂直招聘網站投遞即可,比如脈脈、BOSS直聘、拉勾等等。智聯招聘啥的,不太適合咱們程式設計師,你懂的。另外,由於自己不是大牛,所以如果有獵頭勾搭的話,我儘量不會理會,因為有過血的教訓。所以儘量還是自己投簡歷比較靠譜,或者是內推。

三、面試

由於我是跨城市,所以我接到的面試一般都是電話面試+視頻面試,如果聊得差不多了,也有現場面試,不會拘泥於形式。

一般來說,面試流程都差不太多。首先自我介紹,重點介紹一下自己的一些工作經歷,以及自己主要負責的一些內容。這塊可以提前準備一下,不過也不需要特地準備,別搞得像背書似的,反而覺得不真實。

3.1 技術面試

一般公司都會有兩到三輪的技術面試,大廠的技術面試輪次還可能更多,但是每輪考察的內容又不是很一致,下面列舉一些自己遇到的一些問題。

3.1.1 Java基礎

此時一般會問到一些Java的基礎知識,比如

l synchronized static修飾類和方法有什麼區別

l HashMap的原理,底層數據結構,rehash的過程,指針碰撞問題

l HashMap的線程安全問題,為什麼會產生這樣的線程安全問題

l ConcurrentHashMap的數據結構,底層原理,put和get是否線程安全

l Java IO的一些內容,包括NIO,BIO等

3.1.2 Java高級特性

此時問到的問題一般包含JVM,多線程的一些內容,這塊建議大家多看看源碼,大致如下:

l Java線程池的構造方法,裡面參數的含義,以及原理

l volatile和ThreadLocal解決了什麼問題

l CAS在Java中的具體實現

l Java虛擬機的構成,以及一個Java對象的生命周期,還有堆棧和方法區中存儲的內容

l JVM的GC過程,包括一些實際問題的分析,比如說明一個現象,讓你分析可能是什麼原因會導致這樣的問題,應該如何對JVM參數進行調優

l synchronized和Lock的區別,以及底層實現原理

l Full GC和Minor GC觸發的條件

l GC Roots的選擇

l jmap,jstat,jstack等的使用場景,MAT等

l ClassLoader的加載過程

l CountDownLatch、CyclicBarrier和Semaphore等

l Java 8 的新特性等

3.1.3 資料庫

這裡的資料庫包含兩種,一種一般是MySQL,另外是NoSql資料庫,包括Redis、MongoDB等。一般會問的問題有:

l inner join和left join等的區別

l SQL調優,explain,profile等

l InnoDB和Myisam的區別

l ACID

l 資料庫的事務隔離級別,以及他們分別能解決什麼問題

l Redis的幾種數據結構

l Redis是單線程還是多線程

l Redis的持久化

l 悲觀鎖和樂觀鎖的含義

l 最左前綴索引,索引的數據結構,聚簇索引等(這塊還沒搞明白)

3.1.4 框架

3.1.4.1 Spring

因為spring是我們常用的框架,所以這塊的內容會問的比較多,也會比較細。

l Spring的兩大特性(IoC和AOP)

l Spring的bean的生命周期

l Spring是如何解決Bean的循環引用問題的

l AOP的兩種實現方式,以及兩者的區別(這裡其實使用了動態代理,具體動態代理分為兩種,一種是JDK的動態代理,主要使用的是JDK的反射,還有一種是CGLib,兩者區別可以自己搜索,文章比較多)

l AOP一般的使用場景

l Spring的事務原理

3.1.4.2 MyBatis

這塊問到的比較簡單些:

l $和#的區別

l MyBatis和Hibernate的區別

l 源碼,一般問的比較少

3.1.4.3 Dubbo

因為平時自己用到了Dubbo,所以這塊會有問到:

l RPC的原理

l Dubbo是如何完成遠程調用的

l Dubbo如何進行調優

l Dubbo的通信協議

l Dubbo是如何實現負載均衡的

3.1.4.4 ZooKeeper

l ZK的使用場景

l ZK的選舉機制

l ZK的節點類型

l 一致性Hash原理

3.1.5 數據結構和算法

這塊的內容是基礎,如果面試官懷疑你的能力,一般一會問到這部分內容,比如樹的遍歷、快速排序等。

3.1.6 linux

一般會問一些命令的使用,然後會舉一個實際的場景,讓你用命令去排查問題,這塊自己不是很熟,需要儘快加強。

3.1.7 綜合題

這塊的題目,面試官一般會問的比較深入。比如如何設計一個搶購系統,String轉Integer等,這部分需要考驗的就是一個人的臨場應變能力,以及在平時工作中系統設計能力的積累,以及考慮問題是否周到等。也有可能會對你簡歷上面寫的系統的設計進行詳細的詢問,所以在你寫簡歷的時候,千萬不能把自己不熟悉的內容寫上去,而且自己又講不清,這樣一般會被直接pass掉。

當然也會問一些常用的maven的命令,設計模式的題目(這部分問的比較多的就是單例模式)。

3.2 HR面試

這塊一般會問一些離職原因,當然也會問一些平時工作中遇到的問題,自己是如何解決的。如果聊得好,這時候HR會跟你談薪資。問到目前薪資的時候,我目前是實事求是的告知的。這裡,可能會有很多人報高一些,差不多的話,問題一般不大,如果太誇張的話,後續可能會有問題,比如讓你提供銀行流水等,差太多的話,可能會有誠信問題。

另外就是薪資漲幅的問題,我的原則是會事先對公司的規模這塊進行考慮,然後結合目前的薪資,一般會設置一個範圍(後來發現這樣很不好,會處於被動),在當前薪資的基礎上上浮30%的樣子(可能各地有差異,不過這個會比較安全)。如果你很擅長談這個,請忽略之。

此外,最重要的可能就是五險一金的繳納了。一般小的公司會讓你選擇是避稅還是不避稅,這裡面還是有點學問的。避稅的話,可能你的公積金會很少。目前我遇到過兩種,一種是每個月按照固定的額度給你交公積金,不論你以後的工資是否上漲,都跟公積金沒有關係;還有一種是按照一個額度給你交,一般是工資的7%給你交,或者按照最低標準給你交。遇到這種情況,請自己慎重考慮是否需要接收offer。

最後,福利這塊也可以問問,比如問一些年終獎,年假,加班調休等。

四、最後

最後還要說幾句。

面試的時候最重要的是誠實。自己不會的就說不會,然後可以自己嘗試著說出一些自己的思路,如果沒有思路,也直說,人無完人,不可能面面俱到,因為你胡編的話,再深入問一下,你就露餡了。

面試之前一定要做充分的準備。比如提前半個月或者一個月,就要開始看一些基礎內容,對當前的工作做一個總結,找出自己的亮點。亮點很重要,一般面試的時候,有了亮點,面試的過程你就能掌握一定的主動權。

相關焦點

  • Python爬蟲學到什麼程度就可以去找工作了?
    有朋友在群裡和大家討論,問的最多的問題就是,python 爬蟲學到什麼程度可以去找工作了,關於這點,和大家分享下我的理解。去招聘網上看看需求都有哪些,直接做個拉勾網爬蟲(有需要的私信)出結果了:仔細看看,我們可以得出以下幾點:1、 python 不是唯一可以做爬蟲的,很多語言都可以,
  • 學java可以做什麼?大數據前景和就業方向又是什麼樣的呢?
    學java可以做什麼?(1) Java可以用來做網站:很多大型網站都是用JSP寫的,JSP全名java server pages,這是一種動態網頁技術,比如我們熟悉的B站,很多政府網站都是用這個寫的所以想學習java的同學還可以負責網站方面的製作,這方面的崗位也比較多。
  • 學計算機專業可以找什麼工作?
    隨著越來越多大學都開設了計算機專業,計算機專業的畢業生再也沒有以前那種找工作不用愁的優勢了。尤其是近些年來,與計算機相關的專業不斷發展,單一的計算機專業已經比較難就業了。如果已經學了計算機專業,可以找以下工作。1.網絡工程師在各大網際網路公司或者網絡信息技術企業從事計算機相關工作。
  • 這幾個醫學類專業沒有學到一定的程度是找不到工作的
    在很多人的眼中醫學專業都是好就業的,不管你學的是什麼。我們也會經常聽見家長說學醫好,將來工作穩定、體面,也不會去深刻地了解這個專業到底是做什麼的,未來的發展以及工作內容,就單純地看到醫學專業,就直接報考了。
  • 作為應屆生,在大廠工作的這半年多我都學到了什麼?
    大二上學期我想把成績提上去,期末基本每科成績都是80,90分以上,但是還是覺得自己學的東西很虛,可以說還是啥也不會,太概念化。大二下可以說是我思想發生轉變的一個時期,班主任的編程小組要招人,我就去嘗試了面試一下,面試內容很簡單,手寫一個冒泡排序,我當時愣住了,腦子裡飄過一行字「冒泡排序是啥東西?」。
  • 開發崗位這麼多,為什麼選Java?你學Java了嗎-開課吧
    TIOBE編程排行榜根據全球工程師、課程和搜尋引擎數量為指數得出,在一定程度上反映了程式語言的發展趨勢。軟體開發可以使用的語法是非常多,但是為什麼Java被廣泛的使用呢?其他程式語言與Java相比,Java語法相對簡單,並且是很多計算機語言的基礎。提到C++語言,很多人發現在使用過程中最容易出現的錯誤就是內存管理,而java有自動垃圾回收器,不用擔心內存。
  • 起薪2萬的爬蟲工程師,Python需要學到什麼程度才可以就業?
    起薪2萬的爬蟲工程師,Python需要學到什麼程度才可以就業? 爬蟲工程師的的薪資為20K起,當然,因為大數據,薪資也將一路上揚。那麼,Python需要學到什麼程度呢?今天我們來看看3位前輩的回答。
  • Java程式設計師需要什麼學歷才能找到工作?學歷低怎麼辦?
    高學歷的人學習能力強,學習IT網際網路行業裡的東西不是什麼難事,而且學歷高相對低學歷的人來說是很好找工作的。很多人應該都聽說過一句話:學歷代表不了什麼,只要技術好,小學學歷也可以很多人在聽到這句話後,就毅然決然的衝進IT行業,通過培訓等等途徑,想要進入這個行業拿高薪,然而現實又是那麼的殘酷,這些學歷低的人往往是花了不少錢最終還落得個找不到工作的下場為什麼會這樣?
  • 動物醫學專業主要學什麼?出來後可以找什麼工作?
    動物醫學專業主要學什麼?出來後可以找什麼工作?  專業解密  說動物醫學,你可能有點陌生;說「獸醫」,你馬上會恍然大悟:哦——知道!近年來,該學科已擴展到公共衛生學、環境保護和野生動物保護、基因工程、人類基本模型和醫藥工業等領域。它研究的對象也逐漸延伸,除了傳統的家禽及寵物外,還包括實驗動物、野生動物、特種經濟動物等,尤其在轉基因動物、克隆動物的操作和動物檢疫等方面更是發展迅速。  這個專業由於沾上了「醫學」二字,所以有的院校學制是五年。也就是說,有一年的時間安排你下去見習和實習,在實踐中增長才幹。
  • 土木工程專業主要學什麼?出來後可以找什麼工作?
    相關推薦:  土木工程專業主要學什麼出來後可以找什麼工作?土建類  專業名稱:土木工程  業務培養目標:本專業培養掌握工程力學、流體力學、巖土力學和市政工程學科的基本理論和基本知識,具備從事土木工程的項目規劃、設計、研究開發、施工及管理的能力,能在房屋建築、地下建築、隧道、道路、橋梁、礦井等的設計、研究、施工、教育、管理、投資、開發部門從事技術或管理工作的高級工程技術人才
  • 跟我學java編程—Java邏輯運算符
    例如:假設一個數值取值範圍為0到100,設該數值為x,不等式0<x<100給出了x的取值範圍,在Java程序語言中,邏輯運算符可以實現類似數學中的不等式。下表列出了Java語言支持的邏輯運算符,表中假設布爾變量A為真,變量B為假。
  • 跟我學java編程—認識java語言的字符類型
    示例1:字符賦值並輸出到命令行窗口在D盤Java目錄下,新建「CharSample.java」文件。示例2:整數賦值並輸出到命令行窗口用記事本打開D盤Java目錄下「CharSample.java」文件,修改代碼如下:編譯「CharSample.java」文件,在命令行窗口輸入「javac CharSample.java」並執行命令,編譯通過後,在命令行窗口輸入「java CharSample」運行Java程序,命令行窗口顯示如下信息:圖
  • Java反射機制深入詳解
    ()字節碼已經加載到java虛擬機中,去得到字節碼;java虛擬機中還沒有生成字節碼 用類加載器進行加載,加載的字節碼緩衝到虛擬機中。考慮下面這個簡單的例子,讓我們看看 reflection 是如何工作的。
  • 什麼?學了這麼久C/C+,還沒有入門?
    用到什麼學什麼!(例如:想打開文件,忘記了用什麼函數,就百度。如果忘記fopen參數,就百度這個函數,背API是不可能入門的)。 語法問題直接 百度 或者 查書。遇到錯誤先看提示。每日一編程。
  • 學Java反射,看這篇就夠了 | 原力計劃
    它有什麼優缺點?它的工作原理是什麼?我怎麼使用它?這麼多的問題,這是在挑釁啊,既然如此,那麼我想起來宮本的那句:想挑戰的,一個一個來。先解決第一個問題。 利用Java反射的機制,就可以讓第一個程式設計師在沒有得到第二個程式設計師所寫的類的時候,來完成自身代碼的編譯。解釋四:如果你是方法,快遞員是虛擬機。快遞員通過地址查地圖找你的叫反射調用。直接去找你的叫直接調用。
  • 一起學JAVA——數組和函數
    之前我們介紹了java的數據類型、變量、流程控制等內容。今天我們高級數據類型——數組以及函數的作用。函數(方法)函數的定義函數就是一段有名字的代碼,可以完成某一特定功能。方法(函數)是java的最小代碼重用單位,方法(函數)是為了重用代碼。方法不能嵌套方法,不能在一個方法內部定義另外一個方法。可以在一個方法內部調用另外一個方法。
  • Java類隔離加載實現原理是什麼?
    Java類隔離加載實現原理是什麼? JVM 提供一個全局類加載器的設置接口,直接替換全局類加載器,但無法解決多個自定義類加載器同時存在的問題。然而JVM會選擇當前類的類加載器來加載所有該類的引用的類。類隔離技術是什麼?
  • 適合Java新手的開源項目集合——在 GitHub 學編程
    各位是否和我剛學完 Java 基礎語法時一樣,陷入過不知道 Java 能做什麼的困擾中?覺得 Java 只能在控制臺裡 System.out.println 列印列印貓啊狗啊、爸爸和兒子嗎?不!在開源的世界裡,有著無數的 Java 項目等待你去發現探索,讓我們一起跟著本篇文章去看看有哪些開源項目吧?
  • 學習java的優勢是什麼?學習難度怎麼樣
    學習java成為了現在比較熱門的話題。Java是一種可以撰寫跨平臺應用軟體的面向對象的程序設計語言。  他容易學而且很好用,如果你學習過C++語言,你會覺得C++和Java很像,因為Java中許多基本語句的語法和C++一樣,像常用的循環語句,控制語句等和C++幾乎一樣,其實Java和C++是兩種完全不同的語言,Java只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程式。同時截止到2018年8月,java領先其它語言幾乎4.5%。為世界第一程式語言。
  • 跟我學java編程—認識java的整數類型
    整型變量可按如下方式聲明:在一條語句中,可以聲明多個同一類型的整型變量,每個變量之間用英文逗號分隔:整型變量可按如下方式初始化:在初始化變量或為變量賦值時,常常會用到一些數值,這些值通常稱為常量。Java語言中整型常量有三種不同的表示形式:十進位、八進位和十六進位。