面试题(3)
来源:互联网 发布:生死狙击刷矩阵技巧 编辑:程序博客网 时间:2024/06/10 19:37
软件工程基础
- 什么是软件工程:采用工程的概念、原理、技术和方法来开发和维护软件
- 软件是一种逻辑实体;
- 软件开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性
- 软件成本相当昂贵。需要投入大量的、复杂的、高强度的脑力劳动
- 相当多的软件工作设计到社会因素。许多软件的开发和运行涉及机构、体制及管理方式
- 软件开发原则:抽象、信息隐藏、模块化、局部化、一致性、完整性、可验证性
- 软件危机:软件生产方式无法满足迅速增长的计算机软件需求,不能有效地开发大型、复杂的软件,从而导致软件开发与维护过程中出现一系列严重问题的现象
- 软件的4大开发模型:
- 瀑布模型:各项活动严格按照线性方式进行
- 原型模型:快速建立起来的,它所能完成的功能往往是最终产品能完成功能的一个子集
- 螺旋模型:将瀑布模型和原型模型结合起来,加入风险分析;(风险驱动)
- 增量模型:融合了瀑布模型的基本成分和原型的迭代特征,采用随着时间的进展而交错的线性序列
软件测试:
- 黑盒测试:根据软件产品的功能设计规格,对软件进行测试,以证实每个实现了的功能是否符合要求。完全不考虑程序内部逻辑结构和内部特性
- 白盒测试:根据软件产品的内部工作过程,对软件进行测试,以证实每种内部操作、所有内部流程是否符合设计规则要求
什么是操作系统:用于管理计算机系统的硬件资源、软件资源及数据资源,控制程序运行,提供操作接口,为其他应用软件提供支持等的软件系统
进程是由进程控制块、程序段、数据段3部分组成
- 进程和线程的区别:
- 一个程序至少有一个进程,一个进程至少有一个线程
- 进程在执行过程中拥有独立的内存单元(地址空间),而多个线程共享进程所拥有的内存
- 进程可以独立运行,但线程不能独立执行,必须依存在进程中,由使用该进程的应用程序提供多个线程执行控制
- 如何实现多线程的同步:可以使用临界区、互斥量和信号量等方式来实现
- 临界区:只能用于对同一进程内的线程进行同步;在某一时间内只允许一个线程执行某个给定代码段
- 互斥量(线程锁):多线程中的同步访问的方法,它允许程序锁住某个对象,每次只允许一个线程访问它。在访问这个对象之前锁住一个互斥量,访问完成之后解锁
- 信号量:是特殊的线程锁,允许多个线程同时访问临界资源
- Linux进程间的通信:
- 管道
- 信号:用于通知接收进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身
- 消息队列:消息队列是消息的链接表;有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读取队列中的消息
- 共享内存:多个进程可以访问同一块内存空间,是最快的IPC
- 信号量:作为进程间以及同一进程不同线程之间的同步手段
- 套接字:更为一般地进程间通信机制,可用于不同机器之间的进程间通信
内存与作业调度
作业调度:在多个作业运行时,系统如何处理作业的运行顺序
内存管理:主要包括向用户程序提供内存逻辑地址,并完成逻辑地址到物理地址的转换,完成用户程序的载入工作,采用各种技术提高内存使用率,保护内存及其安全等功能
- 内存管理方式:无管理方式(不划分系统区和用户区);单一分区;固定分区;可变分区;页模式(将内存固定划分为等长的页面,程序也划分为等长的页;程序运行时,将程序的各页装入到内存的各空闲页)
- 作业状态:进入状态,后备状态,运行状态和完成状态
计算机网络结构
- OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
- TCP/IP参考模型:应用层,传输层,网际互联层,网络接入层
- TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机
- UDP是一个不可靠、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合
- 什么是TCP/IP协议:是internet最基本的协议,定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。通常说的TCP/IP是Internet协议族
阅读全文
0 0
- 面试题(3)
- 面试题(3)
- 面试题(3)
- 3-js面试题(前端面试题带答案)
- Java面试题(3)
- 算法面试题(3)
- ios面试题(3)
- .NET面试题(3)
- iOS 面试题(3)
- Android面试题(3)
- Android面试题(3)
- 经典面试题(3)
- 面试题(3)--爬虫
- java面试题(3)
- java面试题(3)
- python面试题(3)
- [ 面试题 ] 常见面试题 (一)
- JAVA面试题最全集(3)
- mybatis的jdbcType和javaType、oracle,MySQL的对应类型
- Android 常见手机dp与px之间的转换
- Mybatis单表自动映射;使用<resultMap>设置映射结果集;多表查询
- Java网址下载文件获取后缀名
- c++对象的序列化与反序列化的解决方案----flatbuffers的使用
- 面试题(3)
- 在线powerdersinger文档查看http://www.dmanywhere.cn
- maven用于项目构建和管理。包含创建Project、编译、测试、打包、发布
- GitBach学习实用命令及GitHub实用
- win7下建立一个ftp站点的步骤
- linux C/C++
- Tomcat Filter 自己动手实现
- 字符串对象-string常用方法
- 深入PHP内核(一)——弱类型变量原理探究