-
1 # 程式設計師Bob
-
2 # IT人劉俊明
由於Java程式語言本身屬於全場景程式語言之一,所以不同領域對於Java初級程式設計師的要求也會有所不同,比如Web開發領域和大資料開發領域對於Java程式設計師的知識結構就有不同的要求,另外隨著雲計算的廣泛應用,Java程式設計師也在逐漸向全棧方向發展。
雖然不同領域對於Java初級程式設計師的要求會有所不同,但是以下幾部分知識是Java初級程式設計師應該具備的:
第一:Java開發框架知識。Java語言由於其自身的特點,在程式設計的過程中對於開發框架的依賴程度比較高,雖然在JDK1.9之後,Java語言增強了模組化管理方式,但是要想提升Java開發效率,依然離不開開發框架的支撐。目前Spring系列框架的應用就比較廣泛,初學者目前可以重點關注一下SpringBoot。
第二:資料庫知識。Java開發對於資料庫的依賴程度也是比較高的,所以掌握資料庫知識對於Java初級程式設計師來說也是非常重要的。實際上,很多初級Java程式設計師都會經歷一段“增刪改查”的開發期。由於Java在大資料領域也有比較廣泛的應用,所以Java程式設計師應該重點關注一下資料庫知識,以便於未來向大資料方向發展。
第三:前端知識。Java程式設計師目前需要具備一定的前端知識,而且未來前端知識的掌握情況對於Java初級程式設計師的就業會起到重要的作用。前端知識需要重點關注一下JavaScript的學習,另外還需要關注一下移動端的相關知識,如果能再掌握一定的Android開發知識會更好一些。
最後,Java初級程式設計師也需要熟練使用開發工具,而且要具備一定的程式除錯能力,而要想提升程式除錯能力,一定要多做實驗。
-
3 # 老扎古
可以參考下阿里巴巴Java電話面試題目
1.問下專案應用技術,負責模組,表設計等。
2.java建立執行緒是怎麼做的?
3.Hashmap與ConcurrentHashmap?
4.ConcurrentHashmap是如何實現執行緒安全的? 囧,我答的hashmap加鎖是什麼鬼?
5.多執行緒中執行緒池的作用?
6.實現執行緒池用java那個類來實現?可以建立幾種?
7.執行緒池的原理?
8.執行緒併發的解決方案?redis+Nginx+鎖
9.用過哪些鎖?樂觀鎖,悲觀鎖,共享鎖,自旋鎖
10.這些鎖得具體實現?
11.java記憶體機制?堆疊,記憶體機制等,堆疊的區別
12.會不會用java8寫程式碼,流式呼叫,map對映等?(我現在會了)
13.java多型及其特性?
14.jvm配置調優原理等(答了初始記憶體大小,對大記憶體大小,對於現在的調優引數還沒掌握)
架構方面
15.Spring的核心是那兩點?分別是怎麼做的?
16.注入類元件的標籤?@Autowired,@resource等
17.那些可以被注入?
18.注入到Spring容器裡,例項化的配置的註解?@Configrution @Bean
19.Spring有幾中配置方式?基於java,基於xml
20.BeanFactory與Applicationcontext的區別?
BeanFacotry是spring中比較原始的Factory。如XMLBeanFactory就是一種典型的BeanFactory。原始的BeanFactory無法支援spring的許多外掛,如AOP功能、Web應用等。ApplicationContext介面,它由BeanFactory介面派生而來,因而提供BeanFactory所有的功能
21.ApplicationContext有幾種實現?
4種ClassPathXmlApplicationContext:類路徑載入
FileSystemXmlApplicationContext:檔案系統路徑載入
AnnotationConfigApplicationContext:用於基於註解的配置
WebApplicationContext:專門為web應用準備的,從相對於Web根目錄的路徑中裝載配置檔案完成初始化。
22. @Qualifier的作用?
@Qualifier 註釋指定注入 Bean 的名稱
23.@requestMapping與@responseBody的替換註解?
24.傳引數的標籤, 註解中@RequestParam、@QueryParam、@PathParam和@PathVariable都可以實現
25.@Autowired與@resource的區別
MySQL
26.查詢最佳化問題是如何解決的?建索引
27.讀多寫少的表應該怎麼設計?
阿里巴巴電話面試二面
28.有兩個整數陣列A1,A2,
設計函式求其兩個陣列的最大值和第二大的值,說出設計思路?
29.字串陣列,寫函式求字串最長的公共字首,例如一是abcdgh,二是abcdhj,那麼最長公共字首是abcd,說出你的設計思路,for迴圈次數以及意義
30.前端的es6用過嗎?如何寫ajax請求
31.表資料大如何診斷查詢慢的原因?
32.索引是什麼樣的資料結構?Mysql的預設索引形式
Linux相關
33.Linux定時任務如何配置?
https://www.cnblogs.com/shuaiqing/p/7742382.html
34.Nginx如何配置負載和代理?
35.docker命令的差異?拉取映象,進入容器,docker exec 和Docker attach 區別?
https://blog.csdn.net/halcyonbaby/article/details/46884605
36.場景程式碼題
阿里巴巴電話面試三面
37.redis的過期時間是如何設定的?為什麼這麼設計?
38.dubbo的版本是那個?手動臉紅。
39.jdk8的新特性?1.hashmap2.JVM,3.streamApi,4.Lambda表示式等
40.synchronize是那個層面底層實現的,JVM層面,與reentryLock的區別?
41.Mysql當場口述語句o(╥﹏╥)o,GG
這些回答50%算是還可以的
回答60%基礎不錯
回答70%基礎較好
回答80%有一定機率電話面試能過
當然這只是阿里的面試問題,但是阿里巴巴面試是面試流程和難度都很高,也具備一定參考性,希望題主可以參考借鑑,好好擼程式碼,程式猿頭髮不易,高手大機率絕頂
最後來自一拳超人綺玉老師的一句話
我變禿了,也變強了!
-
4 # JAVA程式設計師
對於這個問題,沒有固定的答案,一般情況下只要你入門就算是初級程式設計師了,初級程式設計師一般是指工作1-3年內水準的程式設計師,不過也有很多公司是根據工資來劃分的,因為程式設計師這個行業,大多數的公司漲工資都是比較慢的,所以很多人選擇跳槽來漲工資的,我上家公司的一個同事工作四年了,是一個開發leader,但是在公司還是屬於初級程式設計師的序列,因為工資還沒有到中級程式設計師的標準,另一個同事才工作2年,因為跳槽過來的,工資直接就是中級程式設計師的標準,所以在公司就屬於中級程式設計師。
所以你不用擔心什麼樣的能力能達到初級程式設計師的標準,這本身就沒有什麼固定的標準,有些大神工作5,6年就成長為架構師了,有些工作5,6年了還是中級程式設計師,個人的成長是和公司有很大的關係的,如果沒有好的平臺,對於個人成長而言是非常不利的,你不用糾結能力什麼樣的能力算是初級程式設計師的標準,只管學習就是了,這個沒有固定的標準。
無論怎樣,既然進入了這個行業就好好學習吧,在這個行業,技術迭代非常快,要求學習能力非常高,不然很快就會被淘汰,祝你好運。
-
5 # Java讀書筆記
筆者作為一個在一線網際網路公司從事多年Java服務端的開發人員,根據自己的認知對您提的問題進行簡單解答,Java初級程式設計師需要具備的能力如下:
程式設計能力程式設計能力是一個程式設計師最基礎的能力,也是大學計算機專業學習跟程式設計相關的第一門課程,可見其重要程度。程式設計流程:分析問題、設計算法、編寫程式、執行程式,分析結果、編寫程式文件。讓程式設計在不依賴某種開發語言的前提下成為自己潛意識的能力是一個程式設計師的基本素質。
熟練掌握Java語言掌握程式設計能力,需要掌握一門程式語言才能把程式實現出來,既然要成為Java程式設計師,那麼熟練掌握Java語言是必不可少的。重點要掌握:Java基礎語法、面向物件設計思想、IO、JDBC以及基本的網路程式設計。
熟悉常用的開發框架公司開發都是採用開發框架進行開發的,所以要想成為Java程式設計師,一定要熟悉Java常用的開發框架。比如Spring+SpringMvc+Mybatis、SpringBoot等。如果不能掌握框架原理,那麼一定要掌握如何使用這些框架,這樣才能讓你在進入一家公司的時候可以更容易上手。
掌握基本的資料庫設計及應用現在的應用基本都是要支援持久化的(資料長久儲存),持久化的儲存介質就是資料庫。資料庫分為關係型資料庫和非關係型資料庫。這兩種資料庫型別最起碼每種各掌握一個。目前mysql是網際網路行業最常用的關係型資料庫,redis是網際網路行業最常用的非關係資料庫,所以推薦學習mysql和redis。
對前端有一定了解作為Java程式設計師跟前端開發對接是必不可少的,所謂知己知彼,百戰不殆,所以我們一定要對前端有一定了解,這樣我們在設計介面以及和前端對接的時候才會更加順利。
對http/https等網路知識有一定了解現在的應用基本都是基於網路通訊的,所以熟悉一定的網路知識是必不可少的。比如我們日常開發的介面一般採用http/https通訊或者RPC通訊,都是基於網路的,作為初級程式設計師,最起碼要了解一下http/https等網路協議才能更好的去完成開發任務。
回覆列表
學習JAVA難度並不高,初中高中的學歷就能學會,但是現在大學生遍地的情況下,學歷是決定是否找工作的主要因數。
再來說哪種算是進入Java程式設計師行列,
1,掌握Java基礎,比如集合的使用,多執行緒的使用,JDBC操作資料庫,異常處理,面向物件思想。
2,解決問題的能力,開發中遇到錯誤,大部分能自己獨立解決。
3,能獨立做一個完整的小型系統。
4,保持積極的學習狀態,總有新東西需要學習的。