软件工程师经典面试题及答案

软件工程师经典面试题及答案,第1张

1、为什么要在一个团队中开展软件测试工作

因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。

2、您所熟悉的软件测试类型都有哪些

测试类型有:功能测试,性能测试,界面测试。

功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。

3、您认为做好测试用例设计工作的关键是什么

白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:

1、是否有不正确或遗漏的功能

2、在接口上,输入是否能正确的接受能否输出正确的结果

3、是否有数据结构错误或外部信息(例如数据文件)访问错误

4、性能上是否能够满足要求

5、是否有初始化或终止性错误

软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:

1、对程序模块的所有独立的执行路径至少测试一遍。

2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性,等等。4、验收测试是部署软件之前的最后一个测试 *** 作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。

IDS 和IPS
从题库里找到的答案,加油!
IDS是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统
IDS是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”。专业上讲就是依照一定的安全策略,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。
我们做一个形象的比喻:假如防火墙是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统。一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告。
不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。在这里,"所关注流量"指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。在如今的网络拓扑中,已经很难找到以前的HUB式的共享介质冲突域的网络,绝大部分的网络区域都已经全面升级到交换式的网络结构。因此,IDS在交换式网络中的位置一般选择在:
(1)尽可能靠近攻击源
(2)尽可能靠近受保护资源
这些位置通常是:
•服务器区域的交换机上
•Internet接入路由器之后的第一台交换机上
•重点保护网段的局域网交换机上
防火墙和IDS可以分开 *** 作,IDS是个临控系统,可以自行选择合适的,或是符合需求的,比如发现规则或监控不完善,可以更改设置及规则,或是重新设置!
IPS:侵入保护(阻止)系统
导读:侵入保护(阻止)系统(IPS)是新一代的侵入检测系统(IDS),可弥补 IDS 存在于前摄及假阳性/阴性等性质方面的弱点。IPS 能够识别事件的侵入、关联、冲击、方向和适当的分析,然后将合适的信息和命令传送给防火墙、交换机和其它的网络设备以减轻该事件的风险。
侵入保护(阻止)系统(IPS)是新一代的侵入检测系统(IDS),可弥补 IDS 存在于前摄及假阳性/阴性等性质方面的弱点。IPS 能够识别事件的侵入、关联、冲击、方向和适当的分析,然后将合适的信息和命令传送给防火墙、交换机和其它的网络设备以减轻该事件的风险。
IPS 的关键技术成份包括所合并的全球和本地主机访问控制、IDS、全球和本地安全策略、风险管理软件和支持全球访问并用于管理 IPS 的控制台。如同 IDS 中一样,IPS 中也需要降低假阳性或假阴性,它通常使用更为先进的侵入检测技术,如试探式扫描、内容检查、状态和行为分析,同时还结合常规的侵入检测技术如基于签名的检测和异常检测。
同侵入检测系统(IDS)一样,IPS 系统分为基于主机和网络两种类型。
基于主机 IPS
基于主机的 IPS 依靠在被保护的系统中所直接安装的代理。它与 *** 作系统内核和服务紧密地捆绑在一起,监视并截取对内核或 API 的系统调用,以便达到阻止并记录攻击的作用。它也可以监视数据流和特定应用的环境(如网页服务器的文件位置和注册条目),以便能够保护该应用程序使之能够避免那些还不存在签名的、普通的攻击。
基于网络的 IPS
基于网络的 IPS 综合了标准 IDS 的功能,IDS 是 IPS 与防火墙的混合体,并可被称为嵌入式 IDS 或网关 IDS(GIDS)。基于网络的 IPS 设备只能阻止通过该设备的恶意信息流。为了提高 IPS 设备的使用效率,必须采用强迫信息流通过该设备的方式。更为具体的来说,受保护的信息流必须代表着向联网计算机系统或从中发出的数据,且在其中:
指定的网络领域中,需要高度的安全和保护和/或
该网络领域中存在极可能发生的内部爆发
配置地址能够有效地将网络划分成最小的保护区域,并能够提供最大范围的有效覆盖率。
IDS和IPS争议有误区
导读:对于“IDS和IPS(IDP)谁更能满足用户需求”这个问题,给人一种二选一的感觉。经过了长时间的反复争论,以及来自产品开发和市场的反馈,冷静的业内人士和客户已经看到这根本不是一个二选一的问题。
对于“IDS和IPS(IDP)谁更能满足用户需求”这个问题,给人一种二选一的感觉。经过了长时间的反复争论,以及来自产品开发和市场的反馈,冷静的业内人士和客户已经看到这根本不是一个二选一的问题。
很显然,用户需要的不是单一的产品,也不是众多产品的简单堆砌。现在一个比较流行的说法就是“信息安全保障体系(系统)”,也就是用户的安全是要靠众多技术、产品、服务和管理等要素组合成一个完整的体系,来解决所面临的安全威胁,以保护信息资产和正常业务。
在安全保障框架中,不同的产品、服务、措施会在不同的地方发挥作用。比如,PKI和生物鉴别机制的优势在鉴别认证领域能够很好地发挥作用;入侵检测则在监测、监控和预警领域发挥优势;防火墙和IPS能在访问控制领域发挥长处;数据加密和内容过滤在内容安全领域独领风骚。讨论不同的安全技术领域哪个更加符合用户的需求,其实不如探讨让各种安全技术如何有效地协同工作。
IPS真的能够替代防火墙和IDS吗?提供IPS(IDP)的厂商常常声称,其IPS能够兼具防火墙的网关防御能力和入侵检测的深度检测,企图达到把IPS的作用上升到1+1>2的效果。但是很遗憾,实际上并不是这样。我们必须从技术本质上寻找解决办法。目前IPS能够解决的主要是准确的单包检测和高速传输的融合问题。
当然,检测和访问控制如何协同和融合,将会一直是业内研究的课题,也将会有更多更好的技术形态出现。不管叫什么名字,适合用户需求的就是最好的。
三个维度区分IDS与IPS
导读:3年前,当入侵防御技术(IPS)出现时,咨询机构Gartner曾经预言,IDS(入侵检测)即将死亡,将由IPS取代,当时曾引起媒体一片讨论。2006年,咨询机构IDC断言,IDS与IPS是两种不同的技术,无法互相取代。而今天,依然有很多用户不清楚两者之间的差别。
中国人民银行的张涨是IDS的骨灰级用户,对IDS玩得非常熟,但即使这样,他也仅仅是听说IPS而已,并没有真正使用和见过。他的担心是:IPS既然是网络威胁的阻断设备,误报、误阻影响网络的连通性怎么办?北京银行的魏武中也认为,如果在网络的入口处,串接了一串安全设备:IPS、防火墙/VPM以及杀病毒网关等,怎么保证网络的效率?是否会因增添一种新的设备而引起新的单点故障的风险?
事实上,这些疑问一直如影随形地伴随着IPS的诞生和发展。以至于,在很多用户的安全设备的采购清单中,一直在出现“IDS或IPS”的选择,这证明用户依然不了解这两种技术的差别。
启明星辰公司的产品管理中心总监万卿认为,现在是重新审视这两种技术的时候了。他认为,要从三个维度上认清这两种技术的不同。
从趋势看差别
2004年,Gartner的报告曾经预言IDS即将死亡,但无论从用户的需求还是从厂商的产品销售来看,IDS依然处于旺盛的需求阶段,比如,国内最大的IDS生产厂商启明星辰公司,今年上半年IDS的增长超过了50%,并且,公司最大的赢利来源依然是IDS,事实证明,IDS即将死亡的论断是错误的。
万卿认为,IDC的报告是准确的,IDS和IPS分属两种不同产品领域,前者是一种检测技术,而后者是一种阻断技术,只不过后者阻断攻击的依据是检测,因此要用到很多的检测技术,很多用户就此搞混了。
从理论上看,IDS和IPS是分属两个不同的层次,这与用户的风险防范模型有关,用户首先要查找到风险,才能预防和阻断风险。而IDS是查找和评估风险的设备,IPS是阻断风险的设备。防火墙只能做网络层的风险阻断,不能做到应用层的风险阻断。过去,人们曾经利用防火墙与IDS联动的方式实现应用层的风险阻断,但由于是联动,阻断时间上会出现滞后,往往攻击已经发生了才出现阻断,这种阻断已经失去了意义,IPS就此产生。
用一句话概括,IDS是帮助用户自我评估、自我认知的设备,而IPS或防火墙是改善控制环境的设备。IPS注重的是入侵风险的控制,而IDS注重的是入侵风险的管理。也许有一天,通过IDS,我们能确定到底在什么地方放IPS?到底在什么地方放防火墙?这些设备应该配备哪些策略?并可以通过IDS检测部署IPS/防火墙的效果如何。
IDS与IPS各自的应用价值与部署目标
导读:从2003年 Gartner公司副总裁Richard Stiennon发表的《入侵检测已寿终正寝,入侵防御将万古长青》报告引发的安全业界震动至今,关于入侵检测系统与入侵防御系统之间关系的讨论已经趋于平淡,2006年IDC年度安全市场报告更是明确指出入侵检测系统和入侵防御系统是两个独立的市场,给这个讨论画上了一个句号。可以说,目前无论是从业于信息安全行业的专业人士还是普通用户,都认为入侵检测系统和入侵防御系统是两类产品,并不存在入侵防御系统要替代入侵检测系统的可能。但由于入侵防御产品的出现,给用户带来新的困惑:到底什么情况下该选择入侵检测产品,什么时候该选择入侵防御产品呢?笔者曾见过用户进行产品选择的时候在产品类型上写着“入侵检测系统或者入侵防御系统”。这说明用户还不能确定到底使用哪种产品,显然是因为对两类产品的区分不够清晰所致,其实从产品价值以及应用角度来分析就可以比较清晰的区分和选择两类产品。
从2003年 Gartner公司副总裁Richard Stiennon发表的《入侵检测已寿终正寝,入侵防御将万古长青》报告引发的安全业界震动至今,关于入侵检测系统与入侵防御系统之间关系的讨论已经趋于平淡,2006年IDC年度安全市场报告更是明确指出入侵检测系统和入侵防御系统是两个独立的市场,给这个讨论画上了一个句号。可以说,目前无论是从业于信息安全行业的专业人士还是普通用户,都认为入侵检测系统和入侵防御系统是两类产品,并不存在入侵防御系统要替代入侵检测系统的可能。但由于入侵防御产品的出现,给用户带来新的困惑:到底什么情况下该选择入侵检测产品,什么时候该选择入侵防御产品呢?笔者曾见过用户进行产品选择的时候在产品类型上写着“入侵检测系统或者入侵防御系统”。这说明用户还不能确定到底使用哪种产品,显然是因为对两类产品的区分不够清晰所致,其实从产品价值以及应用角度来分析就可以比较清晰的区分和选择两类产品。
从产品价值角度讲:入侵检测系统注重的是网络安全状况的监管。用户进行网络安全建设之前,通常要考虑信息系统面临哪些威胁;这些威胁的来源以及进入信息系统的途径;信息系统对这些威胁的抵御能力如何等方面的信息。在信息系统安全建设中以及实施后也要不断的观察信息系统中的安全状况,了解网络威胁发展趋势。只有这样才能有的放矢的进行信息系统的安全建设,才能根据安全状况及时调整安全策略,减少信息系统被破坏的可能。
入侵防御系统关注的是对入侵行为的控制。当用户明确信息系统安全建设方案和策略之后,可以在入侵防御系统中实施边界防护安全策略。与防火墙类产品可以实施的安全策略不同,入侵防御系统可以实施深层防御安全策略,即可以在应用层检测出攻击并予以阻断,这是防火墙所做不到的,当然也是入侵检测产品所做不到的。
从产品应用角度来讲:为了达到可以全面检测网络安全状况的目的,入侵检测系统需要部署在网络内部的中心点,需要能够观察到所有网络数据。如果信息系统中包含了多个逻辑隔离的子网,则需要在整个信息系统中实施分布部署,即每子网部署一个入侵检测分析引擎,并统一进行引擎的策略管理以及事件分析,以达到掌控整个信息系统安全状况的目的。
而为了实现对外部攻击的防御,入侵防御系统需要部署在网络的边界。这样所有来自外部的数据必须串行通过入侵防御系统,入侵防御系统即可实时分析网络数据,发现攻击行为立即予以阻断,保证来自外部的攻击数据不能通过网络边界进入网络。
IDS是依照一定的安全策略,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。IPS 能够识别事件的侵入、关联、冲击、方向和适当的分析,然后将合适的信息和命令传送给防火墙、交换机和其它的网络设备以减轻该事件的风险。

网络工程师面试题 1: 交换机是如何转发数据包的
交换机通过学习数据帧中的源MAC地址生成交换机的MAC地址表,交换机查看数据帧的目标MAC地址,根据MAC地址表转发数据,如果交换机在表中没有找到匹配项,则向除接受到这个数据帧的端口以外的所有端口广播这个数据帧。
2 简述STP的作用及工作原理
作用:(1) 能够在逻辑上阻断环路,生成树形结构的拓扑;
(2) 能够不断的检测网络的变化,当主要的线路出现故障断开的时候,STP还能通过计算激活阻起到断的端口,起到链路的备份作用。
工作原理: STP将一个环形网络生成无环拓朴的步骤:
选择根网桥(Root Bridge)
选择根端口(Root Ports)
选择指定端口(Designated Ports)
生成树机理
每个STP实例中有一个根网桥
每个非根网桥上都有一个根端口
每个网段有一个指定端口
非指定端口被阻塞 STP是交换网络的重点,考察是否理解
3:简述传统的多层交换与基于CEF的多层交换的区别
简单的说:传统的多层交换:一次路由,多次交换
基于CEF的多层交换:无须路由,一直交换
4:DHCP的作用是什么,如何让一个vlan中的DHCP服务器为整个企业网络分配IP地址
作用:动态主机配置协议,为客户端动态分配IP地址
配置DHCP中继,也就是帮助地址(因为DHCP是基于广播的,vlan 或路由器隔离了广播)
5:有一台交换机上的所有用户都获取不了IP地址,但手工配置后这台交换机上的同一vlan间的用户之间能够相互ping通,但ping不通外网,请说出排障思路
1:如果其它交换机上的终端设备能够获取IP地址,看帮助地址是否配置正确;
2:此交换机与上连交换机间是否封装为Trunk
3:单臂路由实现vlan间路由的话看子接口是否配置正确,三层交换机实现vlan间路由的话看是否给vlan配置ip地址及配置是否正确
4:再看此交换机跟上连交换机之间的级连线是否有问题;
排障思路
6:什么是静态路由?什么是动态路由?各自的特点是什么?
静态路由是由管理员在路由器中手动配置的固定路由,路由明确地指定了包到达目的地必须经过的路径,除非网络管理员干预,否则静态路由不会发生变化。静态路由不能对网络的改变作出反应,所以一般说静态路由用于网络规模不大、拓扑结构相对固定的网络。
静态路由特点
1、它允许对路由的行为进行精确的控制;
2、减少了网络流量;
3、是单向的;
4、配置简单。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由表的过程。是基于某种路由协议来实现的。常见的路由协议类型有:距离矢量路由协议(如RIP)和链路状态路由协议(如 OSPF)。路由协议定义了路由器在与其它路由器通信时的一些规则。动态路由协议一般都有路由算法。其路由选择算法的必要步骤
1、向其它路由器传递路由信息;
2、接收其它路由器的路由信息;
3、根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成路由选择表;
4、根据网络拓扑的变化及时的做出反应,调整路由生成新的路由选择表,同时把拓扑变化以路由信息的形式向其它路由器宣告。
动态路由适用于网络规模大、拓扑复杂的网络。
动态路由特点:
1、无需管理员手工维护,减轻了管理员的工作负担。
2、占用了网络带宽。
3、在路由器上运行路由协议,使路由器可以自动根据网络拓朴结构的变化调整路由条目;
能否根据具体的环境选择合适的路由协议
7:简述有类与无类路由选择协议的区别
有类路由协议:路由更新信息中不含有子网信息的协议,如RIPV1,IGRP
无类路由协议:路由更新信息中含有子网信息的协议,如OSPF,RIPV2,IS-IS,EIGRP 是否理解有类与无类
8:简述RIP的防环机制
1定义最大跳数 Maximum Hop Count (15跳)
2水平分割 Split Horizon (默认所有接口开启,除了Frame-Relay的物理接口,可用sh ip interface 查看开启还是关闭)
3毒化路由 Poizoned Route
4毒性反转 Poison Reverse (RIP基于UDP,UDP和IP都不可靠,不知道对方收到毒化路由没有;类似于对毒化路由的Ack机制)
5保持计时器 hold­-down Timer (防止路由表频繁翻动)
6闪式更新 Flash Update
7触发更新 Triggered Update (需手工启动,且两边都要开 Router (config-if)# ip rip triggered )
当启用触发更新后,RIP不再遵循30s的周期性更新时间,这也是与闪式更新的区别所在。
RIP的4个计时器:
更新计时器(update): 30 s
无效计时器(invalid): 180 s (180s没收到更新,则置为possible down状态)
保持计时器(holddown): 180s (真正起作用的只有60s)
刷新计时器(flush): 240s (240s没收到更新,则删除这条路由)
如果路由变成possible down后,这条路由跳数将变成16跳,标记为不可达;这时holddown计时器开始计时。
在holddown时间内即使收到更优的路由,不加入路由表;这样做是为了防止路由频繁翻动。
什么时候启用holddown计时器: “当收到一条路由更新的跳数大于路由表中已记录的该条路由的跳数”
9:简述电路交换和分组交换的区别及应用场合 电路交换连接
根据需要进行连接
每一次通信会话期间都要建立、保持,然后拆除
在电信运营商网络中建立起来的专用物理电路
分组交换连接
将传输的数据分组
多个网络设备共享实际的物理线路
使用虚电路/虚通道(Virtual Channel)传输
若要传送的数据量很大,且其传送时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。
10:简述PPP协议的优点 支持同步或异步串行链路的传输
支持多种网络层协议
支持错误检测
支持网络层的地址协商
支持用户认证
允许进行数据压缩
11: pap和chap认证的区别
PAP(口令验证协议 Password Authentication Protocol)是一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。
CHAP(挑战-握手验证协议 Challenge-Handshake Authentication Protocol)是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。
CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的 *** 作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。
12:ADSL是如何实现数据与语音同传的
物理层:频分复用技术(高频传输数据,低频传输语音)具体讲解的话可以说明:调制,滤波,解调的过程
13:OSPF中那几种网络类型需要选择DR,BDR
广播型网络和非广播多路访问NBMA网络需要选
14:OSPF中完全末梢区域的特点及适用场合
特点:不能学习其他区域的路由
不能学习外部路由
完全末梢区域不仅使用缺省路由到达OSPF自主系统外部的目的地址,而且使用这个缺省路由到达这个区域外部的所有目的地址一个完全末梢区域的ABR不仅阻塞AS外部LSA,而且阻塞所有汇总LSA
适用场合:只有一出口的网络
15:OSPF中为什么要划分多区域
1、减小路由表大小
2、限制lsa的扩散
3、加快收敛
4、增强稳定性
16:NSSA区域的特点是什么
1可以学习本区域连接的外部路由;
2不学习其他区域转发进来的外部路由
17:你都知道网络的那些冗余技术,请说明
交换机的冗余性:spanning-tree、ethernet-channel
路由的冗余性:HSRP,VRRP,GLBP
(有必要的话可以详细介绍)
18:HSRP的转换时间是多长时间
10s
19:标准访问控制列表和扩展访问控制列表的区别
标准访问控制列表:基于源进行过滤
扩展访问控制列表: 基于源和目的地址、传输层协议和应用端口号进行过滤
20:NAT的原理及优缺点
原理:转换内部地址,转换外部地址,PAT,解决地址重叠问题
优点:节省IP地址,能够处理地址重复的情况,增加了灵活性,消除了地址重新编号,隐藏了内部IP地址
缺点:增加了延迟,丢失了端到端的IP的跟踪过程,不能够支持一些特定的应用(如:SNMP),需要更多的内存来存储一个NAT表,需要更多的CPU来处理NAT的过程
21: 对称性加密算法和非对称型加密算法的不同?
对称性加密算法的双方共同维护一组相同的密钥,并使用该密钥加密双方的数据,加密速度快,但密钥的维护需要双方的协商,容易被人窃取;非对称型加密算法使用公钥和私钥,双方维护对方的公钥(一对),并且各自维护自己的私钥,在加密过程中,通常使用对端公钥进行加密,对端接受后使用其私钥进行解密,加密性良好,而且不易被窃取,但加密速度慢
22: 安全关联的作用?
SA分为两步骤:1IKE SA,用于双方的对等体认证,认证对方为合法的对端;2IPSec SA,用于双方认证后,协商对数据保护的方式
23: ESP和AH的区别?
ESP除了可以对数据进行认证外,还可以对数据进行加密;AH不能对数据进行加密,但对数据认证的支持更好
24: snmp的两种工作方式是什么,有什么特点
首先,SNMP是基于UDP的,有两种工作方式,一种是轮询,一种是中断
轮询:网管工作站随机开端口轮询被管设备的UDP的161端口
中断:被管设备将trap报文主动发给网管工作站的UDP的162端口
特点:轮询一定能够查到被管设备是否出现了故障,但实时性不好
中断实时性好(触发更新),但不一定能够将trap报文报告给网管工作站

java软件工程师面试题集
EJB方面
1、EJB20有哪些内容分别用在什么场合 EJB20和EJB11的区别
答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS
2、EJB与JAVA BEAN的区别?
答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
3、EJB的基本架构
答:一个EJB包括三个部分:
Remote Interface 接口的代码
package Beans;
import javaxejbEJBObject;
import javarmiRemoteException;
public interface Add extends EJBObject
{
//some method declare
}
Home Interface 接口的代码
package Beans;
import javarmiRemoteException;
import jaaxejbCreateException;
import javaxejbEJBHome;
public interface AddHome extends EJBHome
{
//some method declare
}
EJB类的代码
package Beans;
import javarmiRemoteException;
import javaxejbSessionBean;
import javxejbSessionContext;
public class AddBean Implements SessionBean
{
//some method declare
}
J2EE,MVC方面
1、MVC的各个部分都有那些技术来实现如何实现
答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
2、应用服务器与WEB SERVER的区别?
希望大家补上,谢谢
3、J2EE是什么?
答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model)在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
答:Web Service描述语言WSDL
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
5、BS与CS的联系与区别。
希望大家补上,谢谢
6、STRUTS的应用(如STRUTS架构)
答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能:
一包含一个controller servlet,能将用户的请求发送到相应的Action对象。
二JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
三提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
设计模式方面
1、开发中都用到了那些设计模式用在什么场合
答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。
2、UML方面
答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图,
JavaScript方面
1、如何校验数字型
var re=/^d{1,8}$|d{1,2}$/;
var str=documentform1all(i)value;
var r=strmatch(re);
if (r==null)
{
sign=-4;
break;
}
else{
documentform1all(i)value=parseFloat(str);
}
CORBA方面
1、CORBA是什么用途是什么
答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互 *** 作的协议。 其目的为:
用不同的程序设计语言书写
在不同的进程中运行
为不同的 *** 作系统开发
LINUX方面
1、LINUX下线程,GDI类的解释。
答:LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。
GDI类为图像设备编程接口类库。
1、面向对象的三个基本特征
2、方法重载和方法重写的概念和区别
3、接口和内部类、抽象类的特性
4、文件读写的基本类
5、串行化的注意事项以及如何实现串行化
6、线程的基本概念、线程的基本状态以及状态之间的关系
7、线程的同步、如何实现线程的同步
8、几种常用的数据结构及内部实现原理。
9、Socket通信(TCP、UDP区别及Java实现方式)
10、Java的事件委托机制和垃圾回收机制
11、JDBC调用数据库的基本步骤
12、解析XML文件的几种方式和区别
13、Java四种基本权限的定义
14、Java的国际化
二、JSP
1、至少要能说出7个隐含对象以及他们的区别
2、forward 和redirect的区别
3、JSP的常用指令
三、servlet
1、什么情况下调用doGet()和doPost()?
2、servlet的init()方法和service()方法的区别
3、servlet的生命周期
4、如何现实servlet的单线程模式
5、servlet的配置
6、四种会话跟踪技术
四、EJB
1、EJB容器提供的服务
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
2、EJB的角色和三个对象
EJB角色主要包括Bean开发者 应用组装者 部署者 系统管理员 EJB容器提供者 EJB服务器提供者
三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类
2、EJB的几种类型
会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean
会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种
实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种
3、bean 实例的生命周期
对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。
4、激活机制
以Statefull Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。
5、remote接口和home接口主要作用
remote接口定义了业务方法,用于EJB客户端调用业务方法
home接口是EJB工厂用于创建和移除查找EJB实例
6、客服端调用EJB对象的几个基本步骤
一、 设置JNDI服务工厂以及JNDI服务地址系统属性
二、 查找Home接口
三、 从Home接口调用Create方法创建Remote接口
四、 通过Remote接口调用其业务方法
五、数据库
1、存储过程的编写
2、基本的SQL语句
六、weblogic
1、 如何给weblogic指定大小的内存
在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M
2、 如何设定的weblogic的热启动模式(开发模式)与产品发布模式
可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加set PRODUCTION_MODE=true。
3、 如何启动时不需输入用户名与密码
修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在bootproperties文件中增加加密过的用户名和密码
4、 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中
保存在此Domain的configxml文件中,它是服务器的核心配置文件。
5、 说说weblogic中一个Domain的缺省目录结构比如要将一个简单的helloWorldjsp放入何目录下,然的在浏览器上就可打入>回答!
1 一般都是个域环境 如果是大型的网络的话 那可能就是多域了
2 小型机的话 包括很多的 ibm的aix系统 hp的hpux san的solaris系统 你如果对linux较熟悉的话 对这样的unix系统 你会很快的熟悉的 服务器的话 没什么东西 主要是软的方面 就是win和linux下的各种服务器的架设和维护 路由交换的话 我相信你ccnp绝对够用了 因为企业的路由很多是全套高端的 监控的意思 就是在服务器里面开启snmp管理
3 维护管理的话 这个简单
4 安全方面的话 你最好会点isa和iptables防火墙的 最好安个网络版的杀毒软件
5 简单
6 这个没什么的 就是在线管理的dns什么的 指定个web或者是mail的mx什么的 很图形话的东西
7 。。。没了
没有经验的话 这样就有点麻烦了 说真的 你没有经验的话 做技术的经理 很快就可以判断出你的水平的
面试的话 一般都会问 arp的解决的办法 然后就是 网络瘫痪了怎么办 如果路由器坏了或者是没有了 反正就是类似的问题 你怎么解决(简单的用win的ics或者是nat 要不就是linux的squid 不怕麻烦的话 就用软路由) exchange服务器的架设的过程
好了 我说了这么多 多给点分吧 可以吗???
嘿嘿 不会的在找我吧!

其实每家公司面试侧重点是不一样的,所以会出现不同的面试题,所以在平时的工作中就可以不断总结积累,给你分享面试题基础总结:
1、 JVM结构原理、GC工作机制详解
答:具体参照:JVM结构、GC工作机制详解,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法 b、可达性分析算法( 这里的可达性,大家可以看基础2 Java对象的什么周期),至于更详细的GC算法介绍,大家可以参考:Java GC机制算法
2、Java对象的生命周期
答:创建阶段 、 应用阶段 、不可见阶段 、不可达阶段 、收集阶段 、终结阶段、 对象空间重新分配阶段等等,具体参照:Java 对象的生命周期
3、Map或者HashMap的存储原理
答:HashMap是由数组+链表的一个结构组成,具体参照:HashMap的实现原理
4、当数据表中A、B字段做了组合索引,那么单独使用A或单独使用B会有索引效果吗?(使用like查询如何有索引效果)
答:看A、B两字段做组合索引的时候,谁在前面,谁在后面,如果A在前,那么单独使用A会有索引效果,单独使用B则没有,反之亦然。同理,使用like模糊查询时,如果只是使用前面%,那么有索引效果,如果使用双%号匹配,那么则无索引效果
5、数据库存储日期格式时,如何考虑时区转换问题?
6、JavaObject类中有哪些方法?
7、>只要数据量级大(或者是数据复杂度,或者是其他方面的量级大)到普通的处理方法无法处理地实际上都可以算作是大数据开发,只不过一般大数据开发目前招聘的很多都是做数据处理的。有如下几个方向:1)数据挖掘是大数据处理地一个方向,这里做数据挖掘要有一些统计学基础才能做,目前数据挖掘的方向其实不是很明确,和人工智能,机械学习也有一些关系,如果是做数据挖掘,基本的数据会由数据平台部或数据运维部门提供2)数据平台的开发(这里的平台开发在不同公司的内容又不一样,小公司可能是根据公司业务做一套完整的数据分析系统,大公司这个职位可能是一些开源组件的二次开发)3)大数据运维方向:比如hadoop,spark集群的运维,涉及到ha等内容4)大数据分析方向:有的公司会将职责细化,招聘一些专业的分析人员,去写hql或者是其它类sql来对数据进行分析最后,其实大数据平台相关工作的划分并不清晰,行业里没有统一标准,大公司小公司情况不同。关于技术方向更是用什么的都有,比如有的公司用spark,有的用impala,还有的用clickhouse等,最近flink也逐渐进入大家的视野。所以在找工作时应该要考虑的是自己的强项是什么,同时在选择工作时要考虑到这个工作在做了三五年后,从这家公司出来还能不能找到工作。我个人的建议是如果你会java,那不要脱离java(scala)语言去做大数据开发,也不要专业只去做数据分析工作,大数据行业目前仍旧有一些泡沫(个人看法),很多组件仍旧是基于java的,一旦脱离java语言本身,那源码阅读,二次开发都会有问题,同时生产环境自动化去执行一些代码也是需要语言支持的,或者最差的预估,如果大数据行业严重缩水(比如某些公司可以分析,可以挖掘的内容有限),可以随时转到java服务器开发方向。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13312569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-12
下一篇 2023-07-12

发表评论

登录后才能评论

评论列表(0条)

保存