大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

面試題首頁(yè) > Java開(kāi)發(fā)工具面試題

Java開(kāi)發(fā)工具面試題

Java開(kāi)發(fā)工具面試題

001什么是Maven?

Maven是一個(gè)項(xiàng)目管理工具,它包含了一個(gè)項(xiàng)目對(duì)象模型(POM:Project Object Model),一組標(biāo)準(zhǔn)集合,一個(gè)項(xiàng)目生命周期(Project LifeCycle),一個(gè)依賴管理系統(tǒng)(Dependency managerment System),和用來(lái)運(yùn)行定義在生命周期(phase)中插件(plugin)目標(biāo)(goal)的邏輯。

002Maven有什么好處?

①首先,maven是一個(gè)優(yōu)秀的項(xiàng)目構(gòu)建工具。使用maven,可以很方便的對(duì)項(xiàng)目進(jìn)行分模塊構(gòu)建,這樣在開(kāi)發(fā)和測(cè)試打包部署時(shí),效率會(huì)提高很多。
②其次,maven可以進(jìn)行依賴的管理。使用maven,可以將不同系統(tǒng)的依賴進(jìn)行統(tǒng)一管理,并且可以進(jìn)行依賴之間的傳遞和繼承。

003Maven常用命令有哪些?

1)install 本地安裝, 包含編譯,打包,安裝到本地倉(cāng)庫(kù)
2)clean 清除已編譯信息,刪除工程中的target目錄。
3)compile 只編譯。javac命令
4)deploy  部署。常見(jiàn)于結(jié)合私服使用的命令,相當(dāng)于是install+上傳jar到私服。
5)package 打包。包含編譯,打包兩個(gè)功能。

004Maven的生命周期?

在Maven中有三套相互獨(dú)立的生命周期,請(qǐng)注意這里說(shuō)的是“三套”,而且“相互獨(dú)立”,這三套生命周期分別是:
(1)Clean清理項(xiàng)目: 在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作。 mvn clean
(2)Default構(gòu)建項(xiàng)目: 構(gòu)建的核心部分,編譯,測(cè)試,打包,部署等等。 mvn compile test package install deploy
(3)Site生成項(xiàng)目站點(diǎn): 生成項(xiàng)目報(bào)告,站點(diǎn),發(fā)布站點(diǎn)。

005Maven倉(cāng)庫(kù)是什么?

Maven倉(cāng)庫(kù)是基于簡(jiǎn)單文件系統(tǒng)存儲(chǔ)的,集中化管理Java API資源(構(gòu)件)的一個(gè)服務(wù)。倉(cāng)庫(kù)中的任何一個(gè)構(gòu)件都有其唯一的坐標(biāo),根據(jù)這個(gè)坐標(biāo)可以定義其在倉(cāng)庫(kù)中的唯一存儲(chǔ)路徑。得益于 Maven 的坐標(biāo)機(jī)制,任何 Maven項(xiàng)目使用任何一個(gè)構(gòu)件的方式都是完全相同的,Maven 可以在某個(gè)位置統(tǒng)一存儲(chǔ)所有的 Maven 項(xiàng)目共享的構(gòu)件,這個(gè)統(tǒng)一的位置就是倉(cāng)庫(kù),項(xiàng)目構(gòu)建完畢后生成的構(gòu)件也可以安裝或者部署到倉(cāng)庫(kù)中,供其它項(xiàng)目使用。
對(duì)于Maven來(lái)說(shuō),倉(cāng)庫(kù)分為兩類:本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)。

006Maven的工程類型有哪些?

1)POM工程
POM工程是邏輯工程。用在父級(jí)工程或聚合工程中。用來(lái)做jar包的版本控制。
2)JAR工程
將會(huì)打包成jar用作jar包使用。即常見(jiàn)的本地工程 - Java Project。
3)WAR工程
將會(huì)打包成war,發(fā)布在服務(wù)器上的工程。如網(wǎng)站或服務(wù)。即常見(jiàn)的網(wǎng)絡(luò)工程 - Dynamic Web Project。war工程默認(rèn)沒(méi)有WEB-INF目錄及web.xml配置文件,IDE通常會(huì)顯示工程錯(cuò)誤,提供完整工程結(jié)構(gòu)可以解決。

007Maven中如何保證這些傳遞依賴不會(huì)引起版本沖突?

使用<dependency>的<exclusion>元素將會(huì)引起沖突的元素排除。

008使用Maven 經(jīng)常遇到的問(wèn)題有哪些怎么解決的?

● 可能由于網(wǎng)絡(luò)波動(dòng),每有下載完成,又緩存了,這個(gè)時(shí)候下載多少次都會(huì)失敗,解決辦法就是去本地倉(cāng)庫(kù)將對(duì)應(yīng)的依賴全部刪除再重新下載
● 由于依賴傳遞帶來(lái)的版本沖突問(wèn)題,解決辦法就是排除依賴。

009什么是Git?

Git 是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),是目前世界上最先進(jìn)、最流行的版本控制系統(tǒng)。可以快速高效地處理從很小到非常大的項(xiàng)目版本管理。特點(diǎn):項(xiàng)目越大越復(fù)雜,協(xié)同開(kāi)發(fā)者越多,越能體現(xiàn)出 Git 的高性能和高可用性。

010Git常用的命令有哪些?

git add 添加文件到暫存區(qū)
git commit 提交文件到本地倉(cāng)庫(kù)
git pull 從遠(yuǎn)程倉(cāng)庫(kù)拉取項(xiàng)目到本地
git push 將本地倉(cāng)庫(kù)的新的改變推送到遠(yuǎn)程倉(cāng)庫(kù)
git clone 將遠(yuǎn)程倉(cāng)庫(kù)復(fù)制到本地
git fetch 抓取
git merge 合并

011git pull、git merge、git fetch三個(gè)命令的區(qū)別?

git clone:是在本地沒(méi)有版本庫(kù)的情況下,從遠(yuǎn)程倉(cāng)庫(kù)克隆一份到本地,是一個(gè)本地版本庫(kù)從無(wú)到有的過(guò)程
git pull:是在本地倉(cāng)庫(kù)已經(jīng)存在的情況下,將遠(yuǎn)程最新的commits抓取并合并到本地版本庫(kù)的過(guò)程
git fetch: 從遠(yuǎn)程版本庫(kù)抓取最新的commits,不會(huì)進(jìn)行合并
git merge:合并
所以git pull = git fetch + git merge

012push之前一定要進(jìn)行哪個(gè)操作?

push之前一定要進(jìn)行本地更新操作。使用git pull命令或者使用git fetch和git merge的命令組合。這時(shí)候,可能會(huì)出現(xiàn)版本沖突,如果出現(xiàn)的話,需要解決完沖突再進(jìn)行代碼push。

013Git如何解決版本沖突?

開(kāi)發(fā)過(guò)程中,我們都有自己的特性分支,所以沖突發(fā)生的并不多,但也碰到過(guò)。諸如公共類的公共方法,我和別人同時(shí)修改同一個(gè)文件,他提交后我再提交就會(huì)報(bào)沖突的錯(cuò)誤。發(fā)生沖突,在IDE里面一般都是對(duì)比本地文件和遠(yuǎn)程分支的文件,然后把遠(yuǎn)程分支上文件的內(nèi)容手工修改到本地文件,然后再提交沖突的文件使其保證與遠(yuǎn)程分支的文件一致,這樣才會(huì)消除沖突,然后再提交自己修改的部分。
特別要注意下,修改本地沖突文件使其與遠(yuǎn)程倉(cāng)庫(kù)的文件保持一致后,需要提交后才能消除沖突,否則無(wú)法繼續(xù)提交。必要時(shí)可與同事交流,消除沖突。

014如果代碼出現(xiàn)bug,你們用git是如何解決的?

創(chuàng)建一個(gè)bug分支,然后進(jìn)行bug處理,處理完畢后,合并到review分支,組長(zhǎng)review成功后才能夠合并到master,合并完成之后刪除bug分支,回到dev分支繼續(xù)開(kāi)發(fā)。

015git rebase的作用?

在公司開(kāi)發(fā)忘記提交到github托管,在家里又繼續(xù)開(kāi)發(fā)新的功能,然后到公司昨天的代碼跟你的新功能合并的時(shí)候可以用git fecth ---> git rebase,那么他的提交記錄就不會(huì)出現(xiàn)分叉,保持了提交記錄的整潔.

016使用的github 還是gitlab?

用的是github,因?yàn)楣颈容^小,所以沒(méi)有自己搭建gitlab,
但是用github的時(shí)候代碼一定要用保密的,9$(美元)建立一個(gè)倉(cāng)庫(kù)。

017你使用過(guò)git stash命令嗎?你一般什么情況下會(huì)使用它?

1)解決沖突文件時(shí),會(huì)先執(zhí)行g(shù)it stash,然后解決沖突;
2)遇到緊急開(kāi)發(fā)任務(wù)但目前任務(wù)不能提交時(shí),會(huì)先執(zhí)行g(shù)it stash,然后進(jìn)行緊急任務(wù)的開(kāi)發(fā),然后通過(guò)git stash pop取出棧區(qū)的內(nèi)容繼續(xù)開(kāi)發(fā);
3)切換分支時(shí),當(dāng)前工作空間內(nèi)容不能提交時(shí),會(huì)先執(zhí)行g(shù)it stash再進(jìn)行分支切換;

018如何查看分支提交的歷史記錄?查看某個(gè)文件的歷史記錄呢?

查看分支的提交歷史記錄:
命令git log –number:表示查看當(dāng)前分支前number個(gè)詳細(xì)的提交歷史記錄;
命令git log –number –pretty=oneline:在上個(gè)命令的基礎(chǔ)上進(jìn)行簡(jiǎn)化,只顯示sha-1碼和提交信息;
命令git reflog –number: 表示查看所有分支前number個(gè)簡(jiǎn)化的提交歷史記錄;
命令git reflog –number –pretty=oneline:顯示簡(jiǎn)化的信息歷史信息;

019Git和SVN的區(qū)別?

相同點(diǎn):git和svn都是版本控制系統(tǒng),兩者都有自己的服務(wù)器。
區(qū)別:
1.git是分布式,svn不是分布式。
2.git把內(nèi)容按元數(shù)據(jù)方式存儲(chǔ),而svn按文件。
3.git分支和svn分支不同。
4.git沒(méi)有一個(gè)全局版本號(hào),svn有。
5.git版本號(hào)要優(yōu)于svn

020SVN版本沖突問(wèn)題如何解決?

解決沖突有三種選擇:
A.放棄自己的更新,使用svn revert(回滾),然后提交。在這種方式下不需要使用svn resolved(解決)
B.放棄自己的更新,使用別人的更新。使用最新獲取的版本覆蓋目標(biāo)文件,執(zhí)行resolved filename并提交(選擇文件—右鍵—解決)。
C.手動(dòng)解決:沖突發(fā)生時(shí),通過(guò)和其他用戶溝通之后,手動(dòng)更新目標(biāo)文件。然后執(zhí)行resolved filename來(lái)解除沖突,最后提交。

021Ctrl系列快捷鍵有哪些?

快捷鍵 功能
Ctrl + Y 刪除當(dāng)前行
Ctrl + D(Duplicate復(fù)制) 直接在下一行復(fù)制出當(dāng)前行
Ctrl + W 選中文本,連續(xù)按可以擴(kuò)大選中范圍(以單詞為單位)
Ctrl + Enter 在當(dāng)前行上面插入一行空行。注意:需要在行首使用該快捷鍵
Ctrl + Backspace 可以一下字刪除整個(gè)單詞
Ctrl + " + / -" 將當(dāng)前方法塊代碼展開(kāi) / 折疊
Ctrl + / 添加注釋和取消注釋,【第一次是添加注釋,第二次是取消注釋】
Ctrl + shift + / 添加/取消多行注釋,【第一次是添加注釋,第二次是取消注釋】
Ctrl + F(Find 查找) 在當(dāng)前文件中查找文本
Ctrl + R(Replace 替換) 查找并替換文本,支持多行查找,或者只在代碼中查找,或者只在注釋中查找,或者使用正則表達(dá)式查找
Ctrl + O 快速重寫基類或者接口中的方法
Ctrl + 空格 提示代碼,在輸入代碼時(shí)可以提示關(guān)鍵字
Ctrl + J 提示代碼,在輸入代碼時(shí)可以提示快捷鍵
Ctrl + H(Hierarhcy層級(jí)) 顯示類結(jié)構(gòu)圖(類的繼承層次)
Ctrl + G 快速定位到指定行指定列
Ctrl + [ 快速定位到代碼塊開(kāi)始位置
Ctrl + ] 快速定位到代碼塊結(jié)束位置
Ctrl + N 快速搜索和打開(kāi)類
Ctrl + B 快速定位源碼,將光標(biāo)放在方法上輸入Ctrl + B , 可以去到該方法的源碼
Ctrl + U 快速轉(zhuǎn)到當(dāng)前類的父類

022ALT系列快捷鍵有哪些?

快捷鍵 功能
Alt + / 快速補(bǔ)全代碼
Alt+Q 顯示當(dāng)前方法的聲明
Alt + Enter 快速提示完成,在代碼可能存在語(yǔ)法問(wèn)題時(shí),IDEA 會(huì)提示使用該快捷鍵可以快速自動(dòng)修正(功能非常強(qiáng)大,最常使用)
Alt + insert 快速生成含有任意形參的構(gòu)造器,和私有屬性的 Getter / Setter 方法等(最常使用)
Alt + 1 快速打開(kāi)或隱藏 Project 面板
Alt + 7 快速顯示類結(jié)構(gòu),可以顯示類中包含的所有屬性和方法
Alt + left / right 快速切換代碼視圖
Alt + Up / Down 在方法間快速移動(dòng)定位(即光標(biāo)以方法為單位移動(dòng))

023Shift 系列快捷鍵

快捷鍵 功能
Shift + Enter 在當(dāng)前行下面生成一行空行,光標(biāo)自動(dòng)移到空行行首
F2 或 Shift + F2 快速定位高亮錯(cuò)誤或警告位置

024Ctrl + Alt 系列快捷鍵有哪些?

快捷鍵 功能 
Ctrl + Alt + L 快速格式化代碼  
Ctrl + Alt + I 自動(dòng)縮進(jìn)行    
Ctrl+Alt+O 優(yōu)化導(dǎo)入的類和包    
Ctrl + Alt + T 將選中的代碼使用 if、while、try/catch 等代碼塊包裝起來(lái)(功能強(qiáng)大)    

025Ctrl + Shift 系列快捷鍵有哪些?

快捷鍵 功能
Ctrl + Shift + Delete 去除相關(guān)的代碼塊包裝,是Ctrl + Alt + T的相反操作
Ctrl + Shift + 向上/下箭頭 將光標(biāo)所在的代碼塊向上/下整體移動(dòng)
Ctrl + Shift + F10 快速運(yùn)行當(dāng)前的程序,當(dāng)前你在哪個(gè)程序就運(yùn)行該程序
Ctrl + Shift + / 添加/取消多行注釋,【第一次是添加注釋,第二次是取消注釋】
Ctrl + Shift + J 快速整合兩行代碼,將光標(biāo)所在行和下一行的代碼合并成一行

026模板相關(guān)的快捷鍵有哪些?

1)快速生成主函數(shù):psvm/ main
2)快速生成打印語(yǔ)句:sout
3)快速生成普通 for 循環(huán):fori 
4)快速生成增強(qiáng) for循環(huán):iter

目錄

返回頂部
主站蜘蛛池模板: 精品一区二区视频 | 国产素人在线 | 久久久久久久久免费视频 | 久热在线 | 亚洲欧美日韩综合在线 | 一本伊人 | 一级毛片视频免费 | 成人亚洲精品一区二区 | 秒播影视 午夜福利毛片 | 亚洲高清在线视频 | 欧美精品啪啪 | 亚洲视频在线网 | 乱色专区| 在线日产一区二区 | 国产高清一区二区三区四区 | 久久国产乱子伦精品免费一 | 日批视频网址免费观看 | 在线看片a | 亚洲性一区 | 天天色综网 | 99精品在线 | 91手机看片国产永久免费 | 九九精彩视频在线观看视频 | 久久99青青久久99久久 | 俺去也理论网站 | 九操网 | 欧美国产精品不卡在线观看 | 在线 色| 久久毛片视频 | 国产成人久久精品激情91 | 国产成人综合亚洲一区 | 婷婷综合久久中文字幕一本 | 91精品自在拍精选久久 | 色一情一乱一乱91av | 中文字幕最新在线 | 欧美另类色 | 97精品国产91久久久久久 | 亚洲精品日本一区二区在线 | 欧美成人精品久久精品 | 在线观看国产一区二区三区 | 亚洲欧洲久久 |