浏览计算机科学相关的文章。
了解栈和堆的工作原理、垃圾回收机制,以及栈溢出和内存泄漏的原因与排查方法。
了解 CDN 静态内容缓存和 Redis 内存数据缓存的原理、差异与常见面试问题,掌握应用性能优化中的关键缓存策略。
理解数据库索引如何加速 SELECT 查询,以及索引带来的写入性能下降和额外存储开销。
掌握 REST 定义、HTTP 方法、状态码和 RESTful API 设计原则,从容应对开发者面试常见问题。
了解参与者、用例和场景的概念,并通过网上书店示例学习编写包含基本、备选和异常流程的用例规约。
了解软件开发关键阶段——需求分析的常用方法,包括正式与非正式分析、访谈、问卷、研讨会和观察法,以及需求追踪矩阵(RTM)的作用。
介绍 SRS 的作用与结构,结合示例说明如何定义功能与非功能需求,并梳理编写准则及常见错误。
介绍模型、视图与控制器的职责和交互,结合 Java 示例说明如何通过关注点分离提高应用的灵活性和可扩展性。
比较软件生命周期、瀑布模型、迭代模型与敏捷模型,了解如何根据真实项目特点选择合适的开发方式。
介绍面向对象设计的核心SOLID原则(SRP、OCP、LSP、ISP、DIP),通过Java示例理解各项原则的含义与重要性,并学习将其应用到实际代码中,构建易于维护、灵活的软件。
学习如何使用 UML 用例图直观展示系统功能及其与用户的交互,并通过实例理解参与者、用例、系统边界以及 include 和 extend 关系。
了解需求变化的原因,并学习灵活的开发策略、变更管理流程、需求追溯方法和实用工具。
了解如何避免在软件开发早期将聪明的想法与具体的功能需求混淆的错误。区分你想要的和用户真正想要的,并了解原型和文档的正确作用,以明确设定项目的方向。
了解 Scrum、XP、看板的核心实践,通过企业案例学习敏捷转型的成功条件、常见困难和反馈机制。
了解迭代式开发、进化式原型与瀑布模型的区别,并掌握敏捷宣言的四项价值和十二项原则。
了解抛弃式、演进式、低保真和高保真原型,以及它们的用途、优缺点和常见设计工具。
通过生命线、消息类型、激活和控制框理解 UML 时序图,并用在线书店用例展示对象如何按时间顺序协作。
通过实例了解 UML 类图的基础元素——类、属性、方法及其关系(继承、聚合、组合),学习如何清晰地可视化设计意图。
介绍Verification与Validation、静态检查和动态测试、测试阶段、黑白盒测试以及等价类划分。
介绍单元测试、测试套件、回归测试、驱动与桩,以及JUnit断言、Fixture和测试方法结构。
介绍如何从UML设计类图生成类定义、从交互图生成方法体,并确定对象实现顺序。
说明对象可见性与作用域的关系,以及参数、局部、属性和全局可见性。
从用例实现和操作契约出发,介绍GRASP对象设计中对象的协作与系统操作。
软件工程设计对象GRASP的描述
介绍设计类图、不同视角下的关联、UML关键字和构造型,以及交互图与代码之间的对应关系。
介绍 UML 交互图的类型及用法,包括链接、消息、对象创建、循环、多态,以及同步与异步调用。
介绍软件工程中的静态与动态对象设计,以及对象设计技术和UML的关系。
通过 UML 包图理解 UP 制品与逻辑架构,学习严格与宽松分层、包依赖、领域层、层级与分区以及模型-视图分离原则。
将前19天的进程、内存、文件、保护、虚拟化与网络概念连成整体,复习操作系统的核心职责。
了解网络与分布式系统的基础概念、优势、网络结构、通信方式和设计要点,并通过示例学习分布式文件系统(DFS)的原理与特点。
介绍虚拟化、虚拟机结构、Hypervisor类型、硬件支持,以及虚拟机的优缺点。
介绍操作系统的保护原则、保护域、访问控制矩阵、ACL、能力列表和保护策略。
操作系统安全保护系统和用户数据。结合示例介绍威胁类型、加密、认证和应用安全。
通过实例了解文件系统的内部结构,包括磁盘挂载、分区、文件共享以及虚拟文件系统。
通过示例了解文件系统的目录结构、文件分配、可用空间管理和故障恢复机制。
通过实例了解文件系统接口如何定义文件的存储与访问方式,包括目录结构、访问方法和保护机制。
操作系统的输入输出系统连接硬件与用户。本文通俗介绍输入输出接口、内核子系统及硬件操作的转换流程。
虚拟内存提供比物理内存更大的地址空间。结合示例理解按需分页、页面置换和写时复制。
通过实例了解页表如何将虚拟地址转换为物理地址,并学习多级页表、TLB 缓存和交换机制。
通过内存分配示例,了解连续分配、分页、页表和多级页表,以及虚拟地址到物理地址的转换。
死锁是多个进程互相等待资源而无法继续执行的状态。结合示例梳理系统模型,以及死锁预防、避免、检测和恢复等面试常见概念。
结合实践示例,介绍并发环境中防止资源冲突的同步方法,涵盖经典问题和实际代码,帮助准备技术面试。
理解临界区、Peterson 算法和硬件原子操作,并比较互斥锁、信号量与管程。
了解操作系统如何分配 CPU、常见调度算法及其特点,并通过示例掌握技术面试常考内容。
线程是进程内划分执行流程的单位。本文介绍多核处理、线程模型、线程库,以及竞态条件和死锁等并发问题。
了解操作系统如何管理进程,包括进程组成、CPU 调度策略、进程操作、进程间通信以及客户端-服务器通信。
了解操作系统服务、系统调用、链接器与加载器、内核设计、构建与启动过程。
操作系统高效管理计算机资源,连接用户和硬件。本文梳理操作系统的定义、职责、结构、资源管理、安全和虚拟化等核心概念。
介绍 useEffect 与 useLayoutEffect 的差异、useRef 的多种用途、useReducer 状态管理,以及自定义 Hook 的逻辑复用示例。
了解 React 18 自动批处理和并发的原理,包括与 React 17 的区别、微任务、flushSync 及 startTransition API。
深入了解 React useState 和 setState 的工作原理,包括 Hook 调用顺序、链表、Update Queue、函数式更新、批处理和延迟初始状态。
以TCP Reno为例,介绍拥塞窗口、慢启动、拥塞避免、超时与重复ACK,以及AIMD策略。
通过不同网络场景,分析拥塞的原因、排队延迟、丢包、重传与有效吞吐量损失。
详解 TCP 的连接特性、序列号与确认号、RTT 和超时、可靠传输、流量控制、三次握手及连接关闭过程。
介绍网络管理与SNMP。
介绍ICMP的错误报告、回显请求与响应,以及Traceroute如何利用ICMP追踪路由。
介绍互联网的AS间路由与BGP。
介绍自治系统、AS内部与AS之间的路由,以及OSPF链路状态路由协议。
介绍路由协议、链路状态路由和距离向量路由的原理与比较。
介绍网络层的转发、路由,以及按路由器分布式控制和逻辑集中式控制。
了解 IP 首部字段、IPv4 分片、子网和 CIDR 寻址、DHCP、NAT、IPv6 以及隧道传输。
介绍路由处理器、交换结构、输入与输出端口、队列阻塞,以及常见分组调度策略。
介绍网络层的职责与主要功能。
了解 ALOHA、CSMA、CSMA/CD 和 CSMA/CA 协议的工作方式、冲突处理、ACK、RTS/CTS 及指数退避机制。
比较 FDMA、TDMA、CDMA 的多址原理与信道结构,并了解 FDD、TDD、FHSS 和 DSSS。
介绍无线移动通信MAC中的多路接入问题,以及无竞争、竞争和混合接入协议。
介绍无线移动通信中与MAC层、多路复用相关的计算机通信内容。
介绍信号空间、正交基、欧几里得距离,以及 BPSK 和 QAM 的信号表示。
学习线性系统中的信号传输、理想滤波器和带宽定义,了解调制与解调、常见调制方式及接收机的处理流程。
介绍数字通信中的前向纠错、分组码、卷积码、交织和香农信道容量极限。
介绍信源编码的平均码长、编码效率、前缀码,以及霍夫曼编码算法与树结构。
介绍无线移动通信中的信源编码与信道编码。
这是信息处理第3篇科目和数据库建设的总结。
整理数据结构、排序搜索、软件构建与配置管理、应用测试及接口安全等软件开发考试知识点。
信息处理技术员笔试第1科目“软件设计”重点整理,涵盖软件过程、需求分析、建模、架构与设计方法。
介绍用于公钥密码的ElGamal加密方式。
介绍Diffie-Hellman共享密钥的计算、数值示例,以及中间人攻击与认证防护。
通过群、子群、元素阶和循环群等概念,理解离散对数问题及其求解算法在密码学中的基础作用。
学习 RSA 密钥生成、加解密正确性、CRT 加速、RSA 安全性与 OAEP 填充流程。
这是公钥密码学中使用的核心数论。
介绍公钥加密的基本概念。
介绍流密码、随机数与伪随机数、RC4初始化和密钥流生成,以及ECB、CBC等工作模式。
从有限域和欧几里得算法出发,理解 AES 的字节替换、行移位、列混合、轮密钥与密钥扩展。
介绍Feistel结构、DES初始置换、S盒、密钥调度,以及DES和三重DES的安全特性。
介绍分组密码的结构、设计参数与计算安全性的判断标准。
介绍对称密钥加密,以及分组密码和流密码的特点与区别。
整理移位、仿射、代换、维吉尼亚、置换密码,以及线性反馈移位寄存器及其常见攻击。
介绍密码学的基本概念。
介绍信息安全与密码学的基本概念。