2026年软件开发工程师初级笔试知识点梳理_第1页
2026年软件开发工程师初级笔试知识点梳理_第2页
2026年软件开发工程师初级笔试知识点梳理_第3页
2026年软件开发工程师初级笔试知识点梳理_第4页
2026年软件开发工程师初级笔试知识点梳理_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年软件开发工程师初级笔试知识点梳理一、选择题(共5题,每题2分,合计10分)1.(2分)在JavaScript中,以下哪个方法用于向数组末尾添加一个或多个元素,并返回新的数组长度?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中,用于删除表中数据的命令是?A.`UPDATE`B.`DELETE`C.`INSERT`D.`SELECT`4.(2分)在Git中,用于将本地代码提交到远程仓库的命令是?A.`gitpush`B.`gitpull`C.`gitclone`D.`gitcommit`5.(2分)在HTML中,用于定义超链接的标签是?A.`<img>`B.`<a>`C.`<div>`D.`<span>`二、填空题(共5题,每题2分,合计10分)6.(2分)在Java中,用于定义类的方法的关键字是________。答案:`publicstaticvoid`(或更具体,如`publicvoid`,但需结合上下文)7.(2分)CSS中,用于设置元素透明度的属性是________。答案:`opacity`8.(2分)在Linux中,用于查看当前目录下文件列表的命令是________。答案:`ls`9.(2分)在React中,用于管理组件内部状态的钩子是________。答案:`useState`10.(2分)在网络协议中,HTTP的默认端口号是________。答案:`80`三、简答题(共4题,每题5分,合计20分)11.(5分)简述RESTfulAPI的设计原则,并举例说明。答案:RESTfulAPI的设计原则包括:1.无状态(Stateless):服务器不存储客户端状态,每次请求都独立。-例子:登录后,服务器不保存用户状态,每次请求都需要重新传递Token。2.无缓存(Cacheable):客户端可缓存响应,减少网络请求。-例子:静态资源(如JS、CSS)可设置`Cache-Control`头进行缓存。3.可缓存(Cacheable):服务器需明确响应是否可缓存。-例子:API响应头`Cache-Control:no-cache`表示不可缓存。4.统一接口(UniformInterface):使用标准方法(GET/POST等)和URI。-例子:用户信息API为`GET/users/{id}`。5.分层系统(LayeredSystem):请求可经过中间层(如网关)。-例子:API网关转发请求到后端服务。12.(5分)解释什么是“闭包(Closure)”及其在JavaScript中的作用。答案:闭包是指函数可以访问其外部作用域的变量。在JavaScript中,闭包通过嵌套函数实现,内部函数可引用外部函数的变量,即使外部函数已执行完毕。作用:1.数据封装:保护变量不被外部修改。-例子:`functioncreateCounter(){letcount=0;returnfunction(){count++;returncount;};}`2.实现私有变量:内部函数可访问外部变量,外部不可直接访问。-例子:`letprivateVar=(function(){let_var='secret';return{getVar:function(){return_var;}};})();`13.(5分)什么是SQL注入,如何防范?答案:SQL注入是攻击者通过输入恶意SQL代码,绕过认证,篡改数据库。防范方法:1.参数化查询:使用预编译语句(如`PreparedStatement`)。-例子:Java中`Stringsql="SELECTFROMusersWHEREid=?";PreparedStatementstmt=conn.prepareStatement(sql);stmt.setInt(1,userId);`2.输入验证:限制输入长度和类型。3.权限控制:使用最小权限原则。4.ORM框架:如Hibernate、MyBatis可自动防范。14.(5分)解释Git中的`merge`与`rebase`的区别,场景应用。答案:-`merge`:将两个分支的变更合并到一起,保留历史分支。适合团队协作,避免冲突。-例子:合并`feature`分支到`main`。-`rebase`:将一个分支的变更应用到另一个分支,重写历史。适合个人项目或简化分支历史。-例子:将`feature`分支的提交按顺序合并到`main`。场景应用:-`merge`:团队协作时合并功能分支。-`rebase`:个人开发时整理本地分支历史。四、代码题(共3题,每题10分,合计30分)15.(10分)完善以下Python代码,实现一个函数`count_vowels`,统计字符串中的元音字母(a,e,i,o,u)数量。pythondefcount_vowels(s):vowels="aeiou"count=0补全代码returncount答案:pythondefcount_vowels(s):vowels="aeiou"count=0forcharins.lower():ifcharinvowels:count+=1returncount16.(10分)完善以下JavaScript代码,实现一个函数`reverse_array`,反转数组。javascriptfunctionreverse_array(arr){//补全代码}答案: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代码,实现一个类`Student`,包含属性`name`和`age`,以及方法`introduce()`打印自我介绍。javapublicclassStudent{privateStringname;privateintage;//补全代码}答案:javapublicclassStudent{privateStringname;privateintage;publicStudent(Stringname,intage){=name;this.age=age;}publicvoidintroduce(){System.out.println("Mynameis"+name+",Iam"+age+"yearsold.");}}五、论述题(共2题,每题15分,合计30分)18.(15分)论述前端性能优化的常用方法,并举例说明。答案:前端性能优化方法包括:1.资源压缩:减少文件大小。-例子:使用Gzip压缩JS/CSS,如`nginx`配置`gzipon;`。2.懒加载:按需加载图片/组件。-例子:`<imgsrc="placeholder.jpg"loading="lazy">`。3.缓存利用:设置HTTP缓存头。-例子:`Cache-Control:max-age=3600`。4.CDN分发:将资源部署到全球节点。-例子:使用`Cloudflare`或`AlibabaCloudCDN`。5.代码分割:按需加载模块。-例子:React中`React.lazy()`。6.减少重绘/回流:批量DOM操作。-例子:使用`requestAnimationFrame`。19.(15分)解释微服务架构的优缺点,并说明适用场景。答案:优点:1.独立部署:每个服务可独立更新,不影响其他服务。2.技术异构:不同服务可使用不同语言/数据库。3.弹性伸缩:可单独扩容高频服务。4.可维护性:模块化设计,便于理解。缺点:1.运维复杂:需管理多个服务,增加部署和监控成本。2.网络延迟:跨服务调用导致性能损耗。3.数据一致性:分布式事务(如CAP理论)难以解决。适用场景:1.大型复杂应用:如电商、社交平台。2.高并发场景:如支付系统。3.技术迭代快:可快速实验新服务。答案解析选择题:1.A(`push()`向数组末尾添加元素)2.A(`try-except`处理异常)3.B(`DELETE`删除数据)4.A(`gitpush`提交到远程)5.B(`<a>`定义超链接)填空题:6.`publicstaticvoid`(Java中定义方法的常见关键字)7.`opacity`(CSS透明度属性)8.`ls`(Linux查看文件列表)9.`useState`(React管理组件状态)10.`80`(HTTP默认端口)简答题:11.RESTfulAPI设计原则见上文,核心是无状态、缓存、统一接口等。12.闭包是JavaScript中函数访问外部作用域变量的机制,用于数据封装和私有变量。13.SQL注入是恶意输入SQL代码攻击数据库,防范方法包括参数化查询、输入验证等。14.`merge`合并分支保留历史,`reba

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论