2015~2016年程序员上午试题总结

计算机病毒
  • ==COM文件==是一种可执行程序的内存映象文件
  • exe是一种可执行程序
  • 文件类病毒主要感染的文件类型是EXE,COM等
程序语言基础
名字解释
COBOL面向事物处理的语言
XML扩展标记语言
PROLOG逻辑式语言
LISP函数式语言
Python通用的脚本语言
数据库关系运算
名字解释
和(Union)运算,针对行针对两张具有相同属 性的表,将两者表合并起来,在合并过程中遇到重复的行保留一项。
差(difference)运算、针对行针对两张具有不相同属 性的表,将两者表不相同合并起来。
交(intersection)运算,针对行针对两张具有相同属 性的表,求出两个表相同的行。
广义笛卡尔积(Extended Cartesian Product)运算、针对行两张表行的组合,并且属性是两者之和
选择(Selection)运算、针对行根据某种条件选择出指定的行。就是查询操作,一般用where语句。
投影(Projection)运算、针对列选出一个表的某些属性。

图解

Windows的网络命令
名字解释
net view显示计算机共享资源列表
nbtstat监控TCP/IP协议,显示路由表、实际网络连接以及每个网络接口设备的状态信息
nbtstat -r显示NetBIOS名称解析统计资料
nslookup监听网络中DNS服务器是否能正确实现域名解析的命令工具
磁盘

磁盘存储器由:盘片,驱动器,控制器和接口组成。
- 每个磁道的周长不同但是它的存储容量确实相同的,所以磁道位密度是相同的
- ==非格式化容量==:位密度 * 内圈磁道周长 * 每个记录面上的磁道数 * 磁道
- ==格式化容量==: 每个扇区的字节数 * 每道的扇区数 * 每个记录面上的磁道数 * 磁道
- ==寻道时间==是由驱动器的性能决定的,是一个常数
- ==提高磁盘转速==缩短的是平均等待时间

C程序中分配储存空间
  • 内存空间逻辑上可分为==代码区==和==数据区==
  • 数据区可分为静态数据区、栈区和堆区
  • 代码区存放指令,运行时不能修改
名字解释一般情况
栈区(stack)由编译器==自动分配释放== ,存放函数==的参数值==,==局部变量的==值等。其操作方式类似于数据结构中的栈局部变量的储存单元
堆区(heap)一般由==程序员分配释放, 若程序员不释放==,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链根据需要动态申请和释放的动态变量
全局区(静态数据区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放全局变量
文字常量区常量字符串就是放在这里的。 程序结束后由系统释放
程序代码区存放函数体的二进制代码
存储虚拟化技术

虚拟化技术
- 大型企业数据中心为了解决存储扩张和管理难度增大的问题
- 作用:
1. 将内存和的一部分作为虚拟内存,以利于==较小的物理内存同时调度运行多个较大的运行程序==
2. 屏蔽了多种异构存储设备的物理特性
3. 实现不同类型存储资源的集中管理和统一分配
4. 满足了多业务对存储容量和性能的不同要求,提高存储活动的灵活性

结构化开发方法

结构化开发方法:
1. 由结构化分析,机构化设计、结构化程序程序设计组成
2. 是一种面向数据流的开发方法
3. 指导思想是自顶向下、逐层分解
4. 基本原则是功能的分解与抽象
5. 是软件工程最早出现的处理方法,特别适合数据处理领域的问题
6. 但不适合处理大规模复杂的项目,而且难以适应需求的变化

二叉树遍历
名字操作
前序遍历根节点->左子树->右子树
中序遍历左子树->根节点->右子树
后序遍历左子树->右子树->根节点
计算机系统知识
  • CPU是计算机工作的核心部件:
    1. 指令控制,CPU通过执行指令来控制程序的执行顺序
    2. 操作控制,
    3. 时序控制,
    4. 数据处理,在CPU的控制下由逻辑单元对数据进行加工是最根本的任务
名字解释
MIPS(Million Instructions Per Second)每秒执行百万级的机器语言指令数,这是一个用来衡量CPU速度的一个标准
MFLOPS(Million Floating-point Operations Per Second)反映浮点运算的情况,是衡量计算机系统的指标
CPI(Clockcycle Per Instruction)每条指令的时钟周期
IPC(Inter-Process Communication)进程间通信
系统存储管理
  • 当进程访问的页面不在主存,系统应先产生缺页中断,然后一次按照
graph LR
决定淘汰页-->页面调出
页面调出-->页面调入

的顺序进行处理
- 经常使用的调度算法有:先进先出调度算法,最近最少使用调度算法、最近最不常使用调度算法

程序语言基础 - 中间代码
  • 中间代码:一种简单且含义明确的记号系统,可以有若干形式,他们的共同特征是与具体机器无关。
  • 设计原则:
    1. 容易生成
    2. 容易翻译成目标代码
结构化程序设计方法
  • 结构化程序设计方法中使用结构图来描述软件系统的体系结构,指出一个软件系统由那些模块组成,以及模块之间的调用关系。==其基本成分有模块、调用和数据==

结构图的四个特征

名字解释
深度结构图控制的层次
宽度一层中最大的模块数
扇出一个模块的直接下属模块数
扇入一个模块的直接上属模块数
数据库 锁

事务并发处理时,如果对数据读写不加以控制,会破坏事务的==隔离性和一致性==。控制的手段就是加锁,在事务执行时,限制其他事务对数据的读取。

名字解释
排它锁(X锁)写锁当事务T对数据A上X锁时,就只允许事务T对数据A进行读取和修改,且其他事务不再可以对事务A上锁,也不能读取和修改数据A,直到事务T释放对A的锁。
共享锁(S锁)读锁对事务的对数据读操作时,进行了锁定,如果事务T对数据A加上了S锁,那么T只能读取数据A,不能修改,其他事务也可以对数据A上S锁,但只要数据A上有S锁,就不能再上X锁了。
计算机病毒
名字解释
Trojan.为前缀,一般为木马病毒
VBS、JS、Script.一般为脚本病毒
Worm.为前缀,一般为蠕虫病毒
Macro.宏病毒
储存器

SSD(固态硬盘)和HDD(普通硬盘)比较
- SSD没有电机加速旋转的过程,启动速度更快。
- SSD读写不用磁头,寻址时间与存储位置没有关系,磁盘碎片不会影响读取时间。
- SSD可快速随机存取,延迟极小。
- SSD内部没有任何可移动的机械部件,不发生机械故障,不怕碰撞
- SSD对工作环境的要求低

网络部分协议
名字解释
S-HTTP传输网页
SET安全电子交易
SSL安全套接层协议
PGP安全电子邮件协议
数据结构基础
  • 字符串属于线性的数据结构
  • 空白串指的是由空白符号(空格、制表符等)构成的串,长度为0;
  • 模式匹配是求出指定字串是否出现及其位置
  • 两字串比较长度时要注意编码格式
软件设计-模块化,内聚级别
graph LR
巧合内聚-->逻辑内聚
逻辑内聚-->时间内聚
时间内聚-->通信内聚
通信内聚-->顺序内聚
顺序内聚-->功能内聚
TCP UDP
  • TCP:HTTP、Telent、SMTP传输层均采用TCP
  • UDP:SNMP传输层采用UDP
小知识
  • 数据模型三要素:数据结构、数据操作、数据约束条件。
  • 在面向对象的方法中,继承用于==利用已有类创造新类==。通过继承关系创建的子类可以有==父类的属性和方法之外的新属性和新方法==。
  • 商业秘密权可以保护软件的技术信息、经营信息。
  • 用链表作为存储结构的栈称为链栈,链表中的结点根据需要动态申请,不存在栈满的情况。
  • 进行定点数加减时,绝对值变大才可能产生溢出
  • 哈希表既是一种查找结构又是一种存储结构。
  • ==解释程序==也称解释器,他可以直接解释执行源程序,或者将源程序翻译成某种间接表示形式后,加以执行。
  • ==编译程序==(编译器),是将源程序翻译成为目标语言程序,再在计算机上执行目标语言程序。
  • 多态的实现是受继承的支持,利用类的层次关系,通用的信息功能放在高层次,不同的实现功能放在低层次。
  • ICMP与IP协议同属于网络层,ICMP报文封装在IP数据报中传送。
  • FTP中访问常使用==anonymous==作为用户名
  • 企业管理、电子商务、电子政务等应用中,科学计算量不大,重点是按流程进行规范处理,强调人机交互(==弱计算,强交流,多交互==)
  • DRAM是最为常见的存储器
  • 特殊矩阵的所有非零元素可以压缩存储在一维数组中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值