2026年軟件開發(fā)工程師初級筆試知識點梳理_第1頁
2026年軟件開發(fā)工程師初級筆試知識點梳理_第2頁
2026年軟件開發(fā)工程師初級筆試知識點梳理_第3頁
2026年軟件開發(fā)工程師初級筆試知識點梳理_第4頁
2026年軟件開發(fā)工程師初級筆試知識點梳理_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2026年軟件開發(fā)工程師初級筆試知識點梳理一、選擇題(共5題,每題2分,合計10分)1.(2分)在JavaScript中,以下哪個方法用于向數(shù)組末尾添加一個或多個元素,并返回新的數(shù)組長度?A.`push()`B.`pop()`C.`shift()`D.`unshift()`2.(2分)在Python中,用于處理異常的語句是?A.`try-except`B.`if-else`C.`for-loop`D.`while-loop`3.(2分)SQL中,用于刪除表中數(shù)據(jù)的命令是?A.`UPDATE`B.`DELETE`C.`INSERT`D.`SELECT`4.(2分)在Git中,用于將本地代碼提交到遠(yuǎn)程倉庫的命令是?A.`gitpush`B.`gitpull`C.`gitclone`D.`gitcommit`5.(2分)在HTML中,用于定義超鏈接的標(biāo)簽是?A.`<img>`B.`<a>`C.`<div>`D.`<span>`二、填空題(共5題,每題2分,合計10分)6.(2分)在Java中,用于定義類的方法的關(guān)鍵字是________。答案:`publicstaticvoid`(或更具體,如`publicvoid`,但需結(jié)合上下文)7.(2分)CSS中,用于設(shè)置元素透明度的屬性是________。答案:`opacity`8.(2分)在Linux中,用于查看當(dāng)前目錄下文件列表的命令是________。答案:`ls`9.(2分)在React中,用于管理組件內(nèi)部狀態(tài)的鉤子是________。答案:`useState`10.(2分)在網(wǎng)絡(luò)協(xié)議中,HTTP的默認(rèn)端口號是________。答案:`80`三、簡答題(共4題,每題5分,合計20分)11.(5分)簡述RESTfulAPI的設(shè)計原則,并舉例說明。答案:RESTfulAPI的設(shè)計原則包括:1.無狀態(tài)(Stateless):服務(wù)器不存儲客戶端狀態(tài),每次請求都獨立。-例子:登錄后,服務(wù)器不保存用戶狀態(tài),每次請求都需要重新傳遞Token。2.無緩存(Cacheable):客戶端可緩存響應(yīng),減少網(wǎng)絡(luò)請求。-例子:靜態(tài)資源(如JS、CSS)可設(shè)置`Cache-Control`頭進(jìn)行緩存。3.可緩存(Cacheable):服務(wù)器需明確響應(yīng)是否可緩存。-例子:API響應(yīng)頭`Cache-Control:no-cache`表示不可緩存。4.統(tǒng)一接口(UniformInterface):使用標(biāo)準(zhǔn)方法(GET/POST等)和URI。-例子:用戶信息API為`GET/users/{id}`。5.分層系統(tǒng)(LayeredSystem):請求可經(jīng)過中間層(如網(wǎng)關(guān))。-例子:API網(wǎng)關(guān)轉(zhuǎn)發(fā)請求到后端服務(wù)。12.(5分)解釋什么是“閉包(Closure)”及其在JavaScript中的作用。答案:閉包是指函數(shù)可以訪問其外部作用域的變量。在JavaScript中,閉包通過嵌套函數(shù)實現(xiàn),內(nèi)部函數(shù)可引用外部函數(shù)的變量,即使外部函數(shù)已執(zhí)行完畢。作用:1.數(shù)據(jù)封裝:保護(hù)變量不被外部修改。-例子:`functioncreateCounter(){letcount=0;returnfunction(){count++;returncount;};}`2.實現(xiàn)私有變量:內(nèi)部函數(shù)可訪問外部變量,外部不可直接訪問。-例子:`letprivateVar=(function(){let_var='secret';return{getVar:function(){return_var;}};})();`13.(5分)什么是SQL注入,如何防范?答案:SQL注入是攻擊者通過輸入惡意SQL代碼,繞過認(rèn)證,篡改數(shù)據(jù)庫。防范方法:1.參數(shù)化查詢:使用預(yù)編譯語句(如`PreparedStatement`)。-例子:Java中`Stringsql="SELECTFROMusersWHEREid=?";PreparedStatementstmt=conn.prepareStatement(sql);stmt.setInt(1,userId);`2.輸入驗證:限制輸入長度和類型。3.權(quán)限控制:使用最小權(quán)限原則。4.ORM框架:如Hibernate、MyBatis可自動防范。14.(5分)解釋Git中的`merge`與`rebase`的區(qū)別,場景應(yīng)用。答案:-`merge`:將兩個分支的變更合并到一起,保留歷史分支。適合團(tuán)隊協(xié)作,避免沖突。-例子:合并`feature`分支到`main`。-`rebase`:將一個分支的變更應(yīng)用到另一個分支,重寫歷史。適合個人項目或簡化分支歷史。-例子:將`feature`分支的提交按順序合并到`main`。場景應(yīng)用:-`merge`:團(tuán)隊協(xié)作時合并功能分支。-`rebase`:個人開發(fā)時整理本地分支歷史。四、代碼題(共3題,每題10分,合計30分)15.(10分)完善以下Python代碼,實現(xiàn)一個函數(shù)`count_vowels`,統(tǒng)計字符串中的元音字母(a,e,i,o,u)數(shù)量。pythondefcount_vowels(s):vowels="aeiou"count=0補(bǔ)全代碼returncount答案:pythondefcount_vowels(s):vowels="aeiou"count=0forcharins.lower():ifcharinvowels:count+=1returncount16.(10分)完善以下JavaScript代碼,實現(xiàn)一個函數(shù)`reverse_array`,反轉(zhuǎn)數(shù)組。javascriptfunctionreverse_array(arr){//補(bǔ)全代碼}答案:javascriptfunctionreverse_array(arr){letleft=0;letright=arr.length-1;while(left<right){//交換元素[arr[left],arr[right]]=[arr[right],arr[left]];left++;right--;}returnarr;}17.(10分)完善以下Java代碼,實現(xiàn)一個類`Student`,包含屬性`name`和`age`,以及方法`introduce()`打印自我介紹。javapublicclassStudent{privateStringname;privateintage;//補(bǔ)全代碼}答案:javapublicclassStudent{privateStringname;privateintage;publicStudent(Stringname,intage){=name;this.age=age;}publicvoidintroduce(){System.out.println("Mynameis"+name+",Iam"+age+"yearsold.");}}五、論述題(共2題,每題15分,合計30分)18.(15分)論述前端性能優(yōu)化的常用方法,并舉例說明。答案:前端性能優(yōu)化方法包括:1.資源壓縮:減少文件大小。-例子:使用Gzip壓縮JS/CSS,如`nginx`配置`gzipon;`。2.懶加載:按需加載圖片/組件。-例子:`<imgsrc="placeholder.jpg"loading="lazy">`。3.緩存利用:設(shè)置HTTP緩存頭。-例子:`Cache-Control:max-age=3600`。4.CDN分發(fā):將資源部署到全球節(jié)點。-例子:使用`Cloudflare`或`AlibabaCloudCDN`。5.代碼分割:按需加載模塊。-例子:React中`React.lazy()`。6.減少重繪/回流:批量DOM操作。-例子:使用`requestAnimationFrame`。19.(15分)解釋微服務(wù)架構(gòu)的優(yōu)缺點,并說明適用場景。答案:優(yōu)點:1.獨立部署:每個服務(wù)可獨立更新,不影響其他服務(wù)。2.技術(shù)異構(gòu):不同服務(wù)可使用不同語言/數(shù)據(jù)庫。3.彈性伸縮:可單獨擴(kuò)容高頻服務(wù)。4.可維護(hù)性:模塊化設(shè)計,便于理解。缺點:1.運(yùn)維復(fù)雜:需管理多個服務(wù),增加部署和監(jiān)控成本。2.網(wǎng)絡(luò)延遲:跨服務(wù)調(diào)用導(dǎo)致性能損耗。3.數(shù)據(jù)一致性:分布式事務(wù)(如CAP理論)難以解決。適用場景:1.大型復(fù)雜應(yīng)用:如電商、社交平臺。2.高并發(fā)場景:如支付系統(tǒng)。3.技術(shù)迭代快:可快速實驗新服務(wù)。答案解析選擇題:1.A(`push()`向數(shù)組末尾添加元素)2.A(`try-except`處理異常)3.B(`DELETE`刪除數(shù)據(jù))4.A(`gitpush`提交到遠(yuǎn)程)5.B(`<a>`定義超鏈接)填空題:6.`publicstaticvoid`(Java中定義方法的常見關(guān)鍵字)7.`opacity`(CSS透明度屬性)8.`ls`(Linux查看文件列表)9.`useState`(React管理組件狀態(tài))10.`80`(HTTP默認(rèn)端口)簡答題:11.RESTfulAPI設(shè)計原則見上文,核心是無狀態(tài)、緩存、統(tǒng)一接口等。12.閉包是JavaScript中函數(shù)訪問外部作用域變量的機(jī)制,用于數(shù)據(jù)封裝和私有變量。13.SQL注入是惡意輸入SQL代碼攻擊數(shù)據(jù)庫,防范方法包括參數(shù)化查詢、輸入驗證等。14.`merge`合并分支保留歷史,`reba

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論