网络工程师面试题及答案(推荐10篇)精选
推荐文章
小编给大家分享网络工程师面试题及答案(推荐10篇)精选的范文,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。。 - 素材来源网络 编辑:李欢欢。
下面是小编帮大家整理的网络工程师面试题及答案,本文共10篇,希望对大家有所帮助。
篇1:网络工程师面试题及答案
1、创建虚拟目录可以拓展NNTP服务器的存储空间,亦便于管理。虚拟目录可以保存在本地或者网络中的远程计算机中。
2、WinGate、Microsoft、ProxyServer、WinRoute、ccproxy、SyGate
3、Web服务器虚拟主机的配置
一、定义
所谓虚拟主机是指在一台服务器里运行几个网站,提供WEB、FTP、Mail等服务。
二、虚拟主机的实现方法有三种:
基于IP的方法,基于主机名的方法和基于端口的法官法。
①基于IP的方法:
在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
②基于端口的方法:
一个IP地址,通过不同的端口实在不同网站的访问。
③基于主机名的方法:
设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
4、加电--[自检]---BIOS信息---显卡的参数--CPU的参数--内存的参数--硬盘的参数---光驱的参数---显示PCI等主板的其他的I/O等参数----(如果有RAID卡这 步应该会显示)----BIOS将更新ESCD最后给出(Verifying DMI Poll DATA...........Update Success)字样---读取MBR记录-----调用NTLDR做一系列 操作(这时的控制权从BIOS移交到硬盘/OS)---读取boot.ini文件(显示操作系 统选择菜单)进入给定的操作---等等一系列操作都属于操作系统的部分了,不在这个问题的范围---最终看到桌面
5、MBR,master boot record,主引导记录。引导OS作用的。
6、有16进制数据组成,前三组表示厂商,有IEEE来分配,并可以在细分,后三 组表示该制造商所制造的某个网络产品(如网卡)的系列号。
篇2:网络工程师面试题
最新网络工程师面试题:
1、win/win个有几个版本,每个版本最新系统补丁包是什么?
2、DNS的实现方法?
3、WEB服务器的负载均衡?
4、请问目前市面上常用几种网络操作系统的优缺点?
5、请问你用过那些服务器?请讲述raid0、1、5的特点和优点?
6、请列出下列协议的段口号:HTTP、HTTPS、DNS、FTP、TELNET、PPTP、SMTP、POP3?
7、请问局域网内想要通过UNC路径或者NETBIOS名称访问对方计算机,需要在对方计算机上开放什么协议或者端口?
8、OSI七层模型?TCP/IP模型?
9、能否将WIN2000P升级成WIN2000S?
10、怎样保证1个文档的安全性?
11、说说你知道的防火墙及其应用?
12、WINDOWS域的具体实现方式?客户机要加入到域该如何操作?
13、请问你对AD熟悉吗?怎样组织AD资源?
14、请简述操作主机(FSMO)的作用?
15、请问PKI是什么?在WIN下怎样实现PKI?请简述证书申请的一个过程?
16、请问你用过那些远程控制软件?
17、怎样实现WINDOWS群集?
18、你知道哪几种邮件系统?请简述安装EXCHANG2003的详细步骤?
19、请问ISA有几大功能?请简述用ISA发布网站的过程?
20、请问怎样才能让SQL服务器更安全?
21、请问在生产环境中你应该如何规划SQL数据库文件存放?
22、当一台DC发生宕机,你应该如何处理?
23、请问你如何把你的WINDOWS服务器做得更安全?
24、如何备份和还原SQL数据库?
25、如何备份和还原EXCHANG数据库?
26、你用过那些杀毒软件(网络版和单机版)?
27、如果有一个小型企业网络需要你去规划,请讲述你的规划思路?
28、你知道那些入侵检测系统?你能独立部署的有那些?
29、请问如何加强WEB服务器的安全?
30、当有一台电脑出现故障,请问你怎样解决这个问题?
31、你做过系统补丁升级吗?内网如果有一百台机器的话你怎样做系统补丁升级?
32、网页出现乱码是什么原因?
33、Exchang2003安装成功默认能用foxmail收发邮件吗?如果能,为什么?如果不能,请说明原因?
34、请问怎样才能统一更改整个公司的邮件地址(exchange环境)?
35、请问你在生产环境中如何规划EXCHANGE服务器数据库的存放?
36、请你写出10条以上保证你企业网络安全的措施。
37、一台WINDOWSXP的客户机,登陆域的时需要十分钟,请问是什么原因?怎么解决?
38、当用户反映去访问一台文件服务器非常慢,请问是什么原因?如何解决?
39、当用户反映上网速度非常慢,请问什么原因?如何解决?
篇3:机械工程师面试题答案
选择题
1、在软件测试中,下面说法中错误的是( )。
A. 测试是为了发现程序中的错误而执行程序的过程
B. 测试是为了表明程序是正确的
C. 好的测试方案是极可能发现迄今为止尚未发现的错误的方案
D. 成功的测试是发现了至今为止尚未发现的错误的测试
2、软件测试的目的是( )。
A. 试验性运行软件
B. 发现软件错误
C. 证明软件正确
D. 找出软件中全部错误
3、软件测试用例主要由测试输入数据和( )两部分组成。
A. 测试计划
B. 测试规则
C. 测试的预期结果
D. 以往测试记录分析
4、与设计测试用例无关的文档是( )。
A. 项目开发计划
B. 需求规格说明书
C. 软件设计说明书
D. 源程序
5、软件测试是软件质量保证的主要手段之一,测试的成本已超过( )的30%以上。因此,提高测试的有效性非常重要。
A. 软件开发成本
B. 软件维护成本
C. 软件开发成本和维护成本
D. 软件研制成本
6、“高产”的测试是指( )。
A. 用适量的测试用例说明被测试程序正确无误
B. 用适量的测试用例说明被测试程序符合相应的要求
C. 用适量的测试用例发现被测试程序尽可能多的错?
D. 用适量的测试用例纠正被测试程序尽可能多的错误
7、如果想要进行成功的测试,为其设计测试用例主要依赖于( )。
A. 黑盒测试方法
B. 测试人员的经验
C. 白盒测试方法
D. 错误推测法
8、使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
A. 程序的内部结构
B. 程序的复杂性
C. 使用说明书
D. 程序的功能
9、在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等。其中( )是最强的覆盖准则。
A. 语句覆盖
B. 条件覆盖
C. 判定-条件覆盖
D. 路径覆盖
10、在设计测试用例时,( )是用得最多的一种黑盒测试方法。
A. 等价类划分
B. 边界值分析
C. 因果图
D. 功能图
11、在黑盒测试中,着重检查输入条件的组合的测试用例设计方法是( )。
A. 等价类划分
B. 边界值分析
C. 错误推测法
D. 因果图法
12、从下列叙述中,能够与软件开发各阶段,如需求分析、设计、编码相对应的软件测试是( )。
A. 组装测试、确认测试、单元测试
B. 单元测试、组装测试、确认测试
C. 单元测试、确认测试、组装测试
D. 确认测试、组装测试、单元测试
13、单元测试将根据在( )阶段中产生的规格说明进行。
A. 可行性研究与计划
B. 需求分析
C. 概要设计
D. 详细设计
14、组装测试计划是在( )阶段制定的。
A. 可行性研究与计划
B. 需求分析
C. 概要设计
D. 详细设计
15、确认测试计划是在( )阶段制定的。
A. 可行性研究与计划
B. 需求分析
C. 概要设计
D. 详细设计
16、软件的组装测试最好是由( )承担,以提高组装测试的效果。
A. 该软件的设计者
B. 该软件开发组的负责人
C. 该软件的编程者
D. 不属于该开发组的人员
17、( )是简化了的模拟较低层次模块功能的虚拟子程序。
A. 过程
B. 函数
C. 仿真
D. 桩
18、( )是指为查明程序中的错误和缺陷,可能使用的工具和手段。
A. 调试技术
B. 测试技术
C. 跟踪法
D. 动态测试
19、从已发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为( )。
A. 错误检测
B. 故障排除
C. 调试
D. 测试
20、在程序设计的过程中应为程序调试做好准备,主要体现在( )方面。
A. 采用模块化、结构化的程序设计方法设计程序
B. 编写程序时要为程序调试提供足够的灵活性
C. 根据程序调试的需要,选择并安排适当的中间结果输出和必要的断?
D. 以上全是
21、统计资料表明,软件测试的工作量占整个软件开发工作量的( )。
A. 30%
B. 70%
C. 40%~50%
D. 95%
22、软件测试计划是一些文档,它们描述了( )。
A. 软件的性质
B. 软件的功能和测试用例
C. 软件的规定动作
D. 对于预定的测试活动将要采取的手段
23、IBM公司的统计资料表明,使用静态测试的方法最高可以查出在测试中查出的全部软件错误的( )。
A. 80%
B. 70%
C. 50%
D. 35%
24、黑盒测试方法的优点是( )。
A. 可测试软件的特定部位
B. 能站在用户立场测试
C. 可按软件内部结构测试
D. 可发现实现功能需求中的错误
25、白盒测试方法的优点是( )。
A. 可测试软件的特定部位
B. 能站在用户立场测试
C. 可按软件内部结构测试
D. 可发现实现功能需求中的错误
26、等价类划分完成后,就可得出( ),它是确定测试用例的基础。
A. 有效等价类
B. 无效等价
C. 等价类表
D. 测试用例集
27、由因果图转换出来的( )是确定测试用例的基础。
A. 判定表
B. 约束条件表
C. 输入状态表
D. 输出状态表
选择填空题
1、从供选择的答案中选出应填入下列( )中的字句。
软件测试的目的是( A )。为了提高测试的效率,应该( B )。使用白盒测试方法时,确定测试数据应根据( C )和指定的覆盖标准。与设计测试数据无关的文档是( D )。
软件的集成测试工作最好由( E )承担,以提高集成测试的效果?BR>供选择的答案:
A.① 评价软件的质量② 发现软件的错误
③ 找出软件中的所有错误④ 证明软件是正确的
B.① 随机地选取测试数据
② 取一切可能的输入数据作为测试数据
③ 在完成编码以后制定软件的测试计划
④ 选择发现错误的可能性大的数据作为测试数据
C.① 程序的内部逻辑② 程序的复杂程度
③ 使用说明书④ 程序的功能
D.① 该软件的设计人员② 程序的复杂程度
③ 源程序④ 项目开发计划
E.① 该软件的设计人员② 该软件开发组的负责人
③ 该软件的编程人员④ 不属该软件开发组的软件人员
2、从供选择的答案中选出应填入下列( )中的字句。
为了把握软件开发各个环节的正确性和协调性,人们需要进行( A )和( B )工作。( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。它包括( C )和( D ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E )、( F )和正确性。
供选择的答案:
A, B.① 操作 ② 确认 ③ 验证 ④ 测试 ⑤ 调试
C, D.① 用户的确认 ② 需求规格说明的确认
③ 程序的确认 ④ 测试的确认
E, F.① 可靠性 ② 独立性 ③ 协调性 ④ 完备性 ⑤ 扩充性
3、从供选择的答案中选出应填入下列( )中的字句。
测试过程需要三类输入:( A )、( B )和( C )。请选择正确的答案填入下图中以完成测试信息处理的全过程。
供选择的答案?
A~C.① 接口选择② 软件配置③ 硬件配置
④ 测试配置⑤ 测试环境⑥ 测试工具
D~ F.① 排错 ② 可靠性分析 ③ 结果分析 ④ 数据分类
4、请从供选择的答案中选出应填入下列( )中的字句。
程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。
供选择的答案:
A.① 过程,子程序,分程序 ② 顺序,条件,循环
③ 递归,堆栈,队列 ④ 调用,返回,转移
B.① 不能嵌套使用 ② 只能用来写简单的程序
③ 已经用硬件实现 ④ 只有一个入口和一个出口
C.① 筛选法 ② 递归法 ③ 归纳法 ④ 逐步求精法
D.① 证明程序中没有错误 ② 发现程序中的错误
③ 测量程序的动态特性 ④ 检查程序中的语法错误
E.① 找出错误所在并改正之 ② 排除存在错误的可能性
③ 对错误性质进行分类 ④ 统计出错的次数
5、从供选择的答案中选出同下列各条叙述关系最密切的字句。
(1) 对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。
(2) 已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因此,对变更的软件进行测试是必要的。
(3) 在意识到被测试模块的内部结构或算法的情况下进行测试。
(4) 为了确认用户的需求,先做出系统的主要部分,提交给用户试用。
(5) 在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。
供选择的答案:
A~E:① 仿真器 ② 代码审查 ③ 模拟器 ④ 桩
⑤ 驱动器 ⑥ 域测试 ⑦ 黑盒测试 ⑧ 原型
⑨ 白盒测试 ⑩ 退化测试
6、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
软件测试方法可分为黑盒测试法和白盒测试法两种。
黑盒测试法是通过分析程序的( A )来设计测试用例的方法。除了测试程序外,它还适用于对( B )阶段的软件文档进行测试。
白盒测试法是根据程序的( C )来设计测试用例的方法。除了测试程序外,它也适用于对( D )阶段的软件文档进行测试。
白盒法测试程序时常按照给定的覆盖条件选取测试用例。( E )覆盖比( F )覆盖严格,它使得每一个判定的每一条分支至少经历一次。( G )覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。( H )覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径?BR>单元测试一般以( I )为主,测试的依据是( J )。
供选择的答案:
A, C:① 应用范围 ② 内部逻辑 ③ 功能 ④ 输入数据
B, D:① 编码 ② 软件详细设计 ③ 软件总体设计 ④ 需求分析
E~H:① 语句 ② 判定 ③ 条件 ④ 判定/条件
⑤ 多重条件 ⑥ 路径
I: ① 白盒法 ② 黑盒法
J: ① 模块功能规格说明 ② 系统模块结构图 ③ 系统需求规格说明
7、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
集成测试也叫做( A )或( B )。通常,在( C )的基础上,将所有模块按照设计要求组装成为系统。子系统的集成测试特别称为?nbsp; D ),它所做的工作是要找出子系统和系统需求规格说明之间的( E )。需要考虑的问题是:在把各个模块连接起来的时侯,穿越模块接口的数据是否会( F ); 一个模块的功能是否会对另一个模块的功能产生不利的影响;各个( G )组合起来,能否达到预期要求的( H );( I )是否有问题;单个模块的误差累积起来是否会放大。
供选择的答案:
A~D.① 单元测试 ② 部件测试 ③ 组装测试
④ 系统测试 ⑤ 确认测试 ⑥ 联合测试
E~I.① 子功能 ② 丢失 ③ 父功能
④ 局部数据结构 ⑤ 全局数据结构 ⑥ 不一致
⑦ 一致
8、从供选择的答案中选出应该填入下列叙述的( )内的正确答案。
软件测试中常用的静态分析方法是( A )和( B )。( B )用于检查模块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是( C )方法。非分析方法(黑盒方法)中常用的方法是( D )方法和( E )方法。( E )方法根据输出对输入的依赖关系设计测试用例。
供选择的答案:
A~B:① 引用分析 ② 算法分析 ③ 可靠性分析 ④ 效率分析
⑤ 接口分析 ⑥ 操作分析
C~E:① 路径测试 ② 等价类 ③ 因果图 ④ 归纳测试
⑤ 综合测试 ⑥ 追踪 ⑦ 深度优先 ⑧ 调试
⑨ 相对图
9、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
等价类划分是一种典型的( A )方法,也是一种非常实用的重要的测试方法。使用这一方法,完全不考虑程序的( B )。用所有可能输入的数据来测试程序是不可能的,只能从全部可供输入的数据中选择一个( C )进行测试。( D )是指某个输入域的集合,在该集合中,各个输入数据对于揭露程序中的错误是( E )。
供选择的答案:
A: ① 白盒测试方法 ② 黑盒测试方法
B: ① 内部结构 ② 外部环境 ③ 顺序 ④ 流程
C~E:① 全集 ② 子集 ③ 等效?BR>④ 不同的 ⑤ 等价类 ⑥ 典型集
10、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
① 黑盒测试方法的缺点是( )和( )。
A. 不可测试软件的特定部位
B. 不能发现功能需求中的错误
C. 无法检验软件的外部特性
D. 无法测试未实现功能需求的软件的内部缺陷
② 白盒测试方法的缺点是( )和( )。
A. 不可测试软件的特定部位
B. 不能发现功能需求中的错误
C. 无法检验软件的外部特性
D. 无法测试未实现功能需求的软件的内部缺陷
问答计算题
1、从下列关于软件测试的叙述中,选出5条正确的叙述。
(1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(2) 尽量用公共过程或子程序去代替重复的代码段。
(3) 测试是为了验证该软件已正确地实现了用户的要求。
(4) 对于连锁型分支结构,若有n个判定语句,则有2n条路径。
(5) 尽量采用复合的条件测试,以避免嵌套的分支结构?BR>(6) GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。
(7) 发现错误多的程序模块,残留在模块中的错误也多。
(8) 黑盒测试方法中最有效的是因果图法。
(9) 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。
(10) 程序效率的提高主要应通过选择高效的算法来实现。
2、对小的程序进行穷举测试是可能的,用穷举测试能否保证程序是百分之百正确呢?
3、在任何情况下单元测试都是可能的吗?都是需要的吗?
4、如图所示的程序有三条不同的路径。分别表示为L1(a→b)、L2(a→c→d)、L3(a→c→e),或简写为ace、abd、abe及acd。根据判定覆盖、条件覆盖、判定C条件覆盖、条件组合覆盖和路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应覆盖标准的最小测试用例组。(用①~ ⑩回答)
供选择的答案:
①x = 90, y = 90②x = 50, y = 50
③x = 90, y = 90④x = 90, y = 70
x = 50, y = 50x = 40, x = 90
⑤x = 90, y = 90⑥x = 90, y = 90
x = 50, y = 50x = 70, y = 90
x = 90, y = 70x = 50, y = 50
⑦x = 90, y = 90⑧x = 90, y = 90
x = 50, y = 50x = 50, y = 50
x = 80, y = 70x = 90, y = 50
x = 70, y = 90x = 80, y = 80
⑨x = 90, y = 90⑩x = 90, y = 90
x = 90, y = 70x = 80, y = 80
x = 90, y = 30x = 90, y = 70
x = 70, y = 90x = 90, y = 30
x = 30, y = 90x = 70, y = 90
x = 70, y = 70x = 30, y = 90
x = 50, y = 50x = 70, y = 70
x = 50, y = 50
5、在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中( A )是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。若x, y是两个变量,可供选择的测试用例组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是( B )或( C );实现条件覆盖至少应采取的测试用例组是( D );实现路径覆盖至少应采取的测试用例组是( E )或( F )。
供选择的答案
A:① 语句覆盖 ② 条件覆盖 ③ 判定覆盖 ④ 路径覆盖
B~F:① Ⅰ和Ⅱ组 ② Ⅱ和Ⅲ组 ③ Ⅲ和Ⅳ组 ④ Ⅰ和Ⅳ组
⑤ Ⅰ、Ⅱ、Ⅲ组 ⑥ Ⅱ、Ⅲ、Ⅳ组 ⑦ Ⅰ、Ⅲ、Ⅳ组
⑧ Ⅰ、Ⅱ、Ⅳ组
6、下面是快速排序算法中的一趟划分算法,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):
int Partition ( datalist &list, int low, int high ) {
//在区间[ low, high ]以第一个对象为基准进行一次划分,k返回基准对象回放位置。
int k = low; Element pivot = list.V[low]; //基准对象
for ( int i = low+1; i <= high; i++ ) //检测整个序列,进行划分
if ( list.V[i].getKey ( ) < pivot.getKey( ) && ++ k != i )
Swap ( list.V[k], list.V[i] );//小于基准的交换到左侧去
Swap ( list.V[low], list.V[k] );//将基准对象就位
return k; //返回基准对象位置
}
(1) 试画出它的程序流程图;
(2) 试利用路径覆盖方法为它设计足够的测试用例(循环次数限定为0次,1次和2次)。
7、下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):
void SelectSort ( datalist & list ) {
//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。
for ( int i = 0; i < list.n-1; i++ ) {
int k = i; //在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象
for ( int j = i+1; j < list.n; j++)
if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j;
//当前具最小关键码的对象
if ( k != i ) Swap ( list.V[i], list.V[k] );//交换
}
}
(1) 试计算此程序段的McCabe复杂性;
(2) 用基本路径覆盖法给出测试路径;
(3) 为各测试路径设计测试用例。
8、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”
9、设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:
“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。”
(1) 试利用因果图法,建立该软件的因果图;
(2) 设计测试该软件的全部测试用例。
11、应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?
答案
选择填空题
1、解答:A. ② B. ④ C. ① D. ④ E. ④
2、解答:A. ② B. ③ C. ② D. ③ E. ③ F. ④
到程序的测试为止,软件开发工作已经经历了许多环节,每个环节都可能发生问题。为了把握各个环节的正确性,人们需要进行各种确认和验证工作。
所谓确认,是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的逻辑正确性。它包括需求规格说明的确认和程序的确认,而程序的确认又分为静态确认与动态确认。静态确认一般不在计算机上实际执行程序,而是通过人工分析或者程序正确性证明来确认程序的正确性;动态确认主要通过动态分析和程序测试来检查程序的执行状态,以确认程序是否有问题。
所谓验证,则试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。下图中所示的就是软件生存期各个重要阶段之间所要保持的正确性。它们就是验证工作的主要对象。
确认与验证工作都属于软件测试。在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节上发生了问题都可能在软件测试中表现出来。
3、解答:A. ② B. ④ C. ⑥ D. ③ E. ① F. ②
4、解答:A. ② B. ④ C. ④ D. ② E. ①
5、解答:(1) ② (2) ⑩ (3) ⑨ (4) ⑧ (5) ④
6、解答: A. ③ B. ④ C. ② D. ② E. ②
F. ① G. ④ H. ⑤ I. ① J. ①
7、解答: A. ③ B. ⑥ C. ① D. ② E. ⑥
F. ② G. ① H. ③ I. ⑤ A、B的答案可互换
8、解答:A. ① B. ⑤ C. ① D. ② E. ③
软件测试中常用的静态分析方法是引用分析和接口分析。接口分析用于检查模块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是路径测试方法。非分析方法(黑盒方法)中常用的方法是等价类(划分)方法和因果图方法。因果图方法根据输出对输入的依赖关系设计测试用例。
9、解答:A. ② B. ① C. ② D. ⑤ E. ③
10、解答:A和D,B和C,
四、问答计算题
1、解答:正确的叙述有(4)、(5)、(6)、(7)、(10)。
黑盒测试主要是根据程序的有关功能规格说明和覆盖准则来设计测试用例,进行测试的,不是根据程序的内部逻辑来设计测试用例,这是白盒测试做的事情。在所有黑盒测试方法中,最有效的不是因果图法,而是边界值分析方法。测试的目的是尽可能多地发现软件中的错误,其附带的收获才是验证该软件已正确地实现了用户的要求。测试的一条重要原则是:发现错误多的程序模块,残留在模块中的错误也多。软件可靠性模型(Shooman)就是依据这个原则建立它的公式的。对于连锁型分支结构,若有n个判定语句,则有2n条路径。因此,随着n的增大,路径数增长非常快。单元测试时,因为桩模块要模拟子模块的功能,这不是一件容易的事情,而驱动模块只是控制被测模块的执行,所以桩模块的编写比驱动模块的编写要难得多。
在程序设计风格方面,如果重复的代码段没有明显的功能,不可以抽取出来形成独立的公共过程或子程序,只有在这些代码段表现出独立的功能时,才可把它们抽取出来形成独立的公共过程或子程序。另外,程序效率的提高主要应通过选择高效的算法或使用高效的语言编译器来实现。GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁,这句话是正确的。
2、解答:对小程序进行穷举测试,不见得能保证程序百分之百正确。所谓穷举测试是拿所有可能的输入数据来作为测试用例(黑盒测试),或覆盖程序中所有可能的路径(白盒测试)。对于小程序来说,实际上并不能真正作到穷举测试。例如前面讲过,一个小程序P只有两个输入X和Y及输出Z,在字长为32位的计算机上运行。如果X、Y只取整数,考虑把所有的X、Y值都做为测试数据,按黑盒方法进行穷举测试,这样做可能采用的测试数据组(Xi,Yi),基数(radix)i的最大可能数目为:232×232=264。如果程序P测试一组X、Y数据需要1毫秒,而且假定一天工作24小时,一年工作365天,要完成264组测试,需要5亿年。
3、解答:单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。单元测试是在编码阶段完成的,每编写出一个程序模块,就开始做这个模块的单元测试,所以只要采用模块化方法开发软件,单元测试都是必需的。它可由编写程序的人来完成。因为它需要根据程序的内部结构设计测试用例,对于那些不了解程序内部细节的人,这种测试无法进行。
4、解答:针对覆盖标准,相应的测试用例组如下
注意:测试是一个程序的执行过程。对于逻辑表达式 A or B,当A为真时不再对B做判断,对于逻辑表达式 A and B,当A为假时不再对B做判断。未能做判断的条件,在解答中用“□”表示。
此测试用例组在满足条件覆盖的情况下又满足了判定覆盖的要求。
在条件组合覆盖情形,(x?90)or(y?90)的组合有4种,与条件(x+y?140)的组合应有8种,但(x+y?140=F)and((x?90=T)or(y?90=T))不可能出现,因此,7个测试用例就够了。
因为流程图有3条路径,只需3个测试用例就够了。如果将判定中的复合条件表达式改为单个条件的嵌套选择结构,第一个判定有3条路径,其中两条路径通向第二个判定。第二个判定有4条路径,组合起来总共应有9条路径。但是,其中受测试条件的限制,有3条路径不可达,因此,程序中应有6条路径,需要6个测试用例来覆盖它们。
5、解答:A. ④ B. ⑤ C. ⑧ D. ④ E. ⑤ F. ⑧
判定表
为判定覆盖选取测试用例情形:对第一个判定选取测试用例组Ⅰ和Ⅱ,当用Ⅰ覆盖判定的T分支时,不会走到第二个分支;当用Ⅱ覆盖判定的F分支时,第二个判定需另取一个测试用例组覆盖其T分支,此时取测试用例组Ⅲ或Ⅳ即可。因此,选择⑤或⑧均可。
为条件覆盖选取测试用例情形:取测试用例组Ⅰ和Ⅳ就可以覆盖所有4个条件的取值。
为路径覆盖选取测试用例情形:总共3条路径,需3个测试用例,可选使各路径为T的测试用例。Ⅰ、Ⅱ、Ⅲ或Ⅰ、Ⅱ、Ⅳ均可,可选⑤或⑧。
6、解答:(1)流程图如下。
(2) 测试用例设计
画程序流程图是设计测试用例的关键。从以往同学解题的经验来看,在画流程图时就出错了。所以首先要把流程图中的逻辑关系搞清楚再画出正确的流程图。考虑测试用例设计需要首先有测试输入数据,还要有预期的输出结果。对于此例,控制循环次数靠循环控制变量i和循环终值high。循环0次时,取low = high,此时一次循环也不做。循环一次时,取low +1 = high,循环二次时,取low+2 = high。
若出题时特别强调要使用BRO策略,条件V[i] < pivot && ++k≠i的约束集合为 { (<, < ), (<, = ), (=, , < ) },因此,测试用例设计为:
单击放大
7、解答:(1) McCabe环路复杂性 = 5
(2) 独立路径有5条:
①③
①②⑤⑧……
①②⑤⑨……
①②④⑥……
①②④⑦……
(3) 为各测试路径设计测试用例:
路径①③:取n = 1
路径①②⑤⑧……:取n = 2,
预期结果:路径⑤⑧③不可达
路径①②⑤⑨……:取n = 2,
预期结果:路径⑤⑨③不可达
路径①②④⑥⑤⑧③:
取n = 2, V[0] = 2, V[1] = 1, 预期结果:k = 1, V[0] = 1, V[1] = 2
路径①②④⑥⑤⑨③:
取n = 2, V[0] = 2, V[1] = 1, 预期结果:k = 1, 路径⑨③不可达
路径①②④⑦⑤⑧③:
取n = 2, V[0] = 1, V[1] = 2, 预期结果:k = 0, 路径⑧③不可达
路径①②④⑦⑤⑨③:
取n = 2, V[0] = 1, V[1] = 2, 预期结果:k = 0, V[0] = 1, V[1] = 2
8、解答:设三角形的三条边分别为A, B, C。如果它们能够构成三角形的三条边,必需满足:A >0,B >0,C >0,且A + B >C,B + C >A,A + C >B。
如果是等腰的,还要判断是否A = B,或B = C,或A = C。
对于等边的,则需判断是否A = B,且B = C,且A = C。
列出等价类表:
测试用例设计(略)
9、解答:
(1) 因果图
(2) 测试用例设计
测试用例 每一纵列为一个测试用例
10、解答:由shooman公式:
其中,IT = 105,MTTF1 = 0.4,T1 = 160,n1 = 100,MTTF2 = 2,T2 = 320,n2 = 300。得:
(1) 解得程序中固有得错误总数ET = 350,此外K = 1000。
(2) 设MTTF = 10,有
解得x = 340。由可靠性累积曲线EC (t) = ET (1-e-K1 t ),
得 100 = 350 (1-e-160K1)
300 = 350 (1-e-320K1)
因此,3-3*e-160K1 = 1-e-320K1
2 = 3*e-160K1- e-320K1 设 x = e-160K1
有 x2 C 3x + 2 = 0
解得 x1 = 2,x2 = 1, K1 = ln(x1)/(-160) = - 0.693/160 ? 0.00433。
因为ln(x2)/(-160) = 0,舍去
代入:340 = 350 (1-e-K1 t ) = 350(1-e-0.00433 t )
350e-0.00433 t = 10
t = (ln(35))/0.00433 ? 821 (小时)
因此求得为使MTTF = 10,测试和调试该程序需要花费821小时。
(3) MTTF与测试时间t之间的函数关系:
因为EC (t) = ET (1-e-K1 t ),则ET - EC (t) = ET e-K1 t。代入shooman公式:
11、解答:在对照需求做有效性测试和软件配置审查时,是由软件开发者在开发环境下进行的测试。而接下来做验收测试时则以用户为主。软件开发人员和QA(质量保证)人员也应参加。由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试的输出结果。一般使用生产中的实际数据进行测试。
如果软件是为多个客户开发的,则需要进行α测试和β测试。α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。软件在一个自然设置状态下使用。开发者坐在用户旁边,随时记下错误情况和使用中的问题。这是在受控制的环境下进行的测试。
β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。这些用户是与公司签定了支持产品预发行合同的外部客户,他们要求使用该产品,并愿意返回有关错位错误信息给开发者。与α测试不同的是,开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用。
[机械工程师面试题答案]
篇4:ui工程师面试题及答案
1、说说你是怎么理解UI的?
UI是最直观的把产品展示展现在用户面前的东西,是一个产品的脸面。人开始往往是先会先喜欢上美好的事物后,在去深究内在的东西的。
那么也就意味着一个产品的UI首先要做的好看,无论风格是什么样的,重要的就是要让用户看起来舒服,设计就是要让用户更好的喜好上使用这个产品勾起用户的使用欲望。
同时UI又不单单是视觉上的,还有一些涉及到人机交互和操作逻辑方面的东西,在UI上都有体现,所以对设计而言,不仅要注意到视觉上的设计,还要注意到产品的功能及体现。具体可以体现为:要好看、好用、而且要快。
2、你对UI设计师的看法是什么?
针对目前设计的形式,我觉得目前来说设计师还是比较多的。各大培训比较多,速成比较多,我个人认为作为一个优秀的设计师需要具备哪些能力等等……
也可以回答作为一个设计师我们应该关注新的事物和行业动态,要时刻关注新的设计动态,对流行设计敏感,有欣赏美的眼光,也可以举例说说最近的动态,如星巴克的杯子事件,卫龙辣条,杜蕾斯等等。也可以关注一些手机的新品发布会等等。
3、你觉得什么是UI设计?
范围很广。如果从设计角度来说我认为就是解决用户需求、改善提高效率、节省用户时间,通过不会说的界面,表达出设计师想要表达思想和意思。
4、谈谈你做UI设计师的最大收获或者谈谈你做设计以来最大的收获。
可以从技术、审美、经历、爱好等方面的一些进步和改变谈谈。
5、说说你们产品想法到上线的流程。
1.产品想法
产品想法的来源来自四个方面,突发奇想、用户反馈、老板任务、竞品启示。
2.产品分析
产品分析分两方面,用户研究和市场研究。用户研究分为定性研究和定量研究;市场研究分行业分析和竞品分析。
3.产品规划
主要分为四步:罗列特性、特性分类、排优先级、版本规划。
4.产品设计
主要分为四步:产品架构、建立导航、页面布局、体验细节。
5.产品实现
主要分为四步:团队分工、开发模式
产品团队一般包括产品经理、项目经理、技术开发、测试、运维和设计。
现在主流开发模式有两种,瀑布模型和敏捷开发
6、拿到一个文案如何开始工作?
用户分析、市场调研、行业对比、原型设计、评审修改。
7、为什么选择这个行业?
相对来说喜欢设计,特别喜欢,现在互联网特别好、用户需求更大,前途很不错的,收入也比较多。。
8、你期望的工作环境是怎样的?
工作环境和工作性质方面,每个公司都有自己的特色的,但是本人主要看中的是在公司的发展前景和能否学习到东西,才是目前看中的,对于工作环境和工作性质没有太大的要求的。
9、说说你对行业发展趋势的看法?
第一,市场的需求。
第二,人才资源的稀缺。
第三,互联网的发展速度。
10、你们公司的团队结构是什么样的?
项目经理、产品经理、视觉设计师、技术开发(如果APP是IOS和安卓 如果网站有前端开发JAVA/PHP统称开发等 )、测试、运营。
对于小公司,只有产品、美工、开发。
11、你如何分配在工作中的百分比?
按每天的优先级安排工作时间的占比
12、推动一个项目的视觉设计要多久?
此问题问的是视觉设计而不是项目推动要多久,具体推动时间和界面的多少有关系。
13、对团队未来的期望是什么样的?
可以从公司的平台来说,也可以从环境团队的氛围来说。晋升机制等等根据情况而定
14、谈谈设计与艺术的区别
个人认为设计师艺术的一部分,艺术来源于生活同时又高于生活,艺术是欣赏层次的商业性质没有那么强。但是设计是带有商业目的等等
15、平时看的书有哪些?
根据个人情况回答
比如结网、设计师要懂心理学、自由“字”在:字体设计与创意等等。
最后最好举例说明为什么喜欢
16、经常浏览的网站有哪些?
站酷、UI中国、优设网、追波网、图翼等等
根据个人情况回答最好举例说明为什么喜欢。最好不要说千图 昵图等
17、你最喜欢的网站有哪些?
追波网、人人都是产品经理、知乎、豆瓣等等 根据个人情况回答最好举例说明为什么喜欢
这个问题不一定非要全说设计类的网站
可以说设计类网站、产品类的、插画类的、摄影类的。因为以上的网站都和设计有密不可分的关系
18、喜欢的APP有哪些
根据个人情况而定,还有是看面试公司偏向于那种类型的,可以去最美应用去查找,可找一款自己最喜欢的,因为面试官极有可能会记着问一些竞品分析的话题等等。
19、喜欢的国内外设计师有谁?
王志宏 陈幼坚 靳埭强 杉浦康平Mike等等
最好举例说明为什么喜欢
20、还会其他什么技能吗?
比如会手绘,C4D、AXURE、FLASH等
21、你会手绘吗?
可以画,卡通简单的没问题,但像是写实风格的,不是不能画,就是慢,我担心会影响项目的进度。
另外当前设计最好会手绘,会手绘可在可同事或者BOSS沟通的时候快速的根据思路手绘出基本原型、造型或者分镜等。这里无疑是一个加分项目。
如果不会最好诚实一点说不会,万一你说会了,现场让你画画不出就尴尬了。
另外UI设计师从事是设计工作分为以下三个方面:
研究界面―-图形设计师Graphic UI designer
国内目前大部分UI工作者都是从事这个行业。也有人称之为美工,但实际上不是单纯意义上的美术工人,而是软件产品的产品外形设计师。这些设计师大多是美术院校毕业的,其中大部分是有美术设计教育背景,例如工业外形设计,装潢设计,信息多媒体设计等。
研究人与界面的关系―交互设计师,interaction designer
在图形界面产生之前,长期以来UI设计师就是指交互设计师。交互设计师的工作内容就是设计软件的操作流程,树状结构,软件的结构与操作规范(spec)等。一个软件产品在编码之前需要作的就是交互设计,并且确立交互模型,交互规范。 交互设计师一般都是软件工程师背景居多。
研究人―-用户测试/研究工程师User experience engineer
任何的产品为了保证质量都需要测试,软件的编码需要测试,自然UI设计也需要被测试。这个测试和编码没有任何关系,主要是测试交互设计的合理性以及图形设计的美观性。测试方法一般都是采用焦点小组,用目标用户问卷的形式来衡量UI设计的合理性。
这个职位很重要,如果没有这个职位,UI设计的好坏只能凭借设计师的经验或者领导的审美来评判,这样就会给企业带来严重的风险性。 用户研究工程师一般是心理学人文学背景比较合适。
[ui工程师面试题及答案]
篇5:js工程师面试题及答案
js工程师面试题及答案
HTML+CSS
1.对WEB标准以及W3C的理解与认识标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;
2.xhtml和html有什么区别
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。标签名必须用小写字母。
XHTML 文档必须拥有根元素。
3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的html文档加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug
4.行内元素有哪些?块级元素有哪些?CSS的盒模型?块级元素:div p h1 h2 h3 h4 form ul行内元素: a b br i span input select Css盒模型:内容,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的区别是?内联 内嵌 外链 导入区别 :同时加载前者无兼容性,后者CSS2.1以下浏览器不支持 Link 支持使用javascript改变样式,后者不可。
6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?标签选择符 类选择符 id选择符继承不如指定 Id>class>标签选择后者优先级高
7.前端页面有哪三层构成,分别是什么?作用是什么?结构层 Html 表示层 CSS 行为层 js
8.css的基本语句构成是?选择器{属性1:值1;属性2:值2;……}
9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
10.写出几种IE6 BUG的解决方法
1.双边距BUG float引起的 使用display
2.3像素问题 使用float引起的 使用dislpay:inline -3px
3.超链接hover 点击后失效 使用正确的书写顺序 link visited hover active
4.Ie z-index问题 给父级添加position:relative
5.Png 透明 使用js代码 改
6.Min-height 最小高度 !Important 解决’
7.select 在ie6下遮盖 使用iframe嵌套
8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
11.标签上title与alt属性的区别是什么?
Alt 当图片不显示是 用文字代表。
Title 为该属性提供信息
12.描述css reset的作用和用途。
Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一
13.解释css sprites,如何使用。
Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量
14.浏览器标准模式和怪异模式之间的区别是什么?盒子模型 渲染模式的不同使用 window.top.document.compatMode 可显示为什么模式
15.你如何对网站的文件和资源进行优化?期待的解决方案包括:文件合并文件最小化/文件压缩使用CDN托管缓存的使用
16.什么是语义化的HTML?直观的认识标签 对于搜索引擎的抓取有好处
17.清除浮动的几种方式,各自的优缺点
1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)
2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)
3.是用afert伪元素清除浮动(用于非IE浏览器)
Javascript
1.javascript的typeof返回哪些数据类型
Object number function boolean underfind
2.例举3种强制类型转换和2种隐式类型转换?强制(parseInt,parseFloat,number)隐式(== – ===)
3.split join() 的区别前者是切割成数组的形式,后者是将数组转换成字符串
4.数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5.事件绑定和普通事件有什么区别
6.IE和DOM事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
7.IE和标准下有哪些兼容性的写法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.ajax请求的时候get 和post方式的区别一个在url后面 一个放在虚拟载体里面有大小限制安全问题应用不同 一个是论坛等只需要请求的,一个是类似修改密码的
9.call和apply的区别
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax请求时,如何解释json数据使用eval parse 鉴于安全性考虑 使用parse更靠谱
11.b继承a的方法
12.写一个获取非行间样式的函数
function getStyle(obj,attr,value)
{
if(!value)
{
if(obj.currentStyle)
{
return obj.currentStyle(attr)
}
else
{
obj.getComputedStyle(attr,false)
}
}
else
{
obj.style[attr]=value
}
}
13.事件委托是什么让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
www.webasily.com/?p=78 例子可见此链接
14.闭包是什么,有什么特性,对页面有什么影响闭包就是能够读取其他函数内部变量的函数。
blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)
15.如何阻止事件冒泡和默认事件
canceBubble return false
16.添加 删除 替换 插入到某个接点的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
17.解释jsonp的原理,以及为什么不是真正的ajax动态创建script标签,回调函数
Ajax是页面无刷新请求数据操作
18.javascript的本地对象,内置对象和宿主对象本地对象为array obj regexp等可以new实例化内置对象为gload Math 等不可以实例化的宿主为浏览器自带的document,window 等
19.document load 和document ready的区别
Document.onload 是在结构和样式加载完才执行js
Document.ready原生种没有这个方法,jquery中有 $().ready(function)
20.”==”和“===”的不同前者会自动转换类型后者不会
21.javascript的同源策略一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合
22.编写一个数组去重的方法
function oSort(arr)
{
var result ={};
var newArr=[];
for(var i=0;i
{
if(!result[arr])
{
newArr.push(arr)
result[arr]=1
}
}
return newArr
}
重申一下,上述这些知识点都应该是你应该“想都不用想”的东西。我一开始问的所有问题都是想摸清你对所有这些领域知识的掌握程度。虽然上面列出的这些知识点并没有面面俱到,但我觉得你至少应该掌握这些,才有可能跟我坐到一间办公室里来。
少量提问
我非常赞同面试者问的问题越少越好。反复问应聘者各种问题既不公平,也很无聊。我在任何一次面试中,通常只问三个大问题,但每个问题又会涉及我所能想到的多个方面。回答每个大问题一般要经过几个步骤,这样我就可以在每个步骤中穿插着问一些小问题。比如说:
现在有一个正显示着Yahoo!股票价格的页面。页面上有一个按钮,你可以单击它来刷新价格,但不会重新加载页面。请你描述一下实现这个功能的过程,假设服务器会负责准备好正确的股票价格数据。
这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON。如果我要求你对换一种处理股票价格的方式,或者让你在页面中显示其他信息,就可以把更多的知识点包括进来。对于经验比较丰富应聘者,我也可以自如地扩展要考察的知识范围,最简单像JOSN与XML的区别、安全问题、容量问题,等等。
我还希望应聘者给出的任何解决方案中都不要使用库。我想看到最原生态的代码,你就当页面中没有包含任何库。你说你对哪个库了解多少多少,但我不能把关于库的知识作为评判能力的因素,因为库是会随时间变化的。我需要的是真正理解库背后的机制,特别是能够徒手写出一个自己的库的人。
解决问题
做为一名前端工程师,最值得高兴的事莫过于解决同一个问题会有很多种不同的方法,而你要做的就是找出最合适的方法来。我在提问的时候,经常会在应聘者解释完一种方法后问他们还有没有第二种方法。此时我会跟他们说,假设你的这个方法由于种种原因被否决了,那么你还能不能给出另一种方法。这样做可以达到两个目的。
首先,可以测试出他们是否在毫无意义地复述书本中的东西。不能不承认,某些人确实有过目不忘的天赋,听他们在那里滔滔不绝地讲,你会觉得他们什么都明白。可是,只要一跟这些人谈到怎么查找方案无效的原因,以及能否拿出一个新方案来,他们往往就傻眼了。这时候,如果我听到“我不明白这个方案为什么不够好”之类的反问,心里立刻就明白我的问题已经超出了他们的能力范围,而他们只是想拿自己死记硬背的结论来蒙混过关。
其次,可以测试出他们已经掌握的(还是那句话,“想都不用想”)浏览器技术知识。如果他们对浏览器平台的核心知识有较好的理解,想出解决同一问题的不同方案根本没有那么难。
对一名前端工程师来说,这绝对是最重要的能力。前端工程师在工作中遇到本该如此却并未如此的难题(说你啦,IE6),应该说是一件很平常的事。一个方案无效就无计可施的人,做不了前端工程师。
考核应聘者解决问题能力的另一层原因,与我的个人喜好有关。在搞清楚应聘者知道什么不知道什么之后,我就会想着问一个他们知识领域之外的问题。这样做的目的,就是想看看他们怎样运用已有的知识解决新问题。在解决问题的.每一步,我也准备了一些提示,以防有人会卡壳打艮(在我面前15分钟一言不发,对我评价这个人毫无帮助)。我真正感兴趣的,是他们能够从上一步前进到下一步。我希望看到一个人就在我眼前学到新知识。
注意:所有问题都与浏览器技术相关。我不相信出几道抽象的逻辑题,就能够考出某人解决Web技术问题的能力。在我看来,这无异于让素描大师画肖像(或者让刘翔跟博尔特同场竞技),没有意义,也得不到任何有价值的信息。
有激情
要成为一名优秀的前端工程师,最重要的莫过于对自己做的事要有激情。我们技能都不是从学校中或者从研讨会上学来的,因此前端工程师必须具备自学能力。浏览器技术的变化可谓日新月异,所以也只有不断提升自己的技能才做得到与时俱进。我虽然不能强迫谁必须多看博客、不断学习,但想应聘前端工程师的人恐怕还是必须这么做的。
你怎么知道谁对这种工作有没有激情?实际上非常简单。我只问一个简单的问题:“目前你对什么Web技术最感兴趣?”这个问题永远不会过期,而且也几乎不可能出错……除非你答不上来。就眼下来说,我希望你对这个问题给出的技术中包括WebSocket、HTML、WebGL、客户端数据库,等等。只有对Web开发充满激情的人,才会坚持不懈地学习新知识、掌握新技能;这些人才是我真正想要的。当然,我会让他们详细解释自己提到的技术,以保证他们不是随口说了几个时髦的新词汇。
最后一点
计算机科学或者Web设计方面的知识当然也有用,但那都是基本知识之外的东西。只要基本知识在那儿了,一切就都有了基础,想扩充知识面也不难。可是,如果等到正式上班以后,还得从头学习基本技能,那种难度是不可同日而语的。另外,高级前端工程师与一般工程师相比,肯定需要掌握更多的技能。而面试几乎没有经验大学毕业生,同样也会有一套完全不同的程序。我在这篇文章里列出来的都是一些最基本的东西。
对于那些还没有多少面试经验的人,我总是喜欢告诉他们,面试完了只要问自己一个问题就行:你想以后跟这个人在一起共事吗?如果不管为什么,回答是不,那就是不。
面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程。无论大公司还是小公司,之所以在如何招聘到真正有能力的前端工程师方面会遇到同样的问题,就是因为负责招聘的那些人不知道自己公司需要什么样的人,结果问问题时也问不到点子上。经过这几年在行业里的摸索,我总结出了自己的一套很有效的面试前端工程的方法。
有的应聘者说我不好对付,但留给他们这样的印象也并非我所愿。我觉得之所以他们说我不好对付,主要是因为我问他们问题时问得太细了。以前我曾专门写过一些东西,告诉应聘者怎么才能通过我的面试(Surviving an interview with me)以及优秀的前面工程师应该具备什么样的素质(What makes a good front end engineer?),而我的面试可以说完全是按照那两篇文章的标准进行的。我不会问一些特别偏门的问题,也不认为出几道逻辑题就能考出人的真实水平。我唯一的想法就是确定你能否胜任我们要招的这个职位。为此,我需要简单地考察如下几个方面。
基本知识
我们生活在互联网时代,你想知道的任何事情几乎都能在15分钟内找到相关信息。可是,能找到信息并不等于你会使用它。我认为所有前端工程师至少都应该掌握某些基本的知识,才能有效地完成自己的工作。如果一遇到问题,就停下工作上网四处搜索解决方案,怎么可能保证按期完成工作呢?听听,还有谁在说“我不知道,但我可以上网搜到。”请这些同学把手举起来,让大家认识一下(immediately raises a flag for me.)。下面我列出一些基本的知识点,这些都是我认为一名前端工程师(无论工作年头长短)在没有任何外来帮助的情况应该知道的。
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
前端开发面试知识点大纲:
HTML&CSS:
对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应
JavaScript:
数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。
其他:
HTTP、安全、正则、优化、重构、响应式、移动端、团队协作、可维护、SEO、UED、架构、职业生涯
作为一名前端工程师,无论工作年头长短都应该必须掌握的知识点:
1、DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
2、DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。
3、事件 —— 如何使用事件,以及IE和标准DOM事件模型之间存在的差别。
4、XMLHttpRequest —— 这是什么、怎样完整地执行一次GET请求、怎样检测错误。
5、严格模式与混杂模式 —— 如何触发这两种模式,区分它们有何意义。
6、盒模型 —— 外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型
7、块级元素与行内元素 —— 怎么用CSS控制它们、以及如何合理的使用它们
8、浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
9、HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
10、JSON —— 作用、用途、设计结构。
篇6:php工程师面试题及答案
php工程师面试题及答案
【1 】Memcached、redis的使用和理解
Memcached和redis 都是一个key-value的内存式存储系统,通过hash表来存储检索结果,做到强大的缓存机制。像新浪的微博、淘宝等大流量站点都必须的使用了这些东东。
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。
【2】你对于设计模式和MVC的理解
Model-View-Controller,模型、视图、控制器,一想到MVC就会想到JAVA,因为JAVA是一个完全面向对象的语言,MVC最早出现在smalltalk中,其核心就是要将试图和数据模型分离,这样不同的程序就可以有不同的展示。
模型,即程序员写的功能、算法和数据模型,也就是我们说的系统业务逻辑层。
视图,即前端,图形界面。展示给用户看的。
控制器,主要负责对请求处理、转发和加载视图。
设计模式,说白了就是代码的设计经验的总结和归类,设计模式最早应用于建筑行业,编程的设计模式按最早的GoF所述,包括23种设计模式,主要用于面向对象的程序编程。遵循几个设计原则:开闭原则、单一职责原则、里氏替换原则、依赖注入、接口分离、迪米特原则、优先使用组合而不是继承等等。包括创建型模式、结构性模式、行为模式三类。
【3】HTTP协议1.0及1.1的区别,并简单说下HTTP协议
HTTP,超文本传输协议。它定义了浏览器和服务器的通信规则。HTTP协议是基于TCP/IP的TCP协议上,现在万维网使用的是HTTP1.1版本,其特点包括,C/S模式,请求简单(GET/POST/HEAD),灵活(可以传输任何类型的数据HTML、XML、JSON、自定义等),无连接(每次连接只处理一个请求,从发出请求到收到200状态为止断开连接),无状态。
对HTTP协议的考察主要包括,响应消息格式、请求消息格式、状态码等知识点。
一般一个HTTP协议包括:起始行(start line)、首部(header)、主体(body)三个部分。
[响应消息格式]
HTTP/1.1 200 0K
Connectlon:close
Date: Thu, 13 Oct 03:17:33 GMT
Server: Apache/2.0.54 (Unix)
Last—Nodified:Mon,22 Jun 09;23;24 GMT
Content—Length:682l
Content—Type:text/html
这个响应消息分为3部分:1个起始的状态行(status line),首部、1个包含所请求对象本身的附属体。状态行有3个字段:协议版本字段、状态码字段、原因短语字段。
[请求消息格式]
GET /somedir/page.html HTTP/1.1
Host:www.chinaitlab.com
Connection:close
User-agent:Mozilla/4.0
Accept-language:zh-cn
(额外的回车符和换行符)
该请求消息的第一行称为请求行 (request line),后续各行都称为头部行(header)。请求行有3个字段:方法字段、URL字段、HTTP版本字段。
[状态码]参见www.cnblogs.com/TankXiao/archive//01/08/2818542.html
1xx 消息
2xx 成功
3xx 重定向
4xx 请求错误
5xx 服务器错误
[常见状态码]
200 OK。请求已成功,请求所希望的响应头或数据体将随此响应返回。
300 Multiple Choices。请求资源有多个选择,如请求文本有法语版、英语版等等。
301 Moved Permanently。表示请求的网页已永久转移到新位置
302 Found。表示页面在做临时跳转时返回的状态。
304 Not Modified。客户的缓存资源是最新的, 要客户端使用缓存。
400 Bad Request。错误的请求。
403 Forbidden。请求被服务器拒绝了。
404 Not Found。表示服务器找不到请求的网页,服务器上不存在的网页经常会返回的HTTP状态码。
500 Internal Server Error。
503 Service Unavailable。服务器目前无法为请求提供服务,但过一段时间就可以恢复服务。
504 Gateway Timeout。与状态吗408类似, 但是响应来自网关或代理,此网关或代理在等待另一台服务器的响应时出现了超时。
505 HTTP Version not supported。 HTTP协议版本不支持。
【4】简单说下Apache中rewrite机制和PHP框架中URI路由机制
1)URL重写,其实就是把用户通过浏览器请求的URL,到了后台,apache根据预先配置的重写规则将该请求指向真正的资源路径,说白了就是打马虎眼,把真正的路径改头换面后给用户访问,可问题是这样做有啥用处呢。
1、SEO方面。将动态的URL静态化,以满足搜索引擎的胃口。
2、访问控制。比如,通过重写规则后,客户端不易判断后台程序类型等。
3、URL重定向。当网站更改域名或增加别名URL后,可以通过规则轻松的指向要访问的'URL。
httpd.apache.org/docs/current/mod/mod_rewrite.html
mod_rewrite 使用基于正则表达式动态的修改传入请求的URL。它可以将URL映射到文件系统路径,也可以将一个URL映射到另一个URL。它使用了没有限制数量的规则来操纵URL,每条规则可以包括没有限制数量的附加条件。你可以通过多种方式来检测,如,服务器变量、环境变量、HTTP头、时间戳等。
mod_rewrite 操作整个URL路径,包括path-info的部分。一个重写规则可以被设置在http.conf或者.htaccess中。一个重写规则生成的路径可以包括一个请求字符串,或者内部的子程序处理,外部请求的重定向,或者穿透内部代理等。
2)PHP框架中的URI路由机制,与apache重写类似,一般包括通配符和正则两种规则。让用户可以重新定向(remap)URI处理程序. 设定你自己的路由规则。
【5】MySQL的索引机制,复合索引的使用原则
(深入浅出MySQL一书中对索引的使用讲的比较细致)
一般都会用书本中的目录来介绍索引机制,包括有些书本会有专门的快速检索附录,就很类似于数据库的索引。
MySQL的索引包括4类:主键索引(primary key)、唯一索引(unique)、常规索引(index)、全文索引(fullindex)。
Show index from table_name; –查看表中的索引
Show status like ‘Handler_read%’ –查看索引的使用情况
复合索引,一般遵循最左前缀原则,如table_a 的 a b c 三列建复合索引
create index ind_table_a on table_a(a,b,c);
那么,只有在条件中用到a,或者a、b,或者a、b、c这样的情况下,才会用到刚建的复合索引。
【6】如何理解OOP
OOP,面向对象编程,包括三个方面,继承性、封装性、多态性,其中最根本的东西就是抽象。
继承性,即扩展性,通过子类对已经存在的父类进行功能扩展。
封装性,要求外部不能随意存取对象的内部数据,即对该类中的具体实现做封装,用户不必知道内部的具体实现,只有知道它是干什么的,怎么用就好了。
多态性,就是类的抽象和接口,同一个类能够处理多种类型对象的能力。
我们在现实中,看到的任何东东都可以看做为一个对象,然后通过进一步的抽象为类,类又可以演变为很多类似的对象。举个简单的例子,将我们看到的一个房子抽象为一个ROOM类,包括基本的门,窗,桌子等物件,人可以进出等功能。 现在我们继承ROOM类为Classroom,包括扇门,有大窗,有桌椅,另外只包括一个黑白和一个讲台,老师和同学可以上课。现在我们实例化这个Classroom类为Classroom_621对象,包括两扇门,四扇大窗,30套桌椅,有同学正在上毛概课。
篇7:远东集团网络工程师面试题
,
动态密码技术采用一种动态令牌的专用硬件,内置电源、密码生成芯片和显示屏. 其中数字键用来输入用户PIN码,显示屏用于显示一次性密码。每次用户输入正确的PIN码时,都可以得到一个当前可用的一次性动态密码。
动态令牌的密码生成芯片运行专门的密码算法,它当前时间以及使用次数生成当前密码并显示在显示屏上。认证服务器采用相同的算法计算当前的有效密码。
由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要密码验证通过,系统就可以认为该用户的身份是可靠的。
而用户每次使用的密码都不相同,即使 截获了一次密码,也无法利用这个密码来仿冒合法用户的身份,因为下一次登录必须使用另外一个动态密码。
篇8:硬件工程师面试题及答案解析
1、基尔霍夫定理的内容是什么?
基尔霍夫定律包括电流定律和电压定律
电流定律:在集总电路中,任何时刻,对任一节点,所有流出节点的支路电流的代数和恒等于零。
电压定律:在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于零。
2、描述反馈电路的概念,列举他们的应用。
反馈,就是在电子系统中,把输出回路中的电量输入到输入回路中去。
反馈的类型有:电压串联负反馈、电流串联负反馈、电压并联负反馈、电流并联负反馈。
负反馈的优点:降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用。
电压负反馈的特点:电路的输出电压趋向于维持恒定。
电流负反馈的特点:电路的输出电流趋向于维持恒定。
3、有源滤波器和无源滤波器的区别
无源滤波器:这种电路主要有无源元件R、L和C组成
有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点。
集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但集成运放带宽有限,所以目前的有源滤波电路的工作频率难以做得很高。
数字电路
1、同步电路和异步电路的区别是什么?
同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。
异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。
2、什么是“线与”逻辑,要实现它,在硬件特性上有什么具体要求?
将两个门电路的输出端并联以实现与逻辑的功能成为线与。
在硬件上,要用OC门来实现,同时在输出端口加一个上拉电阻。
由于不用OC门可能使灌电流过大,而烧坏逻辑门。
3、解释setup和holdtimeviolation,画图说明,并说明解决办法。(威盛VIA.11.06上海笔试试题)
Setup/holdtime 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setuptime.如不满足setuptime,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。
保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果holdtime不够,数据同样不能被打入触发器。
建立时间(SetupTime)和保持时间(Holdtime)。建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。
4、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。
5、名词:SRAM、SSRAM、SDRAM
SRAM:静态RAM
DRAM:动态RAM
SSRAM:SynchronousStaticRandomAccessMemory 同步静态随机访问存储器。它的一种类型的SRAM。SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。这一点与异步SRAM不同,异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。
SDRAM:SynchronousDRAM同步动态随机存储器
6、FPGA和ASIC的概念,他们的区别。(未知)
答案:FPGA是可编程ASIC。
ASIC: 专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。与门阵列等其它ASIC(ApplicationSpecificIC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。
7、什么叫做OTP片、掩膜片,两者的区别何在?
OTPmeansonetimeprogram,一次性编程
MTPmeansmultitimeprogram,多次性编程
OTP(OneTimeProgram)是MCU的一种存储器类型
MCU按其存储器类型可分为MASK(掩模)ROM、OTP(一次性可编程)ROM、FLASHROM等类型。
MASKROM的MCU价格便宜,但程序在出厂时已经固化,适合程序固定不变的应用场合;
FALSHROM的MCU程序可以反复擦写,灵活性很强,但价格较高,适合对价格不敏感的应用场合或做开发用途;
OTPROM的MCU价格介于前两者之间,同时又拥有一次性可编程能力,适合既要求一定灵活性,又要求低成本的应用场合,尤其是功能不断翻新、需要迅速量产的电子产品。
8、单片机上电后没有运转,首先要检查什么?
首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。
接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。
然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。
另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因只一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。
[硬件工程师面试题及答案解析]
篇9:网络工程师试题及答案
网络工程师试题及答案
一、选择题
1.无类域间路由CIDR技术出现在IP地址概念与划分技术的第__C__个阶段。
A)第一阶段
B)第二阶段
C)第三阶段
D)第四阶段
2.地址转换技术的研究始于__D__年。
A)1981
B)1991
C)1993
D)
3.划分子网阶段采用__B__IP地址结构。
A)网络号—主机号
B)网络号—子网号—主机号
C)起始IP地址/网络号位数
D)起始IP地址/主机号位数
4.按照TCP/IP**,接入Internet的每一台计算机都有一个唯一的地址标识,这个地址标识为__C__。
A)主机地址
B)网络地址
C)IP地址
D)端口地址
5.IP地址220.140.36.88的哪一部分表示网络号__C__。
A)220
B)220.140
C)220.140.36
D)220.140.36.88
6.IP地址174.66.51.37的哪一部分表示主机号__C__。
A)174.66
B)66.51.37
C)51.37
D)37
7.255.255.255.255地址称为__A__。
A)受限广播地址
B)直接广播地址
C)回送地址
D)预留地址
8.202.161.20.255是____。
A)“这个网络上的特定主机”地址
B)受限广播地址
C)直接广播地址
D)公用IP地址
9.以下项__C__不是子网地址规划需要回答的基本问题之一。
A)这个被选定的子网掩码可以产生多少子网?
B)这些合法的主机地址是什么?
C)这些合法的主机地址使用的传输层**是什么?
D)每个子网内部合法的netID是什么?
10.一个主机的IP地址198.0.46.1的默认掩码是__C__。
A)255.0.0.0
B)255.255.0.0
C)255.255.255.0
D)255.255.255.255
11.当A类网络地址34.0.0.0,使用8个二进制位作为子网地址时,它的子网掩码为_B___。
A)255.0.0.0
B)255.255.0.0
C)255.255.255.0
D)255.255.255.255
12.网络地址156.25.0.0/16的广播地址是_A___。
A)156.25.255.255
B)255.255.0.0
C)156.25.0.255
D)255.255.255.255
13.一个网络的子网掩码为255.255.255.248,每个子网能够连接__B__个主机。A)8
B)6
C)16
D)126
14.某网络采用子网划分技术,所需子网数为12,求该网络的实际子网数目为_B__。
A)12
B)14
C)16
D)254
15.一个主机的IP地址是202.112.14.137,掩码是255.255.255.224。该主机所在网络的网络地址是_A___。
A)202.112.14.128
B)202.112.14.159
C)255.255.255.137
D)202.112.14.254
二、填空题
1.Internet上的地址有【1】、IP地址两种表示形式。域名
2.【2】的主要功能是向网络设备说明,一个特定IP地址的哪一部分包含网络地址与子网地址,哪一部分是主机地址。子网掩码
3.IPv6地址是采用128进制,分为8段,采用【3】表示。冒号十六进制表示
4.根据网络总体设计中物理拓扑设计的参数,确定以下两个主要数据:网络中最多可能有的子网数量、网络中最大网段已有的和可能扩展的'【4】数量。主机
5.CIDR地址的一个重要特点是:地址聚合和【5】的能力。路由聚合
三、分析题
1.阅读说明,回答问题。
【说明】某一网络地址块192.168.75.0中有5台主机A、B、C、D和E,它们的IP地址及子网掩码如下所示。
主机 IP地址 子网掩码
A 192.168.75.18 255.255.255.240
B 192.168.75.146 255.255.255.240
C 192.168.75.158 255.255.255.240
D 192.168.75.161 255.255.255.240
E 192.168.75.173 255.255.255.240
【问题1】5台主机A、B、C、D、E分属几个网段?哪些主机位于同一网段?
共有3个子网;B主机和C主机属于同一网段;D主机和E主机属于同一网段。
【问题2】主机D的网络地址为多少?
192.168.15.160
【问题3】若要加入第六台主机F,使它能与主机A属于同一网段,其IP地址范围是多少?
IP地址的设定范围应该是在192.168.15.17~192.168.15.30,并且不能为192.168.15.18。
【问题4】若在网络中另加入一台主机,其IP地址设为192.168.75.164,它的广播地址是多少?哪些主机能够收到?
广播地址是192.168.15.175;D主机和E主机可以收到该信息。
【问题5】若在该网络地址块中采用VLAN技术划分子网,何种设备能实现VLAN之间的数据转发?
路由器或三层交换机。
2.阅读说明,回答问题。
【说明】解决IP地址短缺的问题已经迫在眉睫,网络地址转换NAT技术是目前节省IP地址有效的技术之一。
【问题1】NAT技术是在哪两类地址间转换的技术?
内部专用IP地址公用IP地址
【问题2】这两类IP地址在Internet中都是唯一的吗?
内部专用IP地址在Internet中不是唯一的。公用IP地址在Internet中是唯一的
【问题3】最终解决IP地址枯竭的技术是什么?它是怎样解决的?
最终结决IP地址枯竭的技术是IPv6即使。它采用128位的地址长度。
篇10:网络安全工程师面试题
在IT安全的面试应聘过程中网络基础知识必须满足以下几点:
1、理解模型:尤其必须理解OSI、TCP/IP、Cisco和纵深防御网络模型。
2、理解第二层相关问题:包括了冲突域、广播域、交换与集线、端口安全以及生成树的相关主题
3、理解第三层相关问题:包含了IP路由协议;内部路由协议、如RIPv1/v2 和OSPF;外部路由协议,如BGP、子网络、超网络;网络地址转换(NAT)和IPv6
4、理解第四层相关问题:包含了TCP和UDP、会话的建立、报头和选项、端口地址转换以及常用端口
5、理解五到七层相关问题;包含了应用漏洞、特洛伊/蠕虫/病毒、内容过滤和IDS/ISP/IDP.
这里的大部分内容会在接下来详细讲解
一、什么是OSI模型?
这个问题涉及的范围很广,很难用简短的语言来回答,回答需要涉及七层和各层的相关协议,答案中非常重要的是封装概念的讨论……物理层:“比特流”、数据链路层“数据帧”、网络层“数据报”等等这些虽然很简单但是对于IT安全工作的求职很重要,自己上网查找或者翻阅书籍
二、什么是TCP/IP模型、它与OSI模型的关系如何?
基础中很重要的自己查找啊……
三、Cisco的标准框架是什么?
核心层、分布层(汇聚层)、接入层,每一层的概念需要了解
四、在OSI模型中如何实现纵深防御
对于网络工程师来说这是一个大问题。纵深防御可以从两个不同的角度来解释这个概念。首先,从分层安全机制的高度来理解,将其称作纵深防御。纵深防御是标准的方法论,它从三个层次强调安全需求:管理、技术和业务。在分层之前,建立纵深防御更注重的是策略和程序,而不是实际保护资源的安全机制。纵深防御包括物理安全和人为安全。正如问题所述,OSI模型是解释纵深防御概念的基础。大家应该都知道纵深防御意味着使用多种途径和多种保护方法实现安全保护。可以通过讨论OSI模型各层所采取的防护来了解纵深防御。作为公司,他会为物理线路聘用一个巡线员(第一层),在交换机上坐端口安全(第二层),在边界路由器上作访问列表(第三层),在防火墙中建立非管制区和包过滤(第四层)设置IDS/IDP监测/阻拦(第三~第七),建立SSL通道(第六层),设置内容过滤(第七层),提供AAA服务(第七层),进行漏洞扫描(第四~第七)和病毒扫描(第七层)等……
五、为什么说网络是基于层的?
所有的网络模型都是基于层的,这是为什么呢?本质上ISO推出层的概念是为了说明网络的逻辑功能。每一层都是独立的,提供了各自特殊的服务,因此有着各自的数据结构(报头/报尾)。在每一层都会对相应的报头和报尾进行处理,数据内容被压入堆栈。另外,考虑不同的厂商环境,提供相对独立的平台也是很有必要的。
六、生成树协议的原理是什么,它有什么用途,有哪些类型?
生成树协议应用于第二层,它的用途是消除网络环路,通过选择性的开通和堵塞端口控制网络传输来实现这一个目标……后边的省略
七、你知道多少常用的端口数
FTP端口21 Ssh服务端口22
Tenet端口23
查看端口的方法是:
C:WindowsSystem32driversetcservies用记事本打开就可以查看了
八、交换机的端口安全是如何实现的?
端口安全在现如今的企业专网中使用越来越广泛,而且由此造成的问题也越来越多。端口安全是交换机的一种特性,是指交换机在给定的端口上可以存储MAC地址,只有源于该地址的通信才被交换机允许。如果具有不同的MAC地址的设备是试图连接,交换机就会禁用端口并提示网络管理员。尽管有人提出端口安全限制了移动办公,但是它却提供了绝佳的控制网络接入的安全机制。
九、选路由协议和路由协议之间的区别是
十、什么是访问控制?
十一、什么是最小权限?
十二、如何定义机密性?
[网络安全工程师面试题]