国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

      會(huì)計(jì)面試,比較經(jīng)典的面試題有哪些?

      時(shí)間:2024-06-01 05:00 人氣:0 編輯:admin

      一、會(huì)計(jì)面試,比較經(jīng)典的面試題有哪些?

      經(jīng)典的面試題,沒有特別為會(huì)計(jì)行業(yè)的,但是我作為外企的財(cái)務(wù)經(jīng)理,面試人員合計(jì)沒有五百,也有四百了,給你分享我經(jīng)歷的公司財(cái)務(wù)面試專業(yè)題是什么。

      1.固定資產(chǎn)購買,折舊和處置的會(huì)計(jì)憑證

      這個(gè)問題是我們面試全球Top30的名校實(shí)習(xí)生時(shí)的面試題,看起來簡單,但是真正回答出來的,只有十分之一的人。(考驗(yàn)專業(yè)知識(shí))

      2.關(guān)于報(bào)銷的問題,如果公司的某個(gè)大老板報(bào)銷他的出差費(fèi)用,但是他的有筆發(fā)票丟失了,他拿了替代的發(fā)票,請(qǐng)問你怎么做?(考驗(yàn)溝通+職場會(huì)計(jì)專業(yè)知識(shí)+實(shí)務(wù)操作)

      3.請(qǐng)描述一下從購買原材料到款項(xiàng)支付所有涉及的會(huì)計(jì)賬務(wù)處理。

      這個(gè)考驗(yàn)了一條線,一個(gè)流程的業(yè)務(wù)數(shù)字程度和涉及的財(cái)務(wù)知識(shí)。

      二、城市規(guī)劃師面試,有哪些經(jīng)典的面試題分享?

      以下是對(duì)部分經(jīng)典城市規(guī)劃師面試問題的參考回答:

      1. 請(qǐng)介紹你對(duì)城市規(guī)劃的理解和認(rèn)識(shí)。

      回答:城市規(guī)劃是一種綜合性的學(xué)科和實(shí)踐,旨在通過有效的土地利用、基礎(chǔ)設(shè)施規(guī)劃、環(huán)境保護(hù)和社會(huì)發(fā)展,為城市創(chuàng)造可持續(xù)、宜居和具有發(fā)展?jié)摿Φ目臻g。城市規(guī)劃師負(fù)責(zé)研究、設(shè)計(jì)和實(shí)施城市發(fā)展的策略和規(guī)劃方案,以滿足人們的需求,提高居民生活質(zhì)量,并推動(dòng)城市的經(jīng)濟(jì)、社會(huì)和環(huán)境可持續(xù)發(fā)展。

      2. 請(qǐng)分享一個(gè)你參與的城市規(guī)劃項(xiàng)目,并介紹你在其中的角色和貢獻(xiàn)。

      回答:我曾參與一項(xiàng)城市更新項(xiàng)目,旨在改善老舊城區(qū)的環(huán)境和社會(huì)條件。我作為項(xiàng)目團(tuán)隊(duì)的一員,負(fù)責(zé)收集和分析相關(guān)數(shù)據(jù),進(jìn)行社會(huì)調(diào)查和市民參與活動(dòng),并與政府部門、社區(qū)組織和居民進(jìn)行密切合作。我的角色是協(xié)助制定城市規(guī)劃方案,并提出具體的改進(jìn)建議,以提高城市的可達(dá)性、環(huán)境質(zhì)量和社會(huì)公平性。通過我的努力,我們成功實(shí)施了一系列項(xiàng)目,改善了居民的生活條件,并促進(jìn)了城市的整體發(fā)展。

      3. 你認(rèn)為一個(gè)成功的城市規(guī)劃師應(yīng)具備哪些核心技能和素質(zhì)?

      回答:一個(gè)成功的城市規(guī)劃師應(yīng)具備以下核心技能和素質(zhì):

      - 扎實(shí)的城市規(guī)劃理論和知識(shí)基礎(chǔ)。

      - 準(zhǔn)確的數(shù)據(jù)分析和解讀能力。

      - 具備綜合思維和系統(tǒng)思考的能力。

      - 良好的溝通和協(xié)調(diào)能力,能夠有效與各利益相關(guān)者合作。

      - 創(chuàng)新和創(chuàng)造性思維,能夠提出可行的規(guī)劃解決方案。

      - 具備項(xiàng)目管理和團(tuán)隊(duì)合作能力。

      - 對(duì)城市發(fā)展和社會(huì)問題的關(guān)注和熱情。

      4. 如何應(yīng)對(duì)城市規(guī)劃中的可持續(xù)發(fā)展挑戰(zhàn)?

      回答:可持續(xù)發(fā)展是城市規(guī)劃中的重要考量因素。我認(rèn)為可以從以下幾個(gè)方面來應(yīng)對(duì)可持續(xù)發(fā)展挑戰(zhàn):

      - 制定綜合的規(guī)劃策略,平衡經(jīng)濟(jì)、環(huán)境和社會(huì)的發(fā)展目標(biāo)。

      - 優(yōu)化土地利用,提高資源利用效率和空間利用。

      當(dāng)然,還有其他一些常見的城市規(guī)劃師面試問題的參考回答:

      5. 如何處理城市規(guī)劃中的利益沖突和社會(huì)參與問題?

      回答:在城市規(guī)劃中,利益沖突和社會(huì)參與是常見的挑戰(zhàn)。我認(rèn)為應(yīng)該采取以下措施來處理這些問題:

      - 建立公正、透明和包容性的決策過程,確保各利益相關(guān)者的參與和意見被充分考慮。

      - 進(jìn)行廣泛的社會(huì)參與和公眾咨詢,收集不同群體的意見和需求,以便更好地滿足社會(huì)多樣化的利益。

      - 尋求權(quán)衡和妥協(xié),通過對(duì)話和協(xié)商來解決利益沖突,尋找共同利益的點(diǎn)。

      - 提供清晰的溝通和信息傳遞渠道,使各方能夠了解決策的過程和結(jié)果。

      6. 你認(rèn)為城市規(guī)劃與環(huán)境保護(hù)之間的關(guān)系是什么?如何平衡二者?

      回答:城市規(guī)劃與環(huán)境保護(hù)密切相關(guān),二者之間存在緊密的關(guān)系。城市規(guī)劃應(yīng)該在保護(hù)和改善環(huán)境質(zhì)量的基礎(chǔ)上,實(shí)現(xiàn)城市的可持續(xù)發(fā)展。平衡二者可以通過以下方式實(shí)現(xiàn):

      - 制定環(huán)境友好型規(guī)劃策略,包括綠色基礎(chǔ)設(shè)施、生態(tài)保護(hù)和資源管理等,以確保城市的生態(tài)系統(tǒng)健康。

      - 促進(jìn)低碳和可再生能源的使用,減少對(duì)環(huán)境的不良影響。

      - 鼓勵(lì)可持續(xù)交通和城市設(shè)計(jì),減少交通擁堵和碳排放。

      - 引入環(huán)境評(píng)估和監(jiān)測機(jī)制,對(duì)城市規(guī)劃方案的環(huán)境影響進(jìn)行評(píng)估和監(jiān)測。

      7. 請(qǐng)談?wù)勀銓?duì)城市交通規(guī)劃的理解和看法。

      回答:城市交通規(guī)劃是城市規(guī)劃中的重要組成部分。我認(rèn)為城市交通規(guī)劃應(yīng)該致力于提供高效、可持續(xù)和安全的交通系統(tǒng),以滿足居民的出行需求。在交通規(guī)劃中,應(yīng)該考慮以下方面:

      - 綜合交通網(wǎng)絡(luò)規(guī)劃,包括道路、公共交通、自行車道等,以提高交通系統(tǒng)的連通性和便利性。

      - 促進(jìn)可持續(xù)交通方式的發(fā)展,如公共交通、步行和自行車,以減少對(duì)汽車的

      三、有哪些經(jīng)典的 Linux 面試題?

      軟件測試被問到的Linux命令知識(shí)點(diǎn),90%都在這里了!

      一、文件和目錄

      查看路徑

      pwd

      顯示當(dāng)前目錄的路徑

      which

      查看命令的可執(zhí)行文件所在路徑, Linux 下,每一條命令其實(shí)都對(duì)應(yīng)一個(gè)可執(zhí)行程序,在終端中輸入命令,按回車的時(shí)候,就是執(zhí)行了對(duì)應(yīng)的那個(gè)程序, which 命令本身對(duì)應(yīng)的程序也存在于 Linux 中。

      總的來說一個(gè)命令就是一個(gè)可執(zhí)行程序。

      瀏覽和切換目錄

      ls

      列出文件和目錄,它是 Linux 最常用的命令之一。

      【常用參數(shù)】

      • -a 顯示所有文件和目錄包括隱藏的
      • -l 顯示詳細(xì)列表
      • -h 適合人類閱讀的
      • -t 按文件最近一次修改時(shí)間排序
      • -i 顯示文件的 inode ( inode 是文件內(nèi)容的標(biāo)識(shí))

      cd

      cd 是英語 change directory 的縮寫,表示切換目錄。

      cd / --> 跳轉(zhuǎn)到根目錄
      cd ~ --> 跳轉(zhuǎn)到家目錄
      cd .. --> 跳轉(zhuǎn)到上級(jí)目錄
      cd ./home --> 跳轉(zhuǎn)到當(dāng)前目錄的home目錄下
      cd /home/lion --> 跳轉(zhuǎn)到根目錄下的home目錄下的lion目錄
      cd --> 不添加任何參數(shù),也是回到家目錄
      

      [注意] 輸入cd /ho + 單次 tab 鍵會(huì)自動(dòng)補(bǔ)全路徑 + 兩次 tab 鍵會(huì)列出所有可能的目錄列表。

      du

      列舉目錄大小信息。

      【常用參數(shù)】

      • -h 適合人類閱讀的;
      • -a 同時(shí)列舉出目錄下文件的大小信息;
      • -s 只顯示總計(jì)大小,不顯示具體信息。

      瀏覽和創(chuàng)建文件

      cat

      一次性顯示文件所有內(nèi)容,更適合查看小的文件。

      cat cloud-init.log
      
      

      【常用參數(shù)】

      • -n 顯示行號(hào)。

      less

      分頁顯示文件內(nèi)容,更適合查看大的文件。

      less cloud-init.log
      
      

      【快捷操作】

      • 空格鍵:前進(jìn)一頁(一個(gè)屏幕);
      • b 鍵:后退一頁;
      • 回車鍵:前進(jìn)一行;
      • y 鍵:后退一行;
      • 上下鍵:回退或前進(jìn)一行;
      • d 鍵:前進(jìn)半頁;
      • u 鍵:后退半頁;
      • q 鍵:停止讀取文件,中止 less 命令;
      • = 鍵:顯示當(dāng)前頁面的內(nèi)容是文件中的第幾行到第幾行以及一些其它關(guān)于本頁內(nèi)容的詳細(xì)信息;
      • h 鍵:顯示幫助文檔;
      • / 鍵:進(jìn)入搜索模式后,按 n 鍵跳到一個(gè)符合項(xiàng)目,按 N 鍵跳到上一個(gè)符合項(xiàng)目,同時(shí)也可以輸入正則表達(dá)式匹配。

      head

      顯示文件的開頭幾行(默認(rèn)是10行)

      head cloud-init.log
      

      【參數(shù)】

      • -n 指定行數(shù) head cloud-init.log -n 2

      tail

      顯示文件的結(jié)尾幾行(默認(rèn)是10行)

      tail cloud-init.log復(fù)制代碼

      【參數(shù)】

      • -n 指定行數(shù) tail cloud-init.log -n 2
      • -f 會(huì)每過1秒檢查下文件是否有更新內(nèi)容,也可以用 -s 參數(shù)指定間隔時(shí)間 tail -f -s 4 xxx.log

      touch

      創(chuàng)建一個(gè)文件

      touch new_file復(fù)制代碼

      mkdir

      創(chuàng)建一個(gè)目錄

      mkdir new_folder復(fù)制代碼

      【常用參數(shù)】

      • -p 遞歸的創(chuàng)建目錄結(jié)構(gòu) mkdir -p one/two/three
      文件的復(fù)制和移動(dòng)

      cp

      拷貝文件和目錄

      cp file file_copy --> file 是目標(biāo)文件,file_copy 是拷貝出來的文件cp file one --> 把 file 文件拷貝到 one 目錄下,并且文件名依然為 file

      cp file one/file_copy --> 把 file 文件拷貝到 one 目錄下,文件名為file_copy

      cp *.txt folder --> 把當(dāng)前目錄下所有 txt 文件拷貝到 folder 目錄下

      【常用參數(shù)】

      • -r 遞歸的拷貝,常用來拷貝一整個(gè)目錄

      mv

      移動(dòng)(重命名)文件或目錄,與cp命令用法相似。

      mv file one --> 將 file 文件移動(dòng)到 one 目錄下

      mv new_folder one --> 將 new_folder 文件夾移動(dòng)到one目錄下mv *.txt folder --> 把當(dāng)前目錄下所有 txt 文件移動(dòng)到 folder 目錄下mv file new_file --> file 文件重命名為 new_file

      文件的刪除和鏈接

      rm

      刪除文件和目錄,由于 Linux 下沒有回收站,一旦刪除非常難恢復(fù),因此需要謹(jǐn)慎操作

      rm new_file --> 刪除 new_file 文件

      rm f1 f2 f3 --> 同時(shí)刪除 f1 f2 f3 3個(gè)文件

      【常用參數(shù)】

      • -i 向用戶確認(rèn)是否刪除;
      • -f 文件強(qiáng)制刪除;
      • -r 遞歸刪除文件夾,著名的刪除操作 rm -rf 。

      ln

      英文 Link 的縮寫,表示創(chuàng)建鏈接。

      學(xué)習(xí)創(chuàng)建鏈接之前,首先要理解鏈接是什么,我們先來看看 Linux 的文件是如何存儲(chǔ)的:

      Linux 文件的存儲(chǔ)方式分為3個(gè)部分,文件名、文件內(nèi)容以及權(quán)限,其中文件名的列表是存儲(chǔ)在硬盤的其它地方和文件內(nèi)容是分開存放的,每個(gè)文件名通過 inode 標(biāo)識(shí)綁定到文件內(nèi)容。

      Linux 下有兩種鏈接類型:硬鏈接和軟鏈接。

      硬鏈接

      使鏈接的兩個(gè)文件共享同樣文件內(nèi)容,就是同樣的 inode ,一旦文件1和文件2之間有了硬鏈接,那么修改任何一個(gè)文件,修改的都是同一塊內(nèi)容,它的缺點(diǎn)是,只能創(chuàng)建指向文件的硬鏈接,不能創(chuàng)建指向目錄的(其實(shí)也可以,但比較復(fù)雜)而軟鏈接都可以,因此軟鏈接使用更加廣泛。

      這個(gè)部分暫時(shí)不展開。

      二、用戶與權(quán)限

      用戶

      Linux 是一個(gè)多用戶的操作系統(tǒng)。在 Linux 中,理論上來說,我們可以創(chuàng)建無數(shù)個(gè)用戶,但是這些用戶是被劃分到不同的群組里面的,有一個(gè)用戶,名叫 root ,是一個(gè)很特殊的用戶,它是超級(jí)用戶,擁有最高權(quán)限。

      sudo

      以 root 身份運(yùn)行命令

      useradd + passwd

      • useradd 添加新用戶
      • passwd 修改用戶密碼

      這兩個(gè)命令需要 root 用戶權(quán)限

      userdel

      刪除用戶,需要 root 用戶權(quán)限

      su

      切換用戶,需要 root 用戶權(quán)限

      群組的管理

      Linux 中每個(gè)用戶都屬于一個(gè)特定的群組,如果你不設(shè)置用戶的群組,默認(rèn)會(huì)創(chuàng)建一個(gè)和它的用戶名一樣的群組,并且把用戶劃歸到這個(gè)群組。

      groupadd

      創(chuàng)建群組,用法和 useradd 類似

      groupdel

      刪除一個(gè)已存在的群組

      groups

      查看用戶所在群組

      usermod

      用于修改用戶的賬戶。

      【常用參數(shù)】

      • -l 對(duì)用戶重命名。需要注意的是 /home 中的用戶家目錄的名字不會(huì)改變,需要手動(dòng)修改。
      • -g 修改用戶所在的群組,例如 usermod -g friends lion修改 lion 用戶的群組為 friends 。
      • -G 一次性讓用戶添加多個(gè)群組,例如 usermod -G friends,foo,bar lion 。
      • -a -G 會(huì)讓你離開原先的群組,如果你不想這樣做的話,就得再添加 -a 參數(shù),意味著append 追加的意思。

      chgrp

      用于修改文件的群組。

      chown

      改變文件的所有者,需要 root 身份才能運(yùn)行。

      【常用參數(shù)】

      • -R 遞歸設(shè)置子目錄和子文件, chown -R lion:lion /home/frank 把 frank 文件夾的用戶和群組都改為 lion 。
      文件權(quán)限管理

      chmod

      修改訪問權(quán)限。

      【常用參數(shù)】

      • -R 可以遞歸地修改文件訪問權(quán)限,例如 chmod -R 777 /home/lion

      其中 drwxr-xr-x 表示文件或目錄的權(quán)限。讓我們一起來解讀它具體代表什么?

      • d :表示目錄,就是說這是一個(gè)目錄,普通文件是 - ,鏈接是 l 。
      • r :read 表示文件可讀。
      • w :write 表示文件可寫,一般有寫的權(quán)限,就有刪除的權(quán)限。
      • x :execute 表示文件可執(zhí)行。
      • - :表示沒有相應(yīng)權(quán)限。

      現(xiàn)在再來理解這句權(quán)限 drwxr-xr-x 的意思:

      • 它是一個(gè)文件夾;
      • 它的所有者具有:讀、寫、執(zhí)行權(quán)限;
      • 它的群組用戶具有:讀、執(zhí)行的權(quán)限,沒有寫的權(quán)限;
      • 它的其它用戶具有:讀、執(zhí)行的權(quán)限,沒有寫的權(quán)限。

      現(xiàn)在理解了權(quán)限,我們使用 chmod 來嘗試修改權(quán)限。chmod 它不需要是 root 用戶才能運(yùn)行的,只要你是此文件所有者,就可以用 chmod 來修改文件的訪問權(quán)限。

      chmod 640 hello.c

      # 分析

      6 = 4 + 2 + 0 表示所有者具有 rw 權(quán)限

      4 = 4 + 0 + 0 表示群組用戶具有 r 權(quán)限

      0 = 0 + 0 + 0 表示其它用戶沒有權(quán)限

      對(duì)應(yīng)文字權(quán)限為:-rw-r-----

      用字母來分配權(quán)限

      • u :user 的縮寫,用戶的意思,表示所有者。
      • g :group 的縮寫,群組的意思,表示群組用戶。
      • o :other 的縮寫,其它的意思,表示其它用戶。
      • a :all 的縮寫,所有的意思,表示所有用戶。
      • + :加號(hào),表示添加權(quán)限。
      • - :減號(hào),表示去除權(quán)限。
      • = :等于號(hào),表示分配權(quán)限。

      chmod u+rx file --> 文件file的所有者增加讀和運(yùn)行的權(quán)限

      chmod g+r file --> 文件file的群組用戶增加讀的權(quán)限

      chmod o-r file--> 文件file的其它用戶移除讀的權(quán)限

      chmod g+r file --> 文件file的群組用戶增加讀的權(quán)限,其它用戶移除讀的權(quán)限

      chmod go-r file --> 文件file的群組和其他用戶移除讀的權(quán)限

      chmod +x file --> 文件file的所有用戶增加運(yùn)行的權(quán)限

      chmod u=rwx,g=r,o=- file --> 文件file的所有者分配讀寫和執(zhí)行的權(quán)限,群組其它用戶分配讀的權(quán)限,其他用戶沒有任何權(quán)限

      三、查找文件

      locate

      搜索包含關(guān)鍵字的所有文件和目錄。后接需要查找的文件名,也可以用正則表達(dá)式。

      安裝 locate

      yum -y install mlocate --> 安裝包updatedb --> 更新數(shù)據(jù)庫復(fù)制代碼locate file.txtlocate fil*.txt

      [注意] locate 命令會(huì)去文件數(shù)據(jù)庫中查找命令,而不是全磁盤查找,因此剛創(chuàng)建的文件并不會(huì)更新到數(shù)據(jù)庫中,所以無法被查找到,可以執(zhí)行 updatedb 命令去更新數(shù)據(jù)庫。

      find

      用于查找文件,它會(huì)去遍歷你的實(shí)際硬盤進(jìn)行查找,而且它允許我們對(duì)每個(gè)找到的文件進(jìn)行后續(xù)操作,功能非常強(qiáng)大。

      find <何處> <何物> <做什么>
      • 何處:指定在哪個(gè)目錄查找,此目錄的所有子目錄也會(huì)被查找。
      • 何物:查找什么,可以根據(jù)文件的名字來查找,也可以根據(jù)其大小來查找,還可以根據(jù)其最近訪問時(shí)間來查找。
      • 做什么:找到文件后,可以進(jìn)行后續(xù)處理,如果不指定這個(gè)參數(shù), find 命令只會(huì)顯示找到的文件。

      根據(jù)文件名查找

      find -name "file.txt" --> 當(dāng)前目錄以及子目錄下通過名稱查找文件

      find . -name "syslog" --> 當(dāng)前目錄以及子目錄下通過名稱查找文件

      find / -name "syslog" --> 整個(gè)硬盤下查找syslog

      find /var/log -name "syslog" --> 在指定的目錄/var/log下查找syslog文件find /var/log -name "syslog*" --> 查找syslog1、syslog2 ... 等文件,通配符表示所有

      find /var/log -name "*syslog*" --> 查找包含syslog的文件

      [注意] find 命令只會(huì)查找完全符合 "何物" 字符串的文件,而 locate 會(huì)查找所有包含關(guān)鍵字的文件。

      根據(jù)文件大小查找

      find /var -size +10M --> /var 目錄下查找文件大小超過 10M 的文件

      find /var -size -50k --> /var 目錄下查找文件大小小于 50k 的文件

      find /var -size +1G --> /var 目錄下查找文件大小查過 1G 的文件

      find /var -size 1M --> /var 目錄下查找文件大小等于 1M 的文件

      根據(jù)文件最近訪問時(shí)間查找

      find -name "*.txt" -atime -7

      --> 近 7天內(nèi)訪問過的.txt結(jié)尾的文件

      僅查找目錄或文件,根據(jù)類型查找

      find . -name "file" -type f

      --> 只查找當(dāng)前目錄下的file文件

      find . -name "file" -type d

      --> 只查找當(dāng)前目錄下的file目錄

      軟件倉庫

      Linux 下軟件是以包的形式存在,一個(gè)軟件包其實(shí)就是軟件的所有文件的壓縮包,是二進(jìn)制的形式,包含了安裝軟件的所有指令。Red Hat 家族的軟件包后綴名一般為 .rpm ,Debian 家族的軟件包后綴是 .deb 。

      Linux 的包都存在一個(gè)倉庫,叫做軟件倉庫,它可以使用 yum 來管理軟件包, yum 是 CentOS 中默認(rèn)的包管理工具,適用于 Red Hat 一族??梢岳斫獬?Node.js 的 npm 。

      yum 常用命令
      • yum update | yum upgrade 更新軟件包
      • yum search xxx 搜索相應(yīng)的軟件包
      • yum install xxx 安裝軟件包
      • yum remove xxx 刪除軟件包

      四、文本操作

      grep

      全局搜索一個(gè)正則表達(dá)式,并且打印到屏幕。簡單來說就是,在文件中查找關(guān)鍵字,并顯示關(guān)鍵字所在行。

      基礎(chǔ)語法

      grep text file # text代表要搜索的文本,file代表供搜索的文件

      常用參數(shù)

      • -i 忽略大小寫, grep -i path /etc/profile
      • -n 顯示行號(hào),grep -n path /etc/profile
      • -v 只顯示搜索文本不在的那些行,grep -v path /etc/profile
      • -r 遞歸查找, grep -r hello /etc ,Linux 中還有一個(gè) rgrep 命令,作用相當(dāng)于 grep -r

      sort

      對(duì)文件的行進(jìn)行排序。

      基礎(chǔ)語法

      sort name.txt # 對(duì)name.txt文件進(jìn)行排序

      實(shí)例用法

      為了演示方便,我們首先創(chuàng)建一個(gè)文件 name.txt ,放入以下內(nèi)容:

      ChristopherShawnTedRockNoahZacharyBella

      執(zhí)行 sort name.txt 命令,會(huì)對(duì)文本內(nèi)容進(jìn)行排序。

      常用參數(shù)

      • -o 將排序后的文件寫入新文件, sort -o name_sorted.txt name.txt ;
      • -r 倒序排序, sort -r name.txt ;
      • -R 隨機(jī)排序, sort -R name.txt ;
      • -n 對(duì)數(shù)字進(jìn)行排序,默認(rèn)是把數(shù)字識(shí)別成字符串的,因此 138 會(huì)排在 25 前面,如果添加了 -n 數(shù)字排序的話,則 25 會(huì)在 138 前面。

      wc

      word count 的縮寫,用于文件的統(tǒng)計(jì)。它可以統(tǒng)計(jì)單詞數(shù)目、行數(shù)、字符數(shù),字節(jié)數(shù)等。

      基礎(chǔ)語法

      wc name.txt # 統(tǒng)計(jì)name.txt

      實(shí)例用法

      [root@lion ~]# wc name.txt 13 13 91 name.txt
      • 第一個(gè)13,表示行數(shù);
      • 第二個(gè)13,表示單詞數(shù);
      • 第三個(gè)91,表示字節(jié)數(shù)。

      常用參數(shù)

      • -l 只統(tǒng)計(jì)行數(shù), wc -l name.txt ;
      • -w 只統(tǒng)計(jì)單詞數(shù), wc -w name.txt ;
      • -c 只統(tǒng)計(jì)字節(jié)數(shù), wc -c name.txt ;
      • -m 只統(tǒng)計(jì)字符數(shù), wc -m name.txt 。

      uniq

      刪除文件中的重復(fù)內(nèi)容。

      基礎(chǔ)語法

      uniq name.txt # 去除name.txt重復(fù)的行數(shù),并打印到屏幕上

      【注意】它只能去除連續(xù)重復(fù)的行數(shù)。

      常用參數(shù)

      • -c 統(tǒng)計(jì)重復(fù)行數(shù), uniq -c name.txt ;
      • -d 只顯示重復(fù)的行數(shù), uniq -d name.txt 。

      cut

      剪切文件的一部分內(nèi)容。

      基礎(chǔ)語法

      cut -c 2-4 name.txt # 剪切每一行第二到第四個(gè)字符

      常用參數(shù)

      • -d 用于指定用什么分隔符(比如逗號(hào)、分號(hào)、雙引號(hào)等等) cut -d , name.txt ;
      • -f 表示剪切下用分隔符分割的哪一塊或哪幾塊區(qū)域, cut -d , -f 1 name.txt 。

      五、重定向 管道 流

      在 Linux 中一個(gè)命令的去向可以有3個(gè)地方:終端、文件、作為另外一個(gè)命令的入?yún)ⅰ?/p>

      命令一般都是通過鍵盤輸入,然后輸出到終端、文件等地方,它的標(biāo)準(zhǔn)用語是 stdin 、 stdout 以及 stderr 。

      • 標(biāo)準(zhǔn)輸入 stdin ,終端接收鍵盤輸入的命令,會(huì)產(chǎn)生兩種輸出;
      • 標(biāo)準(zhǔn)輸出 stdout ,終端輸出的信息(不包含錯(cuò)誤信息);
      • 標(biāo)準(zhǔn)錯(cuò)誤輸出 stderr ,終端輸出的錯(cuò)誤信息。

      重定向

      把本來要顯示在終端的命令結(jié)果,輸送到別的地方(到文件中或者作為其他命令的輸入)。

      輸出重定向 >

      > 表示重定向到新的文件, cut -d , -f 1 notes.csv > name.csv ,它表示通過逗號(hào)剪切notes.csv 文件(剪切完有3個(gè)部分)獲取第一個(gè)部分,重定向到 name.csv 文件。

      我們來看一個(gè)具體示例,學(xué)習(xí)它的使用,假設(shè)我們有一個(gè)文件 notes.csv ,文件內(nèi)容如下:

      Mark1,951/100,很不錯(cuò)1Mark2,952/100,很不錯(cuò)2Mark3,

      953/100,很不錯(cuò)3Mark4,954/100,很不錯(cuò)4Mark5,955/100,很不錯(cuò)5Mark6,956/100,很不錯(cuò)6

      執(zhí)行命令:cut -d , -f 1 notes.csv > name.csv 最后輸出如下內(nèi)容:

      Mark1Mark2Mark3Mark4Mark5Mark6

      【注意】使用 > 要注意,如果輸出的文件不存在它會(huì)新建一個(gè),如果輸出的文件已經(jīng)存在,則會(huì)覆蓋。因此執(zhí)行這個(gè)操作要非常小心,以免覆蓋其它重要文件。

      輸出重定向 >>

      表示重定向到文件末尾,因此它不會(huì)像 > 命令這么危險(xiǎn),它是追加到文件的末尾(當(dāng)然如果文件不存在,也會(huì)被創(chuàng)建)。

      再次執(zhí)行 cut -d , -f 1 notes.csv >> name.csv ,則會(huì)把名字追加到 name.csv 里面。

      Mark1Mark2Mark3Mark4Mark5Mark6Mark1Mark2Mark3Mark4Mark5Mark6

      我們平時(shí)讀的 log 日志文件其實(shí)都是用這個(gè)命令輸出的。

      輸出重定向 2>

      標(biāo)準(zhǔn)錯(cuò)誤輸出

      cat not_exist_file.csv > res.txt 2> errors.log
      • 當(dāng)我們 cat 一個(gè)文件時(shí),會(huì)把文件內(nèi)容打印到屏幕上,這個(gè)是標(biāo)準(zhǔn)輸出;
      • 當(dāng)使用了 > res.txt 時(shí),則不會(huì)打印到屏幕,會(huì)把標(biāo)準(zhǔn)輸出寫入文件 res.txt 文件中;
      • 2> errors.log 當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)寫入 errors.log 文件中。

      輸出重定向 2>>

      標(biāo)準(zhǔn)錯(cuò)誤輸出(追加到文件末尾)同 >> 相似。

      輸入重定向 <

      < 符號(hào)用于指定命令的輸入。

      cat < name.csv # 指定命令的輸入為 name.csv

      雖然它的運(yùn)行結(jié)果與 cat name.csv 一樣,但是它們的原理卻完全不同。

      • cat name.csv 表示 cat 命令接收的輸入是 notes.csv 文件名,那么要先打開這個(gè)文件,然后打印出文件內(nèi)容。
      • cat < name.csv 表示 cat 命令接收的輸入直接是 notes.csv 這個(gè)文件的內(nèi)容, cat命令只負(fù)責(zé)將其內(nèi)容打印,打開文件并將文件內(nèi)容傳遞給 cat 命令的工作則交給終端完成。

      輸入重定向 <<

      將鍵盤的輸入重定向?yàn)槟硞€(gè)命令的輸入。

      sort -n << END # 輸入這個(gè)命令之后,按下回車,終端就進(jìn)入鍵盤輸入模式,其中END為結(jié)束命令(這個(gè)可以自定義)wc -m << END # 統(tǒng)計(jì)輸入的單詞復(fù)
      

      管道 |

      把兩個(gè)命令連起來使用,一個(gè)命令的輸出作為另外一個(gè)命令的輸入,英文是 pipeline ,可以想象一個(gè)個(gè)水管連接起來,管道算是重定向流的一種。

      舉幾個(gè)實(shí)際用法案例:

      cut -d , -f 1 name.csv | sort > sorted_name.txt

      # 第一步獲取到的 name 列表,通過管道符再進(jìn)行排序,最后輸出到sorted_name.txt

      du | sort -nr | head

      # du 表示列舉目錄大小信息# sort 進(jìn)行排序,-n 表示按數(shù)字排序,-r 表示倒序# head 前10行文件

      grep log -Ir /var/log | cut -d : -f 1 | sort | uniq

      # grep log -Ir /var/log 表示在log文件夾下搜索 /var/log 文本,-r 表示遞歸,-I 用于排除二進(jìn)制文件# cut -d : -f 1 表示通過冒號(hào)進(jìn)行剪切,獲取剪切的第一部分# sort 進(jìn)行排序# uniq 進(jìn)行去重復(fù)制代碼

      六、查看進(jìn)程

      在 Windows 中通過 Ctrl + Alt + Delete 快捷鍵查看軟件進(jìn)程。

      w

      幫助我們快速了解系統(tǒng)中目前有哪些用戶登錄著,以及他們在干什么。

      ps

      用于顯示當(dāng)前系統(tǒng)中的進(jìn)程, ps 命令顯示的進(jìn)程列表不會(huì)隨時(shí)間而更新,是靜態(tài)的,是運(yùn)行 ps 命令那個(gè)時(shí)刻的狀態(tài)或者說是一個(gè)進(jìn)程快照。

      常用參數(shù)

      • -ef 列出所有進(jìn)程;
      • -efH 以喬木狀列舉出所有進(jìn)程;
      • -u 列出此用戶運(yùn)行的進(jìn)程;
      • -aux 通過 CPU 和內(nèi)存使用來過濾進(jìn)程 ps -aux | less ;
      • -aux --sort -pcpu 按 CPU 使用降序排列, -aux --sort -pmem 表示按內(nèi)存使用降序排列;
      • -axjf 以樹形結(jié)構(gòu)顯示進(jìn)程, ps -axjf 它和 pstree 效果類似。

      top

      獲取進(jìn)程的動(dòng)態(tài)列表。

      kill

      結(jié)束一個(gè)進(jìn)程, kill + PID 。

      七、管理進(jìn)程

      進(jìn)程狀態(tài)

      主要是切換進(jìn)程的狀態(tài)。我們先了解下 Linux 下進(jìn)程的五種狀態(tài):

      1. 狀態(tài)碼 R :表示正在運(yùn)行的狀態(tài);
      2. 狀態(tài)碼 S :表示中斷(休眠中,受阻,當(dāng)某個(gè)條件形成后或接受到信號(hào)時(shí),則脫離該狀態(tài));
      3. 狀態(tài)碼 D :表示不可中斷(進(jìn)程不響應(yīng)系統(tǒng)異步信號(hào),即使用kill命令也不能使其中斷);
      4. 狀態(tài)碼 Z :表示僵死(進(jìn)程已終止,但進(jìn)程描述符依然存在,直到父進(jìn)程調(diào)用 wait4()系統(tǒng)函數(shù)后將進(jìn)程釋放);
      5. 狀態(tài)碼 T :表示停止(進(jìn)程收到 SIGSTOP 、 SIGSTP 、 SIGTIN 、 SIGTOU 等停止信號(hào)后停止運(yùn)行)。

      前臺(tái)進(jìn)程 & 后臺(tái)進(jìn)程

      默認(rèn)情況下,用戶創(chuàng)建的進(jìn)程都是前臺(tái)進(jìn)程,前臺(tái)進(jìn)程從鍵盤讀取數(shù)據(jù),并把處理結(jié)果輸出到顯示器。例如運(yùn)行 top 命令,這就是一個(gè)一直運(yùn)行的前臺(tái)進(jìn)程。

      后臺(tái)進(jìn)程的優(yōu)點(diǎn)是不必等待程序運(yùn)行結(jié)束,就可以輸入其它命令。在需要執(zhí)行的命令后面添加& 符號(hào),就表示啟動(dòng)一個(gè)后臺(tái)進(jìn)程。

      &

      啟動(dòng)后臺(tái)進(jìn)程,它的缺點(diǎn)是后臺(tái)進(jìn)程與終端相關(guān)聯(lián),一旦關(guān)閉終端,進(jìn)程就自動(dòng)結(jié)束了。

      cp name.csv name-copy.csv &

      nohup

      使進(jìn)程不受掛斷(關(guān)閉終端等動(dòng)作)的影響。

      nohup cp name.csv name-copy.csv

      nohup 命令也可以和 & 結(jié)合使用。

      nohup cp name.csv name-copy.csv &

      bg

      使一個(gè)"后臺(tái)暫停運(yùn)行"的進(jìn)程,狀態(tài)改為"后臺(tái)運(yùn)行"。

      jobs

      顯示當(dāng)前終端后臺(tái)進(jìn)程狀態(tài)。

      fg

      fg 使進(jìn)程轉(zhuǎn)為前臺(tái)運(yùn)行,用法和 bg 命令類似。

      我們用一張圖來表示前后臺(tái)進(jìn)程切換:

      我們可以使程序在后臺(tái)運(yùn)行,成為后臺(tái)進(jìn)程,這樣在當(dāng)前終端中我們就可以做其他事情了,而不必等待此進(jìn)程運(yùn)行結(jié)束。

      八、文件壓縮解壓

      • 打包:是將多個(gè)文件變成一個(gè)總的文件,它的學(xué)名叫存檔、歸檔。
      • 壓縮:是將一個(gè)大文件(通常指歸檔)壓縮變成一個(gè)小文件。

      我們常常使用 tar 將多個(gè)文件歸檔為一個(gè)總的文件,稱為 archive 。然后用 gzip 或 bzip2 命令將 archive 壓縮為更小的文件。

      tar

      創(chuàng)建一個(gè) tar 歸檔。

      基礎(chǔ)用法

      tar -cvf sort.tar sort/

      # 將sort文件夾歸檔為sort.tar

      tar -cvf archive.tar file1 file2 file3

      # 將 file1 file2 file3 歸檔為archive.tar復(fù)制代碼

      常用參數(shù)

      • -cvf 表示 create(創(chuàng)建)+ verbose(細(xì)節(jié))+ file(文件),創(chuàng)建歸檔文件并顯示操作細(xì)節(jié);
      • -tf 顯示歸檔里的內(nèi)容,并不解開歸檔;
      • -rvf 追加文件到歸檔, tar -rvf archive.tar file.txt ;
      • -xvf 解開歸檔, tar -xvf archive.tar 。

      gzip / gunzip

      "壓縮/解壓"歸檔,默認(rèn)用 gzip 命令,壓縮后的文件后綴名為 .tar.gz 。

      gzip archive.tar # 壓縮gunzip archive.tar.gz # 解壓

      tar 歸檔+壓縮

      可以用 tar 命令同時(shí)完成歸檔和壓縮的操作,就是給 tar 命令多加一個(gè)選項(xiàng)參數(shù),使之完成歸檔操作后,還是調(diào)用 gzip 或 bzip2 命令來完成壓縮操作。

      tar -zcvf archive.tar.gz archive/ # 將archive文件夾歸檔并壓縮

      tar -zxvf archive.tar.gz # 將archive.tar.gz歸檔壓縮文件解壓

      zcat、zless、zmore

      之前講過使用 cat less more 可以查看文件內(nèi)容,但是壓縮文件的內(nèi)容是不能使用這些命令進(jìn)行查看的,而要使用 zcat、zless、zmore 進(jìn)行查看。

      zcat archive.tar.gz

      zip/unzip

      "壓縮/解壓" zip 文件( zip 壓縮文件一般來自 windows 操作系統(tǒng))。

      命令安裝

      # Red Hat 一族中的安裝方式y(tǒng)um install zip yum install unzip 復(fù)制代碼

      基礎(chǔ)用法

      unzip archive.zip

      # 解壓 .zip 文件

      unzip -l archive.zip

      # 不解開 .zip 文件,只看其中內(nèi)容

      zip -r sort.zip sort/

      # 將sort文件夾壓縮為 sort.zip,其中-r表示遞歸

      編譯安裝

      簡單來說,編譯就是將程序的源代碼轉(zhuǎn)換成可執(zhí)行文件的過程。大多數(shù) Linux 的程序都是開放源碼的,可以編譯成適合我們的電腦和操縱系統(tǒng)屬性的可執(zhí)行文件。

      基本步驟如下:

      1. 下載源代碼
      2. 解壓壓縮包
      3. 配置
      4. 編譯
      5. 安裝

      實(shí)際案例

      1、下載

      我們來編譯安裝 htop 軟件,首先在它的官網(wǎng)下載源碼:http://bintray.com/htop/source[1]

      下載好的源碼在本機(jī)電腦上使用如下命令同步到服務(wù)器上:

      scp 文件名 用戶名@服務(wù)器ip:目標(biāo)路徑

      scp ~/Desktop/htop-3.0.0.tar.gz root@121.42.11.34:.

      也可以使用 wegt 進(jìn)行下載:

      wegt+下載地址

      wegt https://bintray.com/htop/source/download_file?file_path=htop-3.0.0.tar.gz

      2、解壓文件

      tar -zxvf htop-3.0.0.tar.gz

      # 解壓cd htop-3.0.0 # 進(jìn)入目錄

      3、配置

      執(zhí)行 ./configure ,它會(huì)分析你的電腦去確認(rèn)編譯所需的工具是否都已經(jīng)安裝了。

      4、編譯

      執(zhí)行 make 命令

      5、安裝

      執(zhí)行 make install 命令,安裝完成后執(zhí)行 ls /usr/local/bin/ 查看是否有 htop 命令。如果有就可以執(zhí)行 htop 命令查看系統(tǒng)進(jìn)程了。

      九、網(wǎng)絡(luò)

      ifconfig

      查看 ip 網(wǎng)絡(luò)相關(guān)信息,如果命令不存在的話, 執(zhí)行命令 yum install net-tools 安裝。

      參數(shù)解析:

      • eth0 對(duì)應(yīng)有線連接(對(duì)應(yīng)你的有線網(wǎng)卡),就是用網(wǎng)線來連接的上網(wǎng)。eth 是 Ethernet 的縮寫,表示"以太網(wǎng)"。有些電腦可能同時(shí)有好幾條網(wǎng)線連著,例如服務(wù)器,那么除了eht0 ,你還會(huì)看到 eth1 、 eth2 等。
      • lo 表示本地回環(huán)( Local Loopback 的縮寫,對(duì)應(yīng)一個(gè)虛擬網(wǎng)卡)可以看到它的 ip 地址是 127.0.0.1 。每臺(tái)電腦都應(yīng)該有這個(gè)接口,因?yàn)樗鼘?duì)應(yīng)著"連向自己的鏈接"。這也是被稱之為"本地回環(huán)"的原因。所有經(jīng)由這個(gè)接口發(fā)送的東西都會(huì)回到你自己的電腦。看起來好像并沒有什么用,但有時(shí)為了某些緣故,我們需要連接自己。例如用來測試一個(gè)網(wǎng)絡(luò)程序,但又不想讓局域網(wǎng)或外網(wǎng)的用戶查看,只能在此臺(tái)主機(jī)上運(yùn)行和查看所有的網(wǎng)絡(luò)接口。例如在我們啟動(dòng)一個(gè)前端工程時(shí),在瀏覽器輸入 127.0.0.1:3000 啟動(dòng)項(xiàng)目就能查看到自己的 web 網(wǎng)站,并且它只有你能看到。
      • wlan0 表示無線局域網(wǎng)

      host

      ip 地址和主機(jī)名的互相轉(zhuǎn)換。

      ssh 連接遠(yuǎn)程服務(wù)器

      通過非對(duì)稱加密以及對(duì)稱加密的方式(同 HTTPS 安全連接原理相似)連接到遠(yuǎn)端服務(wù)器。

      ***h

      config 文件可以***h ,方便批量管理多個(gè) ssh 連接。

      配置文件分為以下幾種:

      • 全局 ssh 服務(wù)端的配置:/etc/ssh/sshd_config ;
      • 全局 ssh 客戶端的配置:/etc/ssh/ssh_config(很少修改);
      • 當(dāng)前用戶 ssh 客戶端的***h/config 。

      配置當(dāng)前用戶的 config :

      # 創(chuàng)建config

      vim ~/.ssh/config

      # 填寫一下內(nèi)容

      Host lion # 別名 HostName 172.x.x.x # ip 地址 Port 22 # 端口 User root # 用戶

      這樣配置完成后,下次登錄時(shí),可以這樣登錄 ssh lion 會(huì)自動(dòng)識(shí)別為 root 用戶。

      [注意] 這段配置不是在服務(wù)器上,而是你自己的機(jī)器上,它僅僅是設(shè)置了一個(gè)別名。

      wget

      可以使我們直接從終端控制臺(tái)下載文件,只需要給出文件的HTTP或FTP地址。

      十 備份

      scp

      它是 Secure Copy 的縮寫,表示安全拷貝。scp 可以使我們通過網(wǎng)絡(luò),把文件從一臺(tái)電腦拷貝到另一臺(tái)電腦。

      scp 是基于 ssh 的原理來運(yùn)作的, ssh 會(huì)在兩臺(tái)通過網(wǎng)絡(luò)連接的電腦之間創(chuàng)建一條安全通信的管道, scp 就利用這條管道安全地拷貝文件。

      scp source_file destination_file

      # source_file 表示源文件,destination_file 表示目標(biāo)文件

      其中 source_file 和 destination_file 都可以這樣表示:user@ip:file_name , user 是登錄名, ip 是域名或 ip 地址。file_name 是文件路徑。

      scp root@192.168.1.5:/root/file.txt file.txt # 表示把遠(yuǎn)程電腦上的 file.txt 文件拷貝到本機(jī)
      scp file.txt root@192.168.1.5:/root # 表示把我的電腦中當(dāng)前文件夾下的 file.txt 文件拷貝到遠(yuǎn)程電腦

      rsync

      rsync 命令主要用于遠(yuǎn)程同步文件。它可以同步兩個(gè)目錄,不管它們是否處于同一臺(tái)電腦。它應(yīng)該是最常用于"增量備份"的命令了。它就是智能版的 scp 命令。

      軟件安裝

      yum install rsync復(fù)制代碼

      基礎(chǔ)用法

      rsync -arv Images/ backups/

      # 將Images 目錄下的所有文件備份到 backups 目錄下

      rsync -arv Images/ root@192.x.x.x:backups/

      # 同步到服務(wù)器的backups目錄下

      常用參數(shù)

      • -a 保留文件的所有信息,包括權(quán)限,修改日期等;
      • -r 遞歸調(diào)用,表示子目錄的所有文件也都包括;
      • -v 冗余模式,輸出詳細(xì)操作信息。

      默認(rèn)地, rsync 在同步時(shí)并不會(huì)刪除目標(biāo)目錄的文件,例如你在源目錄中刪除一個(gè)文件,但是用 rsync 同步時(shí),它并不會(huì)刪除同步目錄中的相同文件。如果向刪除也可以這么做:rsync -arv --delete Images/ backups/ 。

      十一 系統(tǒng)

      halt

      關(guān)閉系統(tǒng),需要 root 身份。

      reboot

      重啟系統(tǒng),需要 root 身份。

      reboot

      poweroff

      直接運(yùn)行即可關(guān)機(jī),不需要 root 身份。

      十二 Vim 編輯器

      Vim 是什么?

      Vim 是從 vi 發(fā)展出來的一個(gè)文本編輯器。其代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用。和 Emacs 并列成為類 Unix 系統(tǒng)用戶最喜歡的編輯器。

      Vim 常用模式

      • 交互模式
      • 插入模式
      • 命令模式
      • 可視模式

      交互模式

      也成為正常模式,這是 Vim 的默認(rèn)模式,每次運(yùn)行 Vim 程序的時(shí)候,就會(huì)進(jìn)入這個(gè)模式。

      例如執(zhí)行 vim name.txt 則會(huì)進(jìn)入交互模式。

      交互模式特征:

      • 在這個(gè)模式下,你不能輸入文本;
      • 它可以讓我們在文本間移動(dòng),刪除一行文本,復(fù)制黏貼文本,跳轉(zhuǎn)到指定行,撤銷操作,等等

      插入模式

      這個(gè)模式是我們熟悉的文本編輯器的模式,就是可以輸入任何你想輸入的內(nèi)容。進(jìn)入這個(gè)模式有幾種方法,最常用的方法是按字母鍵 i ( i、I、a、A、o、O 都可以進(jìn)入插入模式,只是所處的位置不同),退出這種模式,只需要按下 Esc 鍵。

      • i, I 進(jìn)入輸入模式 Insert mode :i 為"從目前光標(biāo)所在處輸入", I 為"在目前所在行的第一個(gè)非空格符處開始輸入";
      • a, A 進(jìn)入輸入模式 Insert mode :a 為"從目前光標(biāo)所在的下一個(gè)字符處開始輸入",A 為"從光標(biāo)所在行的最后一個(gè)字符處開始輸入";
      • o, O 進(jìn)入輸入模式 Insert mode :o 為"在目前光標(biāo)所在的下一行處輸入新的一行";O 為在目前光標(biāo)所在處的上一行輸入新的一行。

      命令模式

      命令模式也稱為底線命令模式,這個(gè)模式下可以運(yùn)行一些命令例如"退出","保存",等動(dòng)作。

      也可以用這個(gè)模式來激活一些 Vim 配置,例如語法高亮,顯示行號(hào),等。甚至還可以發(fā)送一些命令給終端命令行,例如 ls、cp 。

      為了進(jìn)入命令模式,首先要進(jìn)入交互模式,再按下冒號(hào)鍵。

      用一張圖表示三種模式如何切換:

      基本操作

      打開 Vim

      在終端命令行中輸入 vim 回車后 Vim 就會(huì)被運(yùn)行起來,也可以用 Vim 來打開一個(gè)文件,只需要在 vim 后面再加文件名。如 vim file.name ,如果文件不存在,那么會(huì)被創(chuàng)建。

      插入

      進(jìn)入文件之后,此時(shí)處于交互模式,可以通過輸入 i 進(jìn)入插入模式

      移動(dòng)

      在 Vim 的交互模式下,我們可以在文本中移動(dòng)光標(biāo)。

      • h 向左移動(dòng)一個(gè)字符
      • j 向下移動(dòng)一個(gè)字符
      • k 向上移動(dòng)一個(gè)字符
      • i 向右移動(dòng)一個(gè)字符

      當(dāng)然也可以使用四個(gè)方向鍵進(jìn)行移動(dòng),效果是一樣的。

      跳至行首和行末

      • 行首:在交互模式下,為了將光標(biāo)定位到一行的開始位置,只需要按下數(shù)字鍵 0 即可,鍵盤上的 Home 鍵也有相同效果。
      • 行末:在交互模式下,為了將光標(biāo)定位到一行的末尾,只需要按下美元符號(hào)鍵 $ 即可,鍵盤上的 End 鍵也有相同效果。

      按單詞移動(dòng)

      在交互模式下,按字母鍵 w 可以一個(gè)單詞一個(gè)單詞的移動(dòng)。

      退出文件

      在交互模式下,按下冒號(hào)鍵 : 進(jìn)入命令模式,再按下 q 鍵,就可以退出了。

      如果在退出之前又修改了文件,就直接想用 :q 退出 Vim ,那么 Vim 會(huì)顯示一個(gè)紅字標(biāo)明錯(cuò)誤信息。此時(shí)我們有兩個(gè)選擇:

      1. 保存并退出 :wq 或 :x ;
      2. 不保存且退出 :q! 。

      標(biāo)準(zhǔn)操作

      刪除字符

      在交互模式下,將光標(biāo)定位到一個(gè)你想要?jiǎng)h除的字符上,按下字母鍵 x 你會(huì)發(fā)現(xiàn)這個(gè)字符被刪除了。

      也可以一次性刪除多個(gè)字符,只需要在按 x 鍵之前輸入數(shù)字即可。

      刪除(剪切)單詞,行

      • 刪除一行:連按兩次 d 來刪除光標(biāo)所在的那一行。
      • 刪除多行:例如先輸入數(shù)字 2 ,再按下 dd ,就會(huì)刪除從光標(biāo)所在行開始的兩行。
      • 刪除一個(gè)單詞:將光標(biāo)置于一個(gè)單詞的首字母處,然后按下 dw 。
      • 刪除多個(gè)單詞:例如先按數(shù)字鍵 2 再按 dw 就可以刪除兩個(gè)單詞了。
      • 從光標(biāo)所在位置刪除至行首:d0 。
      • 從光標(biāo)所在位置刪除至行末:d$ 。

      復(fù)制單詞,行

      • 復(fù)制行:按兩次 y 會(huì)把光標(biāo)所在行復(fù)制到內(nèi)存中,和 dd 類似, dd 用于"剪切"光標(biāo)所在行。
      • 復(fù)制單詞:yw 會(huì)復(fù)制一個(gè)單詞。
      • 復(fù)制到行末:y$ 是復(fù)制從光標(biāo)所在處到行末的所有字符。
      • 復(fù)制到行首:y0 是復(fù)制光標(biāo)所在處到行首的所有字符。

      粘貼

      如果之前用 dd 或者 yy 剪切復(fù)制過來的,可以使用 p 來粘貼。同樣也可以使用 數(shù)字+p來表示復(fù)制多次。

      替換一個(gè)字符

      在交互模式下,將光標(biāo)置于想要替換的字符上。按下 r 鍵,接著輸入你要替換的字符即可。

      撤銷操作

      如果要撤銷最近的修改,只需要按下 u 鍵,如果想要撤銷最近四次修改,可以按下4,再按下 u 。

      重做

      取消撤銷,也就是重做之前的修改使用 ctrl + r 。

      跳轉(zhuǎn)到指定行

      Vim 編輯的文件中,每一行都有一個(gè)行號(hào),行號(hào)從1開始,逐一遞增。

      行號(hào)默認(rèn)是不顯示,如果需要它顯示的話,可以進(jìn)入命令模式,然后輸入 set nu ,如果要隱藏行號(hào)的話,使用 set nonu 。

      • 跳轉(zhuǎn)到指定行:數(shù)字+gg ,例如 7gg ,表示跳轉(zhuǎn)到第7行。
      • 要跳轉(zhuǎn)到最后一行,按下 G 。
      • 要跳轉(zhuǎn)到第一行,按下 gg 。

      高級(jí)操作

      查找

      處于交互模式下,按下 / 鍵,那么就進(jìn)入查找模式,輸入你要查找的字符串,然后按下回車。光標(biāo)就會(huì)跳轉(zhuǎn)到文件中下一個(gè)查找到的匹配處。如果字符串不存在,那么會(huì)顯示 "pattern not found" 。

      • n 跳轉(zhuǎn)到下一個(gè)匹配項(xiàng);
      • N 跳轉(zhuǎn)到上一個(gè)匹配項(xiàng)。

      [注意] 用斜杠來進(jìn)行的查找是從當(dāng)前光標(biāo)處開始向文件尾搜索,如果你要從當(dāng)前光標(biāo)處開始,向文件頭搜索則使用 ? ,當(dāng)然也可以先按下 gg 跳轉(zhuǎn)到第一行在進(jìn)行全文搜索。

      查找并替換

      替換光標(biāo)所在行第一個(gè)匹配的字符串:

      # 語法:s/舊字符串/新字符串# 實(shí)例:s/one/two

      替換光標(biāo)所在行所有舊字符串為新字符串:

      # 語法:s/舊字符串/新字符串/g

      替換第幾行到第幾行中所有字符串:

      # 語法:n,m s/舊字符串/新字符串/g

      # 實(shí)例:2,4 s/one/two/g

      最常用的就是全文替換了:

      # 語法:%s/舊字符串/新字符串/g

      合并文件

      可以用冒號(hào) +r ( :r ) 實(shí)現(xiàn)在光標(biāo)處插入一個(gè)文件的內(nèi)容。

      :r filename # 可以用Tab鍵來自動(dòng)補(bǔ)全另外一個(gè)文件的路徑
      

      關(guān)于軟件測試,要掌握的知識(shí)和技能有很多。 秋千學(xué)姐分類梳理了 500個(gè) 軟件測試知識(shí)體系中的重點(diǎn)問題答案,對(duì)于工作中的技能提升求職面試都有很大幫助,

      很實(shí)操很干貨,如果你需要,我發(fā)給你

      包含功能測試、接口測試、自動(dòng)化測試、數(shù)據(jù)庫、Linux、計(jì)算機(jī)網(wǎng)絡(luò)、抓包、算法、Python等內(nèi)容

      另外送軟件測試各類電子書籍

      面試或者工作中碰到的軟件測試問題,歡迎在知乎、公眾號(hào)、小紅書提問, 秋千學(xué)姐 幫你解答

      軟件測試|推薦閱讀:

      秋千說軟件測試:想拿30k軟件測試offer,看大廠365道軟件測試常問面試真題匯總

      秋千說軟件測試:2022最火的軟件測試面試_計(jì)算機(jī)網(wǎng)絡(luò)真題答案-通過率百分之百

      秋千說軟件測試:2022軟件測試20k的offer,自動(dòng)化測試面試題答案分享一波

      秋千說軟件測試:2022軟件測試拿了20k的offer,Python面試題答案分享一波

      秋千說軟件測試:2022軟件測試20k的offer,線程進(jìn)程協(xié)程面試題答案分享一波

      秋千說軟件測試:2022軟件測試拿了20k的offer,計(jì)算機(jī)網(wǎng)絡(luò)面試題答案分享一波

      秋千說軟件測試:2022軟件測試20k的offer,計(jì)算機(jī)網(wǎng)絡(luò)面試題答案分享一波

      職場經(jīng)驗(yàn)|推薦閱讀:

      秋千說軟件測試:從年薪200萬領(lǐng)導(dǎo)身上學(xué)到的職場干貨,彎道超車

      秋千說軟件測試:裁員最先裁哪類員工?看紅樓夢檢抄大觀園就知道了

      面試跳槽|推薦閱讀:

      秋千說軟件測試:你的離職原因應(yīng)該這么說,跳槽必看

      秋千說軟件測試:有些人害怕被裁員,有些人等著提裁員大禮包

      秋千說軟件測試:面試成功被夸邏輯思維強(qiáng),來分享面試技巧了

      秋千說軟件測試:面試時(shí)千萬別說這些大實(shí)話!

      秋千說軟件測試:就業(yè)不景氣,對(duì)抗焦慮和迷茫,只需要做對(duì)這1點(diǎn)

      秋千說軟件測試:為什么你的面試總是掛?面試官最討厭的這些雷區(qū)別踩

      四、15個(gè)經(jīng)典會(huì)計(jì)面試題?

      會(huì)計(jì)面試的題目大致分為普遍性的問題以及專業(yè)性的問題,主要有以下結(jié)論經(jīng)典試題:

      1、一般納稅人可抵扣票證有哪些?納稅申報(bào)的流程如何?

      2、客戶扣款(已開具發(fā)票)如何進(jìn)行會(huì)計(jì)處理?需要附哪些原始單據(jù)?

      3、年終獎(jiǎng)是如何計(jì)算繳納個(gè)人所得稅的?

      4、財(cái)政年報(bào)和匯算清繳報(bào)表口徑有什么差異?

      5、公司購買裝修材料用來裝修租用的辦公用房,如何進(jìn)行會(huì)計(jì)處理?

      6、公司開辦費(fèi)如何進(jìn)行會(huì)計(jì)核算?所得稅清繳時(shí)如何進(jìn)行調(diào)整?

      7、你為什么離開以前的公司?

      8、你目前的工作是什么?說說你工作的流程。

      9、你覺得費(fèi)用支出如何處理?(一般為服務(wù)行業(yè))

      10、公司成本如何核算?(一般為制造企業(yè))

      11、請(qǐng)你談?wù)劗厴I(yè)之后的工作經(jīng)歷。

      12、你現(xiàn)在或最近所做的工作,其職責(zé)是什么?你擔(dān)任什么職務(wù)?

      13、你認(rèn)為你在工作中的成就是什么?

      14、在你主管的部門中,遇到過什么困難?你是如何處理或應(yīng)付過去的?

      15、請(qǐng)談一下你在企業(yè)中職務(wù)升遷和收入變化情況。

      五、經(jīng)典面試題

      在就業(yè)市場競爭激烈的今天,面試已成為企業(yè)招聘中不可或缺的環(huán)節(jié)。無論是畢業(yè)生還是職場人士,都需要準(zhǔn)備好應(yīng)對(duì)各種各樣的面試題。而在面試題中,有一類經(jīng)典面試題是經(jīng)常被問到的,掌握了這些題目的解答技巧,對(duì)于成功通過面試將起到關(guān)鍵作用。

      經(jīng)典面試題一:“自我介紹”

      自我介紹是每個(gè)面試中必不可少的環(huán)節(jié),能夠清晰、簡潔地介紹自己對(duì)招聘崗位的適應(yīng)度和個(gè)人優(yōu)勢將給面試官留下良好的第一印象。

      解答此題需要注意以下幾點(diǎn):

      1. 簡潔明了的個(gè)人基本信息。
      2. 強(qiáng)調(diào)適應(yīng)招聘崗位的能力和經(jīng)驗(yàn)。
      3. 突出個(gè)人優(yōu)勢,與其他應(yīng)聘者區(qū)分開來。

      經(jīng)典面試題二:“你對(duì)我們公司了解多少?”

      通過這個(gè)問題,面試官想了解你是否對(duì)該公司有所了解,并評(píng)估你的研究和準(zhǔn)備能力。

      在回答這個(gè)問題時(shí),應(yīng)該:

      • 提前了解該公司的背景、業(yè)務(wù)以及最新動(dòng)態(tài)。
      • 強(qiáng)調(diào)與自身背景和職業(yè)目標(biāo)相關(guān)的信息。
      • 主動(dòng)提出自己對(duì)公司的興趣和理解,展示積極主動(dòng)的態(tài)度。

      經(jīng)典面試題三:“請(qǐng)談?wù)勀阍谶^去的工作或項(xiàng)目中遇到的困難及解決方案”

      這個(gè)問題用來評(píng)估你的問題解決能力和應(yīng)變能力?;卮饡r(shí)應(yīng)該:

      • 選擇一個(gè)具體的例子,通過故事的方式來展示自己的經(jīng)歷。
      • 清晰地描述遇到的困難以及解決方案,突出自己承擔(dān)責(zé)任和解決問題的能力。
      • 體現(xiàn)自己的學(xué)習(xí)能力和成長性,說明從中獲得了什么經(jīng)驗(yàn)和教訓(xùn)。

      經(jīng)典面試題四:“為什么離開上一家公司?”

      面試官通過這個(gè)問題來了解你離職的原因,是為了評(píng)估你是否穩(wěn)定性和適應(yīng)能力強(qiáng)。

      回答此問題時(shí)應(yīng)注意:

      • 積極地表達(dá)離職的原因,并強(qiáng)調(diào)與自身職業(yè)規(guī)劃相關(guān)的因素。
      • 不要負(fù)面評(píng)價(jià)上一家公司或同事,保持積極、專業(yè)的態(tài)度。
      • 突出對(duì)新職位的興趣和動(dòng)力,表達(dá)自己對(duì)未來發(fā)展的期望。

      經(jīng)典面試題五:“你的職業(yè)規(guī)劃是什么?”

      這是一個(gè)考察你的長期職業(yè)目標(biāo)和規(guī)劃的問題。

      解答此題時(shí)應(yīng)該:

      • 用清晰、簡潔的語言表達(dá)自己的職業(yè)目標(biāo)。
      • 結(jié)合公司和職位的特點(diǎn),闡述自己與之匹配的能力和經(jīng)驗(yàn)。
      • 強(qiáng)調(diào)自己的學(xué)習(xí)能力和成長性,表達(dá)對(duì)于不斷提升自己的追求。

      經(jīng)典面試題六:“你的優(yōu)點(diǎn)和缺點(diǎn)是什么?”

      通過這個(gè)問題,面試官想了解你的自我認(rèn)知和反思能力。

      回答此問題時(shí)應(yīng)注重:

      • 對(duì)自身的優(yōu)點(diǎn)要真實(shí)、客觀,與招聘崗位和企業(yè)文化匹配。
      • 對(duì)于缺點(diǎn),要選擇相對(duì)不重要或可改善的方面,并展示積極的態(tài)度和解決問題的能力。
      • 結(jié)合實(shí)例說明自己如何通過努力改善自身的不足。

      以上就是一些經(jīng)典面試題以及針對(duì)這些問題的解答技巧。掌握了這些題目的解答方法,將能夠更加自信、流暢地回答面試官的問題,給對(duì)方留下深刻印象。當(dāng)然,在面試過程中,還需要注意言談舉止、形象儀態(tài)等方面的表現(xiàn),與優(yōu)秀的答案相結(jié)合,才能在眾多競爭者中脫穎而出,成功獲得心儀的工作機(jī)會(huì)。

      六、經(jīng)典面試題目及最佳答案?

      A、別的同仁認(rèn)為我是老板前的紅人,所以處處排擠我。

      B、調(diào)薪的結(jié)果令我十分失望,完全與我的付出不成正比。

      C、老板不愿授權(quán),工作處處受限,綁手綁腳、很難做事。

      D、公司營運(yùn)狀況不佳,大家人心惶惶。

      解答:超過一半的人事主管選擇C,其次為D.選擇C的回答,可以顯示應(yīng)征者的企圖心、能力強(qiáng),且希望被賦予更多的職責(zé)。選擇D,則是因離職原因?yàn)閭€(gè)人無法改變的客觀外在因素,因此,面談?wù)咭簿筒粫?huì)對(duì)個(gè)人的能力或工作表現(xiàn),有太多的存疑。

      七、有哪些大廠經(jīng)典面試題值得一看?

      我在??途W(wǎng)刷到過很多Java面試題,但是都沒有答案!

      但這一次我分享的就是有一份【Java面試寶典】含答案!你可以進(jìn)行參考!最全的 Java 面試題,題目涉及 Java 基礎(chǔ)、集合、多線程、IO、分布式、Spring全家桶、MyBatis、Dubbo、緩存、消息隊(duì)列、Linux…等等。題庫共 600+ 道,帶全部答案,非常齊全!——【傳送門免費(fèi)貨區(qū)

      JVM

      多線程

      spring

      MyBatis

      SpringBoot

      MySQL

      網(wǎng)絡(luò)

      git

      一、Java基礎(chǔ) 44 道

      1. 解釋下什么是面向?qū)ο??面向?qū)ο蠛?a>面向過程的區(qū)別?

      2. 面向?qū)ο蟮娜筇匦??分別解釋下?

      3. JDK、JRE、JVM 三者之間的關(guān)系?

      4. 重載和重寫的區(qū)別?

      5. Java 中是否可以重寫一個(gè) private 或者 static 方法?

      6. 構(gòu)造方法有哪些特性?

      7. 在 Java 中定義一個(gè)不做事且沒有參數(shù)的構(gòu)造方法有什么作用?

      8. Java 中創(chuàng)建對(duì)象的幾種方式?

      9. 抽象類和接口有什么區(qū)別?

      10. 靜態(tài)變量和實(shí)例變量的區(qū)別?

      11. 12、short s1 = 1;s1 = s1 + 1;有什么錯(cuò)?那么 short s1 = 1; s1 += 1;呢?有沒有錯(cuò)誤?

      12. Integer 和 int 的區(qū)別?

      13. 裝箱和拆箱的區(qū)別

      14. switch 語句能否作用在 byte 上,能否作用在 long 上,能否作用在 String 上?

      15. 16、final、finally、finalize 的區(qū)別

      16. == 和 equals 的區(qū)別?

      17. 兩個(gè)對(duì)象的 hashCode() 相同,則 equals() 也一定為 true 嗎?

      18. 為什么重寫 equals() 就一定要重寫 hashCode() 方法?

      19. & 和 && 的區(qū)別?

      20. Java 中的參數(shù)傳遞時(shí)傳值呢?還是傳引用?

      21. Java 中的 Math.round(-1.5) 等于多少?

      22. 如何實(shí)現(xiàn)對(duì)象的克?。?/p>

      23. 深克隆和淺克隆的區(qū)別?

      24. 什么是 Java 的序列化,如何實(shí)現(xiàn) Java 的序列化?

      25. 什么情況下需要序列化?

      26. Java 的泛型是如何工作的 ? 什么是類型擦除 ?

      27. 什么是泛型中的限定通配符和非限定通配符 ?

      28. List 和 List 之間有什么區(qū)別 ?

      29. Java 中的反射是什么意思?有哪些應(yīng)用場景?

      30. 反射的優(yōu)缺點(diǎn)?

      31. Java 中的動(dòng)態(tài)代理是什么?有哪些應(yīng)用?

      32. 怎么實(shí)現(xiàn)動(dòng)態(tài)代理?

      33. static 關(guān)鍵字的作用?

      34. super 關(guān)鍵字的作用?

      35. 字節(jié)和字符的區(qū)別?

      36. String 為什么要設(shè)計(jì)為不可變類?

      37. String、StringBuilder、StringBuffer 的區(qū)別?

      38. String 字符串修改實(shí)現(xiàn)的原理?

      39. String str = "i" 與 String str = new String("i") 一樣嗎?

      40. String 類的常用方法都有那些?

      41. final 修飾 StringBuffer 后還可以 append 嗎?

      42. Java 中的 IO 流的分類?說出幾個(gè)你熟悉的實(shí)現(xiàn)類?

      43. 字節(jié)流和字符流有什么區(qū)別?

      44. BIO、NIO、AIO 有什么區(qū)別?

      二、Java異常 9 道

      1. finally 塊中的代碼什么時(shí)候被執(zhí)行?

      2. finally 是不是一定會(huì)被執(zhí)行到?

      3. try-catch-finally 中,如果 catch 中 return 了,finally 還會(huì)執(zhí)行嗎?

      4. try-catch-finally 中那個(gè)部分可以省略?

      5. Error 和 Exception 的區(qū)別?

      6. 運(yùn)行時(shí)異常與受檢異常有何異同?

      7. throw 和 throws 的區(qū)別?

      8. 常見的異常類有哪些?

      9. 主線程可以捕獲到子線程的異常嗎?

      三、Java集合 24 道

      1. Java 中常用的容器有哪些?

      2. ArrayList 和 LinkedList 的區(qū)別?

      3. ArrayList 實(shí)現(xiàn) RandomAccess 接口有何作用?為何 LinkedList 卻沒實(shí)現(xiàn)這個(gè)接口?

      4. ArrayList 的擴(kuò)容機(jī)制?

      5. Array 和 ArrayList 有何區(qū)別?什么時(shí)候更適合用 Array?

      6. HashMap 的實(shí)現(xiàn)原理/底層數(shù)據(jù)結(jié)構(gòu)?JDK1.7 和 JDK1.8

      7. HashMap 的 put 方法的執(zhí)行過程?

      8. HashMap 的 get 方法的執(zhí)行過程?

      9. HashMap 的 resize 方法的執(zhí)行過程?

      10. HashMap 的 size 為什么必須是 2 的整數(shù)次方?

      11. HashMap 多線程死循環(huán)問題?

      12. HashMap 的 get 方法能否判斷某個(gè)元素是否在 map 中?

      13. HashMap 與 HashTable 的區(qū)別是什么?

      14. HashMap 與 ConcurrentHashMap 的區(qū)別是什么?

      15. HashTable 和 ConcurrentHashMap 的區(qū)別?

      16. ConcurrentHashMap 的實(shí)現(xiàn)原理是什么?

      17. HashSet 的實(shí)現(xiàn)原理?

      18. HashSet 怎么保證元素不重復(fù)的?

      19. LinkedHashMap 的實(shí)現(xiàn)原理?

      20. Iterator 怎么使用?有什么特點(diǎn)?

      21. Iterator 和 ListIterator 有什么區(qū)別?

      22. Iterator 和 Enumeration 接口的區(qū)別?

      23. fail-fast 與 fail-safe 有什么區(qū)別?

      24. Collection 和 Collections 有什么區(qū)別?

      四、Java并發(fā) 42 道

      1. 并行和并發(fā)有什么區(qū)別?

      2. 線程和進(jìn)程的區(qū)別?

      3. 守護(hù)線程是什么?

      4. 創(chuàng)建線程的幾種方式?

      5. Runnable 和 Callable 有什么區(qū)別?

      6. 線程狀態(tài)及轉(zhuǎn)換?

      7. sleep() 和 wait() 的區(qū)別?

      8. 線程的 run() 和 start() 有什么區(qū)別?

      9. 在 Java 程序中怎么保證多線程的運(yùn)行安全?

      10. Java 線程同步的幾種方法?

      11. Thread.interrupt() 方法的工作原理是什么?

      12. 談?wù)剬?duì) ThreadLocal 的理解?

      13. 在哪些場景下會(huì)使用到 ThreadLocal?

      14. 說一說自己對(duì)于 synchronized 關(guān)鍵字的了解?

      15. 如何在項(xiàng)目中使用 synchronized 的?

      16. 說說 JDK1.6 之后的 synchronized 關(guān)鍵字底層做了哪些優(yōu)化,可以詳細(xì)介紹一下這些優(yōu)化嗎?

      17. 談?wù)?synchronized 和 ReenTrantLock 的區(qū)別?

      18. synchronized 和 volatile 的區(qū)別是什么?

      19. 談一下你對(duì) volatile 關(guān)鍵字的理解?

      20. 說下對(duì) ReentrantReadWriteLock 的理解?

      21. 說下對(duì)悲觀鎖和樂觀鎖的理解?

      22. 樂觀鎖常見的兩種實(shí)現(xiàn)方式是什么?

      23. 樂觀鎖的缺點(diǎn)有哪些?

      24. CAS 和 synchronized 的使用場景?

      25. 簡單說下對(duì) Java 中的原子類的理解?

      26. atomic 的原理是什么?

      27. 說下對(duì)同步器 AQS 的理解?

      28. AQS 的原理是什么?

      29. AQS 對(duì)資源的共享模式有哪些?

      30. AQS 底層使用了模板方法模式,你能說出幾個(gè)需要重寫的方法嗎?

      31. 說下對(duì)信號(hào)量 Semaphore 的理解?

      32. CountDownLatch 和 CyclicBarrier 有什么區(qū)別?

      33. 說下對(duì)線程池的理解?為什么要使用線程池?

      34. 創(chuàng)建線程池的參數(shù)有哪些?

      35. 如何創(chuàng)建線程池?

      36. 線程池中的的線程數(shù)一般怎么設(shè)置?需要考慮哪些問題?

      37. 執(zhí)行 execute() 方法和 submit() 方法的區(qū)別是什么呢?

      38. 說下對(duì) Fork和Join 并行計(jì)算框架的理解?

      39. JDK 中提供了哪些并發(fā)容器?

      40. 談?wù)剬?duì) CopyOnWriteArrayList 的理解?

      41. 談?wù)剬?duì) BlockingQueue 的理解?分別有哪些實(shí)現(xiàn)類?

      42. 談?wù)剬?duì) ConcurrentSkipListMap 的理解?

      八、桌面運(yùn)維常見經(jīng)典面試題和答案?

      1. 請(qǐng)介紹一下您的運(yùn)維經(jīng)驗(yàn)和技能。

      2. 對(duì)于 Linux 操作系統(tǒng),你有哪些熟練操作技巧?

      3. 如何排查桌面應(yīng)用程序的故障?

      4. 如何設(shè)置和管理軟件包倉庫?

      5. 請(qǐng)講述一下您的網(wǎng)絡(luò)配置和管理經(jīng)驗(yàn)。

      6. 如何執(zhí)行服務(wù)器備份和恢復(fù)?

      7. 如何使用監(jiān)控工具來掌握系統(tǒng)健康狀態(tài)?

      8. 如何解決網(wǎng)絡(luò)連接問題?

      9. 如何處理和分析日志文件?

      10. 如何保證系統(tǒng)和應(yīng)用程序的安全性?

      九、經(jīng)典面試題逆向思維

      經(jīng)典面試題逆向思維

      引言

      在職場競爭日益激烈的今天,找工作已經(jīng)成為許多人急需解決的問題。面試是進(jìn)入一家公司的敲門磚,而面試官往往會(huì)提出各種經(jīng)典面試題來了解應(yīng)聘者的能力和思維方式。如何在面試中脫穎而出?逆向思維或許是一個(gè)有效的策略。

      什么是逆向思維?

      逆向思維,顧名思義,就是指與常規(guī)思維方向相反的思考方式。在面對(duì)經(jīng)典面試題時(shí),我們往往會(huì)被固有的思維模式所限制,導(dǎo)致回答平淡無奇。而通過逆向思維,我們可以打破常規(guī),提供獨(dú)特且出色的答案,給面試官留下深刻印象。

      經(jīng)典面試題示例

      接下來,我們將結(jié)合具體面試題,探討如何運(yùn)用逆向思維進(jìn)行回答,展現(xiàn)出與眾不同的魅力。

      1. 如果讓你設(shè)計(jì)一個(gè)沒有關(guān)閉按鈕的彈窗廣告,你會(huì)怎么做?

      常規(guī)思維:大多數(shù)人會(huì)覺得這個(gè)任務(wù)很困難,因?yàn)閺棿皬V告往往被用戶視為打擾。他們可能會(huì)選擇設(shè)計(jì)一個(gè)盡量不顯眼的彈窗,或者提供一個(gè)“X”按鈕來關(guān)閉。

      逆向思維解法:我會(huì)設(shè)計(jì)一個(gè)極具創(chuàng)意的彈窗廣告,讓用戶在不知不覺中產(chǎn)生好奇心和共鳴,從而愿意與之互動(dòng),而不需要關(guān)閉按鈕。比如,利用文字和圖案設(shè)計(jì)吸引用戶點(diǎn)擊,引發(fā)購買欲望。

      2. 如果讓你把整個(gè)英國都以一英寸地圖的規(guī)模繪制在一個(gè)小房間里,你會(huì)怎么做?

      常規(guī)思維:大多數(shù)人可能會(huì)覺得這個(gè)任務(wù)根本無法完成,因?yàn)橛拿娣e實(shí)在太大。他們可能會(huì)選擇放棄或者設(shè)計(jì)一個(gè)縮小比例尺的地圖。

      逆向思維解法:我會(huì)選擇運(yùn)用抽象的符號(hào)和顏色來代表地理元素,同時(shí)利用房間的立體空間進(jìn)行布局,呈現(xiàn)出英國的整體輪廓和重要標(biāo)志,讓觀者一目了然。

      結(jié)語

      在面試中,經(jīng)典面試題往往是考察應(yīng)聘者思維跳躍和創(chuàng)造力的重要手段。通過逆向思維,我們可以打破思維定式,提供出色的答案,展現(xiàn)獨(dú)特的視角和能力。希望本文對(duì)你在應(yīng)對(duì)經(jīng)典面試題時(shí)有所啟發(fā),祝你面試順利!

      十、java基礎(chǔ)面試題(經(jīng)典)

      大家好,歡迎來到我的博客!今天我要為大家分享的是關(guān)于Java基礎(chǔ)面試題(經(jīng)典)的內(nèi)容。在準(zhǔn)備面試之前,了解一些常見的面試題是非常重要的。這些問題考察了你對(duì)Java編程語言的基本理解和掌握情況,對(duì)于未來在實(shí)際工作中能否運(yùn)用Java來解決問題起到了很好的檢驗(yàn)作用。

      什么是Java基礎(chǔ)面試題(經(jīng)典)?

      Java基礎(chǔ)面試題(經(jīng)典)是指那些在Java編程語言的學(xué)習(xí)和應(yīng)用過程中廣泛問及的經(jīng)典問題。這些問題涵蓋了Java基礎(chǔ)知識(shí)、語法、面向?qū)ο缶幊?、集合框架、異常處理、多線程等方面。掌握了Java基礎(chǔ)面試題(經(jīng)典),你可以更好地理解和運(yùn)用Java編程語言。

      為什么要關(guān)注Java基礎(chǔ)面試題(經(jīng)典)?

      在求職過程中,掌握J(rèn)ava基礎(chǔ)面試題(經(jīng)典)有助于提升你的競爭力。很多招聘者在面試中會(huì)問及一些經(jīng)典的Java基礎(chǔ)問題,這些問題旨在考察你對(duì)Java核心知識(shí)的掌握程度。通過事先準(zhǔn)備并熟悉這些問題,你可以在面試中展現(xiàn)自己的知識(shí)水平,給招聘者留下深刻的印象,提高你被錄用的機(jī)會(huì)。

      Java基礎(chǔ)面試題(經(jīng)典)示例

      接下來,我將為大家提供一些Java基礎(chǔ)面試題(經(jīng)典)的示例,希望能幫助大家更好地準(zhǔn)備面試。

      1. 請(qǐng)解釋Java中的面向?qū)ο缶幊?OOP)是什么?

      Java是一種面向?qū)ο缶幊陶Z言,面向?qū)ο缶幊淌且环N軟件開發(fā)方法,通過將實(shí)際世界中的事物抽象成對(duì)象來解決問題。在Java中,對(duì)象是根據(jù)類(Class)定義的,類是對(duì)象的模板,用于描述對(duì)象的屬性和行為。

      2. Java中的字符串是可變的還是不可變的?

      在Java中,字符串是不可變的,也就是說一旦創(chuàng)建了一個(gè)字符串對(duì)象,就不能再改變它。當(dāng)對(duì)字符串進(jìn)行修改時(shí),實(shí)際上是創(chuàng)建了一個(gè)新的字符串對(duì)象,原始字符串對(duì)象并沒有改變。

      3. 請(qǐng)解釋Java中的靜態(tài)方法和實(shí)例方法的區(qū)別。

      靜態(tài)方法是屬于類的方法,可以直接通過類名調(diào)用,而不需要?jiǎng)?chuàng)建類的實(shí)例。靜態(tài)方法中不能直接訪問類的非靜態(tài)成員,只能訪問靜態(tài)成員。實(shí)例方法是屬于類的實(shí)例的方法,需要通過創(chuàng)建類的實(shí)例來調(diào)用,可以訪問類的靜態(tài)和非靜態(tài)成員。

      4. 什么是Java中的繼承?如何實(shí)現(xiàn)繼承?

      繼承是面向?qū)ο缶幊讨械囊粋€(gè)重要概念,它允許一個(gè)類(稱為子類或派生類)繼承另一個(gè)類(稱為父類或基類)的屬性和方法。在Java中,可以通過使用關(guān)鍵字“extends”來實(shí)現(xiàn)繼承。

      5. 請(qǐng)解釋Java中的多態(tài)性是什么?怎么實(shí)現(xiàn)多態(tài)性?

      多態(tài)性是指一個(gè)對(duì)象在不同情況下具有不同的表現(xiàn)形式或表現(xiàn)行為的能力。在Java中,多態(tài)性可以通過繼承和接口來實(shí)現(xiàn)。當(dāng)子類繼承父類或?qū)崿F(xiàn)接口時(shí),可以以父類或接口類型引用子類對(duì)象,實(shí)現(xiàn)編譯時(shí)的多態(tài)性。

      6. Java中的異常處理機(jī)制是什么?

      Java中的異常處理機(jī)制可以幫助我們更好地處理代碼中可能出現(xiàn)的錯(cuò)誤和異常情況。它通過使用try-catch語句塊來捕獲和處理可能發(fā)生的異常,從而保證程序的正常執(zhí)行。

      7. Java中的集合框架有哪些?

      Java中的集合框架提供了一組實(shí)現(xiàn)了常用數(shù)據(jù)結(jié)構(gòu)的類和接口。常見的集合框架包括List(列表)、Set(集合)、Map(映射)等。它們分別提供了不同的數(shù)據(jù)存儲(chǔ)和訪問方式,適用于不同的場景和需求。

      8. 請(qǐng)解釋Java中的線程是什么?如何創(chuàng)建和控制線程?

      線程是程序執(zhí)行的最小單元,它代表了一個(gè)獨(dú)立的執(zhí)行路徑。在Java中,可以通過繼承Thread類或?qū)崿F(xiàn)Runnable接口來創(chuàng)建線程。線程的創(chuàng)建和控制可以使用Thread類提供的方法來實(shí)現(xiàn),如start()、sleep()、join()等。

      總結(jié)

      通過準(zhǔn)備和熟悉Java基礎(chǔ)面試題(經(jīng)典),你可以增加在Java面試中的競爭力,并展示自己的知識(shí)水平和技能。我希望本篇博客能夠?qū)δ阍诿嬖囍械臏?zhǔn)備有所幫助。

      如果你對(duì)Java基礎(chǔ)面試題(經(jīng)典)有任何疑問或想進(jìn)一步討論,歡迎在評(píng)論區(qū)留言。謝謝大家的閱讀!

      相關(guān)資訊
      熱門頻道

      Copyright © 2024 招聘街 滇ICP備2024020316號(hào)-38

      国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

        灵石县| 永和县| 南昌市| 通道| 翁牛特旗| 罗源县| 治多县| 嵩明县| 廊坊市| 广南县| 淳安县| 海丰县| 南郑县| 新河县| 乌海市| 西乌| 旅游| 呼伦贝尔市| 子长县| 贞丰县| 广安市| 阳新县| 固阳县| 惠州市| 奉化市| 河池市| 锦州市| 溧阳市| 吉木萨尔县| 北碚区| 保靖县| 江安县| 丰顺县| 普陀区| 土默特左旗| 渭源县| 西昌市| 怀仁县| 丰县| 和林格尔县| 花垣县|