新聞中心
Java軟件工程師主要學(xué)習(xí)哪些課程?
01、Java基礎(chǔ)
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)龍海,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
認(rèn)真看一遍 Java核心技術(shù)卷一,會(huì)常見的集合類用法,最主要兩個(gè) ArrayList 和 HashMap,水平到可以刷 leetcode easy 和一些集合類操作的 medium 就OK。其中更進(jìn)一步可以看看 ArrayList 的源碼(這部分源碼幾乎沒有什么難點(diǎn)),有助于理解接口和抽象類的使用。
另外,針對(duì)目前主要的Java面試,我覺得Java內(nèi)存模型、GC、線程安全、線程池這些需要了解,不管面試會(huì)不會(huì)問,至少應(yīng)該要知道Java有這些東西,可以通過看深入理解Java虛擬機(jī)和Java并發(fā)編程實(shí)戰(zhàn)補(bǔ)充這部分知識(shí),實(shí)習(xí)工作應(yīng)該不會(huì)接觸到這些,但還是那句話,這些概念要知道。
02、熟悉一個(gè)數(shù)據(jù)庫和基本SQL語句
數(shù)據(jù)庫主流就是MySQL了,熟悉MySQL的安裝、啟動(dòng)、可視化工具(workbench、navicat等),知道什么是隔離級(jí)別,SQL語句會(huì)寫基本的select,insert,update和兩張表的 inner join,外加增加字段、修改字段的ddl語句,理解索引原理和innodb特點(diǎn)。這里有條件的可以用學(xué)生價(jià)買一個(gè)云主機(jī),國內(nèi)阿里云騰訊云都行,熟悉在 CentOS 或者是 Ubuntu 里命令行安裝和使用MySQL。
另外,作為拓展,可以去了解一下redis的基本使用,作為現(xiàn)在大熱的組件,其實(shí)卻非常容易上手,一些技術(shù)面試很喜歡問。
03、了解一個(gè)Java Web框架
推薦 Spring+SpringMVC+Mybatis(我不太推薦一上來就學(xué) Sping Boot),先自己本地搭建一個(gè)這樣的環(huán)境。
有個(gè)很好的學(xué)習(xí)地方就是github,例如:手把手教你整合最優(yōu)雅SSM框架,跟著這種教程一步一步耐心的配置一個(gè)web開發(fā)環(huán)境。對(duì)于Spring重點(diǎn)理解 IOC和AOP。
推薦使用 Intellij IDEA 進(jìn)行編碼,學(xué)會(huì) Git 的使用,命令包括切換分支、創(chuàng)建分支,add、commit、push、merge(理解什么叫conflict和怎么修復(fù)),不論是用命令行還是IDEA提供的圖形界面都可以,我強(qiáng)烈推薦后者,因?yàn)橛眠^你就知道它有多好用。
04、了解一點(diǎn)前端知識(shí)
這里以我的經(jīng)驗(yàn)來講,你需要會(huì)簡單 html、css、js(angularjs 1.x)和 jQuery,其中前兩者你還需要知道一個(gè) bootstrap,根據(jù)文檔能用它的組件實(shí)現(xiàn)你需要的效果,你學(xué)習(xí)這些東西要多久呢?可能三天吧。。。只需要知道其中最基本的寫法,能實(shí)現(xiàn)項(xiàng)目中的需求,如果之后工作遇到不會(huì)的隨時(shí)可以百度學(xué)習(xí),所以我覺得這不算很艱巨的任務(wù)。
05、基于SSM框架實(shí)現(xiàn)一個(gè)項(xiàng)目
用爛的就是網(wǎng)上書店、個(gè)人博客這類,雖然老掉牙,但是對(duì)熟悉數(shù)據(jù)庫操作、訓(xùn)練增刪改查的業(yè)務(wù)邏輯編寫卻屢試不爽,其中你需要注意的一些點(diǎn):
代碼風(fēng)格,包括駝峰命名法、數(shù)據(jù)庫字段、類型、表名等的設(shè)置,注意面向接口而不要面向?qū)崿F(xiàn)編程。
MVC 究竟在干嗎,我dao、service里寫的代碼怎么差不多啊,那為什么要做兩層?controller里需要做些什么?
再深入(對(duì)于題主需求可能可以忽略但需要了解),登錄時(shí)的密碼存儲(chǔ)怎么做?明文么?session管理怎么搞?事務(wù)配置怎么設(shè)置?我怎么url一變直接跳進(jìn)后臺(tái)了,這部分怎么做權(quán)限控制?前端分頁、后端分頁都是怎么弄的等等
最后,將你的應(yīng)用發(fā)布到你買的云主機(jī)上試試,熟悉基本的 cd、tar、scp、vi、vim、tomcat配置運(yùn)行等基本命令,有助于之后的實(shí)習(xí)工作
06、刷一些簡單的手寫算法題
這些程序員面試中幾乎不可避免,高頻的題目無非就是快排、二分查找、topK、二叉樹三種遍歷、兩個(gè)棧模擬隊(duì)列等等。
怎樣實(shí)現(xiàn)以下算法
死循環(huán)相信沒什么問題,這個(gè)題目就是隨機(jī)生成數(shù)據(jù),然后找出是否有相同的數(shù)據(jù)的過程。如果是簡單的循環(huán)類代碼,就是類似窮舉法,一個(gè)個(gè)比較的過程;但是如果寫的優(yōu)雅一些,實(shí)際上是一個(gè)排序過程。
我們來回憶一下排序的過程,從最簡單的冒泡、選擇,到最高級(jí)的快排、歸并,每一個(gè)排序?qū)嶋H上都進(jìn)行了比較。那么我們只需要在自定義的比較函數(shù)中對(duì)值進(jìn)行輸出即可。
一般語言中都會(huì)內(nèi)置排序函數(shù),例如C的qsort、JavaScript的Array.prototype.sort、PHP的usort等。都支持傳入自定義的比較函數(shù)。下面以C舉例:
#includestdlib.h
#includestdio.h
#define?NUM?20
int?has_equals?=?0;
typedef?struct?item?{?/*?數(shù)據(jù)元素結(jié)構(gòu)體?*/
int?val;?/*?整數(shù)值,用于比較?*/
int?idx;?/*?記錄初始化時(shí)的位置,用于輸出用?*/
}?Item;
void?initData(Item?*arr,?int?len)?{
int?i;
printf("======RANDOM?DATA======\n");
for?(i?=?0;?i??len;?i++)?{
arr[i].val?=?rand()?%?100;?/*?一百以內(nèi)的隨機(jī)數(shù)?*/
printf("%d?",?arr[i].val);
arr[i].idx?=?i;
}
printf("\n");
}
int?myCmp(const?void?*va,?const?void?*vb)?{
Item?*a?=?(Item?*)va;
Item?*b?=?(Item?*)vb;
if?(a-val?==?b-val)?{?/*?兩個(gè)值相等,輸出?*/
printf("Found?Equals:?items[%d]==items[%d]==%d\n",
a-idx,?b-idx,?a-val);
has_equals?=?1;?/*?標(biāo)記找到相等的值?*/
}
return?a-val?-?b-val;
}
void?main()?{
Item?items[NUM];
while?(1)?{
has_equals?=?0;?/*?重置找到重復(fù)標(biāo)記?*/
initData(items,?NUM);
qsort(items,?NUM,?sizeof(Item),?myCmp);
if?(!has_equals)?{
printf("++++++Every?Item?is?unique++++++\n");
break;
}
}
printf("Bye.\n");
}
當(dāng)數(shù)據(jù)有重復(fù)的時(shí)候會(huì)輸出重復(fù)項(xiàng),并標(biāo)記重復(fù)標(biāo)志。C語言中沒有Exception機(jī)制,所以排序完成后再進(jìn)行處理,不能中斷排序過程(也可以使用LongJump)。其他語言中都有Exception機(jī)制,可以直接在檢查到第一個(gè)相等之后就拋異常,外層捕獲異常做邏輯即可。
ASP VBSCRIPT 對(duì)變量如何排序?
1、把a(bǔ)ll轉(zhuǎn)換為數(shù)組
是用數(shù)組的方法來排序
javascript中可以用sort方法來排序,vbs我不清楚
2、把a(bǔ)ll轉(zhuǎn)換為數(shù)組,使用冒泡算法
3、空間換時(shí)間,每一個(gè)用戶增設(shè)一個(gè)字段用于記錄發(fā)帖的總量
文章標(biāo)題:快排javascript,摩托車快排
當(dāng)前路徑:http://www.dlmjj.cn/article/dsohgde.html