2023上半年真题记忆点详解
本片不涉及解题法,只整理记忆背诵点,记住即可拿分。
上午题部分:
·片内总线:用于芯片内部各主要部件连接;
系统总线:用于CPU、主存、外设见的数据传输;
通讯总线:计算机系统之间或与其他系统的通信。
·OSI模型从上至下依次为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
应用层:直接向用户提供服务,协议有HTTP、TFTP、SMTP等;
表示层:处理用户信息的表示问题,如对应用层消息加密,Telent、SNMP等;
会话层:组织协调两个会话进程通信,管理数据交换,SMTP、DNS等;
传输层:向用户提供端到端的差错和流量控制,向用户透明的传送报文,TCP、UDP;
网络层:负责把数据包送到正确的地址,三层交换机、路由器、ARP、RARP、IP等;
数据链路层:将数据打包成帧,传输给下一层,网桥、交换机、网卡、PPP等;
物理层:建立设备间的物理连接,中继器、集线器。
·同一进程下各个线程间共享代码段、全局变量、打开的文件等,但各线程间的私有资源如栈指针不可共享。
开发方法:
·瀑布式开发:严格按照步骤执行,每一步都要做到最好以减少后期损失;
迭代式开发:优先将主要功能搭建起来,逐步完善;
螺旋开发:风险驱动,强调风险评估;
敏捷开发:同迭代法类似,强调在较短周期内提交软件,但敏捷开发更强调队伍协作。
开发模型:
·瀑布模型:适用于需求稳定、明确的项目;
演化模型:适用于用户需求不明确,且软件完善周期较长的项目;
螺旋模型:适用于项目规模庞大,复杂且风险高的项目;
增量模型:在系统的技术架构成熟、风险较低时采用;
敏捷开发:适用于小规模软件或小团队开发。
敏捷开发方法:
·XP极限编程:高效、低风险、测试先行;
水晶法:不同项目、不同策略;
并列争球法:迭代,冲刺;
ASD自适应:预测、协作、学习。
·内容耦合:最高程度的耦合,例如一台电脑的某个组建出现问题,由于他们是 直接相连的,所以会导致整台电脑故障;
公共耦合:多个模块共享一个公共的数据环境,如A和B通过外部变量交换输入输出信息;
外部耦合:模块与外部硬件环境产生交互;
控制耦合:一个模块通过传递控制变量调用另一个模块;
标记耦合:模块间通过数据结构传递信息。如图书馆借书,系统会将信息通过数据结构处理;
数据耦合:模块间通过参数交换信息,但交换的信息仅是简单的数据类型。
无直接耦合:彼此间没有关联。
·语句覆盖:程序中每个语句至少被执行一次;
判定覆盖:程序中的每个分支至少通过一次;
条件覆盖:判定中的每个条件获得各种可能的结果;
路径覆盖:使程序中的每条路径至少执行一次,至少需要(判断语句条数*2)条测试用例。
·正确性维护:识别和纠正软件错误,改正功能缺陷;
适应性维护:使软件适应外部环境或数据的变化而做的维护;
改善性维护:满足用户的扩充需求,使软件更加完善;
预防性维护:为了提高软件的可维护性和可靠性,为之后进一步改进打下基础。
设计模式:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式;
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式;
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式;工厂模式适用于大量的产品需要创建,并且这些产品有共同的接口;
生成器将复杂的构建过程封装起来;
原型的本质是clone,通过复制现有实例创建新对象;
适配器消除由于接口不匹配造成的兼容性问题,如USB等;
装饰器动态的将新功能附加到对象上,例如奶茶中增加小料后的费用;
代理模式类似于“中介”,由代理对象控制对原对象的引用;
外观隐藏了系统的复杂性,向客户端提供一个可以访问的接口;
桥接:将抽象部分与实现部分分离,使他们都可以独立变化;
组合模式用来表示“部分-整体”的层次结构,使用具有一致性;
享元将大量对象的共同部分抽取出来,高效;
策略定义一系列算法,使其可以相互替换;
观察者适用于当一个对象的状态发生改变时,所有依赖于他的对象都得到通知并被自动更新。
·口诀:“直、简、冒、希、堆”不费空间,且只有堆排序时间复杂度是n log2n,其他都是n^2,快速排序空间复杂度有log,归并空间复杂为n,“快、选、堆、希”不稳定
下午题部分:
第一题-数据流图:
抓住两点:父图与子图平衡(父图中的输入输出在子图中有对应),加工需要有输入输出。
不过这两点经常派不上用场,这时就需要我们逐字逐句仔细分析说明中的每句话涵盖的输入输出,例如“农户在农事活动中设定投入品的实际消耗”表示E2—>P4有“投入品实际消耗”这条数据流;“第三方软件要查询信息”说明D3、D4中包含的信息需要流向P5.