net软件工程师面试题(通用10篇)
.net软件工程师是IT行业具有前景的一个职业,从学习到就业期间要经历很多,除了学习之外,面试中也蕴含了很多技巧和知识点,有的也不是在学习专业知识中所能获得了,这一点已经被很多人多认同了,要想在拥真正技能的同时就职于一个很好的企业,面试题也是一个需要掌握的技能。
以下所总结的都是根据深圳达内福田培训中心学员的口述和经历中总结出来的,希望对于每一个想从事与.net软件工程师执业的学员来说是一个很好的借鉴。如果想了解更多关于福田达内培训有关.net面试题的知识点,可以打电话咨询0755-82353533 也可以直接登陆网站查询。
1.你是哪个学校毕业的,学的什么专业?有没有参加过专业的培训?
答:我是深圳大学毕业的,学的是计算机专业,毕业后在朋友的推荐下进入深圳达内福田培训中心学习,主要学的是.net
2.XmlSerializer是如何工作的?使用这个类的进程需要什么ACL权限?
答:我只知道XmlSerializer是将对象的属性和字段进行序列化和反序列化的,序列化成为xml数据,反序列化再将xml转换成对象。应该至少需要ACL权限中的读权限.3.Debug Build和Release Build的区别,是否会有明显的速度变化?请说明理由。
答:Debug会产生pdb文件,release不会。Debug用于开发时的调试,不能要于部署,而release用于部署.debug编译一些特殊代码,比如#IFDEBUG Debug.Write等,而Release则会将那些特殊标记省略
4.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
5.sleep()和 wait()有什么区别?
答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。
wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
int[] intArr = new int[100];
Random rnd = new Random();while(myList.Count < 100){int num = rnd.Next(1, 101);if(!myList.Contains(num))myList.Add(num);}for(int i = 0;i < 100;i++)intArr[i] =(int)myList[i];6.DataReader与Dataset有什么区别?DataSet可以离线处理,前后滚动 和进行数据更新.DataReader不能离线处理,是个只读向前的游标,但速度会很快DataSet可以存储数据库各种对象的,比如表触发器等,而DataReader只能存储游标记录7.ASP。NET与ASP相比,主要有哪些进步?答:asp解释形,aspx编译型,性能提高,有利于保护源码。8.不定项选择:(1)以下叙述正确的是:bcA.接口中可以有虚方法。B.一个类可以实现多个接口。C.接口不能被实例化。D.接口中可以包含已实现的方法。(2)从数据库读取记录,你可能用到的方法有:bcdA.ExecuteNonQueryB.ExecuteScalarC.FillD.ExecuteReader9.列举ASP.NET 页面之间传递值的几种方式。
答:
session(viewstate)简单,但易丢失
application全局
cookie简单,但可能不支持,可能被伪造
input type=“hidden”简单,可能被伪造
url参数简单,显示于地址栏,长度有限
数据库稳定,安全,但性能相对弱
10.简述 private、protected、public、internal 修饰符的访问权限。
答:public 不受限制的访问
Private 只能在本类中访问
Protected 本类和继承与他的类中的都能访问
Internal 同一个应用程序或类库中
11.写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键,注意:ID可能不是连续的。)
答:select top 10 from a whereid not in(select top 30 from a)
或:select top 10 from a whereid >(select max(id)from(select top 30 from a)as b)
12.C#中接口和类有什么异同?
答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。
结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。
13.SQL SERVER 中的存储过程的理解?
关键词:地理信息系统,高斯正反算,坐标换带
1 概述
测绘生产是关乎国计民生的先行工作, 涉及国防安全、经济建设、人民生活等各个方面, 测绘产品有多样性, 关系国防安全的北斗系统、军事测绘;经济建设的大地测量、工程测量;人民生活中的GPS导航、电子地图等都离不开测绘产品。在测绘产品的生产过程中, 作为测绘工作者特别是测绘成果管理部门工作人员, 不仅应注意提供成果的有效性和准确性;还应注意测绘成果的管理有序性和安全性, 笔者从事多年的测绘成果管理工作, 在实际管理过程中, 了解到不同的部门和单位对坐标成果的需求不尽相同, 有的需要提供西安80坐标系下的经纬度, 有些需要提供北京54坐标系下的平面坐标;有些需要提供3度带坐标成果, 有些需要提供1.5度带或地方任意中央子午线的成果, 新的项目还要提供CGCS2000坐标系下的成果, 而在成果管理过程中, 从省级测绘地理信息局领取的一般为标准的3度带或者6度带坐标系成果, 这就需要根据实际的项目需求提供相应的高斯投影正反算和坐标换带, 以获得相应的坐标系下的坐标 (地理坐标系、平面坐标系或空间直角坐标系) 或不同中央子午线下的高斯平面坐标。而在测绘成果的分发过程中还会遇到大地测量控制成果的安全性, 笔者也通过多年的管理和分析, 与大家一起探讨如何实现成果的高效分发及测绘成果脱密管理。
2 基本原理
高斯投影正算为已知大地坐标 (B, L) 及中央子午线, 求取高斯平面坐标, 如式 (1) , 式 (2) 所示。
而高斯反算为已知高斯平面直角坐标 (x, y) 及指定中央子午线L0, 求取大地坐标 (B, L) , 如式 (3) , 式 (4) 所示。
为了限制投影变形, 高斯投影采用分带投影的方法, 在测绘工程中, 主要用到的坐标带为3度带和1.5度带, 还有带有抵偿面的3度带和1.5度带, 为了限制投影变形而采用的分带投影造成了投影不连续的缺点。在实际作业过程中, 根据项目的实际精度需求和测区的经纬度情况来确定中央子午线的选取和分带。
坐标换带主要应用于比较大的测区中, 主要有两种情况, 一是在测绘航空摄影, 当航摄范围刚好处在分带边缘, 就容易产生一个摄区出现2个分带的情况, 这就需要提供不同分带下的坐标成果, 来作为像控点的起算成果;二是在起算成果来源上, 国家等级控制点主要有3度带和6度带, 而在日常大比例尺测图和工程测量中, 常用的分带为1.5度带, 这就需要测绘成果实现坐标的换带。
坐标换带其实就是高斯投影正反算二次转换, 实质是把椭球面上的大地坐标作为过渡坐标。如已知 (x, y) , 新、旧带轴子午线的经度L旧0, L新0, 计算过程主要有如下三步:
1) 由高斯投影反算公式计算: (x, y) (x, y) 旧→ (B, l) , l=L-L旧0;
3) 由高斯投影正算公式计算: (B, l) → (x, y) 新。
3 程序实现
在对各种坐标数据进行成果转换之前, 应确定所待转的原始成果属于哪些坐标系统的, 我国常用的坐标系统主要有4种, 另附上我国1952年之前使用过的海福特椭球参数。具体的参数如表1所示。
要实现高斯坐标批量转换和坐标换带功能, 在程序开发中主要是涉及到.NET文本的读写编辑、数组的使用、循环语句等, 还要将繁杂的公式算法转化为计算机可读语言。图1, 图2为程序运行界面。
通过对数据的转换, 与相同的商业测绘成果转换软件进行比较, 成果较差在3 mm以内, 考虑出现细微差别为计算机系统计算偏差, 成果完全符合转换的精度要求。
在测绘成果日常应用中, 如果成果只是内部使用, 传统的做法, 一般采用签署涉密协议, 成果追踪的方式实现, 提供的坐标成果为真实的坐标成果, 这给测绘成果管理带来了一定的隐患, 笔者在软件中使用了成果脱密的功能, 在一般的项目中, 提供成果脱密, 在转换好的成果中利用Random方法, 给成果系统加上一个随机的平移参数, 系统将平移参数值自动记录于一个加密的成果表文件中。待外业测绘完成以后, 成果提交时, 将坐标成果恢复, 将正确的成果提交给项目业主, 确保测绘成果在制作过程中的安全性。
4 结语
市面上关于测绘软件的产品很多, 关于测绘成果管理的数据库也很多, 但是结合单位自身特色的软件却很少, 考虑到测绘产品的特殊性, 自主开发相关的测绘管理软件, 有利于测绘成果的安全, 也有利于结合单位的自身特点有针对性的进行研发, 提高作
参考文献
[1]王海葳.基于ARCGIS的军事测绘成果管理系统研究与应用[D].北京:清华大学, 2008.
[2]李德仁, 苗前军, 邵振峰.信息化测绘体系的定位与框架[J].武汉大学学报 (信息科学版) , 2007, 32 (3) :189-192.
[3]余旭, 邓跃进, 邵全琴.测绘档案管理信息系统的设计和开发[J].测绘技术装备, 2005 (2) :7-9.
[4]张译丰.信息化测绘及其在土地开发管理中应用[J].吉林建筑工程学院学报, 2010, 27 (3) :33-35.
[5]陈焕然, 李奇.基于ASP.NET的测绘工作管理系统的设计与实现[J].城市勘测, 2012 (5) :63-66.
笔试题, 工程, 软件测试
一、数量关系
1、甲乙2人比赛爬楼梯,已知每层楼梯相同,速度不变,当甲到3层时,乙到2层,照这样计算,当甲到9层时,乙到(A)层
A.5 B.6 C.7 D.82、有一份选择题试卷共6个小题,其得分标准是:一道小题答对得8分,答错得0分,不答得2分,某位同学得了20分,则他(D)
A.至多答对一道题 B.至少有三个小题没答 C.至少答对三个小题 D.答错两小题
3、有只蜗牛要从一口井底爬出来。井深20尺。蜗牛每天白天向上爬3尺,晚上向下滑2尺。请问 该蜗牛几天才能爬出井口?A
A.20 B.19 C.18 D.154、下列哪一个计算结果最接近1.25×8的值?A
A.3.3×3 B.1.7×6 C.1.6×6 D.2.1×
5二、逻辑推理
1、住在某个旅馆的同一房间的四个人A、B、C、D正在听一组流行音乐,她们当中有一个1人在修指甲,2一个人在写信,一3个人躺在床上,另4一个人在看书。
1)A不在修指甲,也不在看书
32)B不躺在床上,也不在修指甲;
43)如果A不躺在床上,那么D不在修指甲;
4)C既不在看书,也不在修指甲;
25)D不在看书,也不躺在床上。
1她们各自在做什么呢?
2、一种香,分布不均匀,点燃以后会燃烧整1个小时,问如何确定半个小时和45分钟。
三、职业素质测试
1你认为软件测试工程师最应该具备的职业素质是(A)。
A 编码能力 B 逻辑能力 C 管理能力 D 协调能力
2求职面试准备阶段,你认为你最应该准备什么(D)。
A 服装 B 技术 C 简历 D 应聘公司背景
3入职第一天你最应该准备什么(C)。
A 服装 B 小礼物 C 心态 D 上班路线
4你最喜欢的领导是(C)。
A 温和型 B 情绪型 C 技术型 D 谋略型
5你最喜欢服务的企业是(D)。
A 国企 B 私企 C 合资企业 D 外资企业
6你认为测试工程师在一个开发团队中是(A)。
A 非常重要 B 可有可无 C 没有程序员重要
7你认为一份“好工作”的标准是(C)。A 工资待遇高 B 工作环境好C 发展前途好 D 能锻炼人8以下是行业发展周期和人才供给的对应图,您觉得自己该何时切入这个行业?(B)。
A 引入期 B成长期 C 成熟期 D 衰退期
9如果你进入北大方正从事软件测试工作,你认为除了测试技术之外,做好本职工作你最需要具备的还有:(B)。
A深刻了解企业文化 B培养团队协作意识 C加强自我学习D良好的语言表达能力
10当工作中因为意见不同和领导发生冲突,而您又认为您的意见完全正确时,您会选择以下哪种解决方案(C)?
A当时即和领导激烈争执,坚持正确观点.B当时即召集同事,通过辩论的方式由大家对不同意见进行判断.C当时对领导观点不发表意见,事后通过邮件或当面等方式向领导建议.D当时对领导观点表示认同,期望通过以后的事实证明双方观点的对错.四、职业兴趣测试
下面各道题,请根据自己的实际情况作出回答。符合的回答“是”;疑惑的回答“?”;不符合的回答“否”
R:
1、你在中学里喜欢做实验吗?是
2、你喜欢尝试着做一些木工、电工、钳工、修钟表、印照片等其中的一件或几件事情吗?是或者你对织毛衣、绣花、裁剪等很感兴趣吗?否
3、当你家里有些东西需要修补时(诸如窗子关不严了、门锁上而忘带钥匙了、凳子坏了、衣服不合身了等),常常是由你做的吗?是
I:
1、你对电视或单位的智力竞赛很感兴趣吗?否
2、你经常翻阅图书吗?(文艺小说除外)是
3、你总想要知道一件新产品或新事物的构造或工作原理吗?是
4、看推理小说或电影时,你常常试图在结果出来以前分析出谁是罪犯,并且这种分析时常和小说或电影的结果相吻合? 是
S:
1.你主动给朋友写信或打电话吗?是
2、你很愿意参加学校单位或社会团体组织的各种活动吗?是
3、你看到不认识的人遇到困难时,能主动去帮助他或向他表示同期也安慰的心情吗? 是
4、你喜欢去新场所活动并结交新朋友吗?是
C:
1、你能按领导或老师的要求尽自己的能力做好每一件事吗?是
2、在讨论会上,如果不少人已经讲的观点与你的不同,你就不发表自己的观点了吗?否
3、你喜欢重复别人已经做过的事情而不喜欢做那些要自己动脑筋摸索着干的事吗?否
4、你喜欢做那些已经习惯了的工作,同时这种工作责任心小一些,工作时还能聊聊天,听听歌曲吗?否
五、简答题
1、简述你今后五年的职业生涯规划。
2、简述你心目中软件测试工程师的工作前景及工作内容。
3、简述你掌握一门新知识的方法和技巧
1.什么是信息管理系统,你觉得信息管理系统的核心是什么?为什么?
2.什么是数据库?什么是关系数据库?解释概念:主键,外键,索引
3.你对测试的理解?
4.如果你是一个自行车质量检测员,应该从哪几个重点来测试,为什么,且怎么检测?如果你只能选择3个主要的功能,你会选择哪几种?
专业题:
1.数据库,关于一个餐厅提供价格不等的咖啡,分大小杯,另有价格不等的食物,用户在餐厅的用餐也要根据消费时间来进行收费。服务员会拿着记账机到每一张桌子进行结账,当用户结完帐后可以办理会员卡。会员卡信息包含消费总额,并根据不同的额度又不用的折扣率。针对这些信息设计相关数据库,并划出E-R图。(这个题当时没做)
2.给出了流程图,遍历S点到G点。写出遍历案例!(感觉还是比较容易做的,具体图就不画了)
3.Java题,看输出。
public class Userouter
{
public static void main(String[] args)
{
Outer uter=new Outer(args);
outer.print();
}
}
public class Outer
{
private String[] uterval=new String[]{“this”,“is”,“a”,“test!”};
public Outer(String[] Ival)
{outerval=Ival;}
class Inner
{
void display()
{
for(int i=0;i
System.out.println(outerval[i]);
}
}public void print(){Inner inner=new Inner();inner.display();}}
输入" Java userouter I can answer this question”运行结果是什么?并简单解释程序逻辑?
运行结果:I can answer this question
程序逻辑:new Outer(args)构造对象,并调用构造函数 public Outer(String[] Ival)对其进行初始化,并调用其print()方法,print()方法中new Inner()构造inner对象,并用对象调用其display()方法。
4.class sin
{
Private static final sin newsin=new sin();
Private sin(){}
Public static sin Getsin(){return newsin;}
Public void Test(){}
}
答:不是。可以用任意类型。
15.什么是装箱和拆箱?
答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。
7.什么是受管制(托管)的代码?
答:
托管代码是运行.NET 公共语言运行时CLR的代码
unsafe:非托管代码。不经过CLR运行。程序员自行分配和释放内存空间
8.什么是Code-Behind技术?
答:代码后置。
9.在.net中,配件的意思是?
答:程序集。(中间语言,源数据,资源,装配清单)
10. 简述 private、protected、public、internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
11.列举ASP.NET 页面之间传递值的几种方式。
答. 1.使用QueryString, 如....?id=1; response. Redirect()....
2.使用Session变量
3.使用Server.Transfer
4.使用Application
5.使用Cache
6使用HttpContext的Item属性
7.使用文件
8.使用数据库
第一部分:
互相介绍及了解
1.请介绍一下你自己?包括工作经历和项目经历?
2.请谈一下你就最近的一个项目?你在其中的职责和负责的部分?
第二部分:
一、ASP.NET技术问题选择性提问。一般可以选择三五个。
1. 简要说一下.Net的编译过程.
2.ASP.NET与ASP的区别
3.谈一下ASP.NET页面生命周期
4.ASP.NET程序的运行机制。可以从一个页面的请求到返回的角度谈
5.Javascript中类库的制作和调用方法
6.AJAX原理及你所知道和使用过的版本
7.WebService使用的协议及简述使用流程
8.谈一下WebService的安全性及相关技术
9.事务操作的原理及同库事务及跨库事务的思路
10.简述你的一个项目,主要的流程及部署
11.谈一下你对SOA的理解及熟习的SOA架构
12.谈一下你对SaaS的理解
13.你是否在ASP.NET之外还会JAVA、PHP?
14.如果让你设计一个登录模块,你会怎么考虑和制作?
15.如果让你制作日志模块,你会怎么考虑和制作?
16.如果让你制作用户权限模块,你会怎么考虑和制作?
17.如果让你做文件上传模块,你会怎么考虑和制作?如果文件大于1G你会怎么考虑设计?
18.是否了解及使用过WCF、WF、WPF?
19.Web页面的打印及报表的输出思路?
20.报表的制作思路?
21.谈一下你对.Net中垃圾回收的理解?
22.ADO和ADO.NET的区别?
第三部分:
专有技术的问题:
1.是否做过GIS方面的项目?用过哪些二次开发包?
第四部分:
项目管理和团队合作方面的问题:
1.如果给你二个初级程序员帮助你工作,你会怎么安排任务?及怎么控制项目进度?
第五部分:
职业规划方面的问题:
1.是否了解我公司情况?如果对方不了解,进行相应的介绍,
2.是否对这个岗位有兴趣?介绍岗位相应的情况。
3.是否愿意学习岗位相关的行业及技术?简绍相应的背景和技术。
第六部分:
询问一下对方期望的薪资和福利。
第七部分:
有没有什么问题和想法想要询问的
OVER.
01.为什么要在一个团队中开展软件测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
02.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试
03.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同04.的测试类型的区别与联系(如功能测试、性能测试……)
测试类型有:功能测试,性能测试,界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试
04.您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题
05.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
06.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)
07.您认为做好测试计划工作的关键是什么?
1.明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2.坚持“5W”规则,明确内容与过程
“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3.采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4.分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
08.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
1.等价类划分
划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2.边界值分析法
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.3.错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如, 在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等, 这些就是经验的总结.还有, 输入数据和输出数据为0的情况.输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.4.因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.09.请以您以往的实际工作为例,10.详细的描述一次测试用例设计的完整的过程。
就说最近的这次网站功能的测试吧
首先:得到相关文档(需求文档和设计文档),理解需求和设计设计思想后,想好测试策略(测试计划简单点就OK了),考虑到测试环境,测试用例,测试时间等问题。
第二步:设计测试用例,测试策略是:把网站部分的功能点测试完,然后在进行系统测试(另外个模块呢有另一个测试人员负责,可以进行联调测试),网站模块的测试基本是功能测试和界面测试(用户并发的可能性很小,所以不考虑):这次的网站的输入数据呢是使用数据库中的某张表记录,如果表中某一数据记录中新加进来的(还没有被处理的,有个标志位),网站启动后会立刻去刷那张表,得到多条数据,然后在进行处理。处理过程中,会经历3个步骤,网站才算完成了它的任务。有3个步骤呢,就可以分别对这3个步骤进行测试用例的设计,尽量覆盖到各种输入情况(包括数据库中的数据,用户的输入等),得出了差不多50个用例。界面测试,也就是用户看的到的地方,包括发送的邮件和用户填写资料的页面展示。
第三步:搭建测试环境(为什么这个时候考虑测试环境呢?因为我对网站环境已经很熟了,只有有机器能空于下来做该功能测试就可以做了),因为网站本身的环境搭建和其他的系统有点不同,它需要的测试环境比较麻烦,需要web服务器(Apache,tomcat),不过这次需求呢,网站部分只用到了tomcat,所以只要有tomcat即可
第四步:执行测试
11.您以往是否曾经从事过性能测试工作?如果有,12.请尽可能的详细描述您以往的性能测试工作的完整过程。
是的,曾经做过网站方面的性能测试,虽然做的时间并不久(2个月吧),当时呢,是有位网站性能测试经验非常丰富的前辈带着我一起做。
性能测试类型包括负载测试,强度测试,容量测试等
负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况
容量测试:确定系统可处理同时在线的最大用户数
在网站流量逐渐加大的情况下,开始考虑做性能测试了,首先要写好性能测试计划,根据运营数据得出流量最大的页面(如果是第一次的话,一般是首页,下载页,个人帐户页流量最大,而且以某种百分比),Web服务器指标指标:
* Avg Rps:平均每秒钟响应次数=总请求时间 / 秒数;
* Successful Rounds:成功的请求;
* Failed Rounds :失败的请求;
* Successful Hits :成功的点击次数;
* Failed Hits :失败的点击次数;
* Hits Per Second :每秒点击次数;
* Successful Hits Per Second :每秒成功的点击次数;
* Failed Hits Per Second :每秒失败的点击次数;
* Attempted Connections :尝试链接数;
13.您在从事性能测试工作时,14.是否使用过一些测试工具?如果有,15.请试述该工具的工作原理,16.并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
17.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
18.在您以往的工作中,19.一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
20.您以往所从事的软件测试工作中,21.是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,22.请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
23.您认为在测试人员同24.开发人员的沟通过程中,25.如何提高沟通的效率和改善沟通的效果?维持测试人员同26.开发团队中其他成员良好的人际关系的关键是什么?
27.在您以往的测试工作中,28.最让您感到不29.满意或者不30.堪回首的事情是什么?您是如何来对待这些事情的?
31.在即将完成这次笔试前,32.您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)
33.你对测试最大的兴趣在哪里?为什么?
最大的兴趣就是测试有难度,有挑战性!做测试越久越能感觉到做好测试有多难。曾经在无忧测试网上看到一篇文章,是关于如何做好一名测试工程师。
一共罗列了11,12点,有部分是和人的性格有关,有部分需要后天的努力。但除了性格有关的1,2点我没有把握,其他点我都很有信心做好它。
刚开始进入测试行业时,对测试的认识是从无忧测试网上了解到的一些资料,当时是冲着做测试需要很多技能才能做的好,虽然入门容易,但做好很难,比开发更难,虽然当时我很想做开发(学校专业课我基本上不缺席,因为我喜欢我的专业),但看到测试比开发更难更有挑战性,想做好测试的意志就更坚定了。
不到一年半的测试工作中,当时的感动和热情没有减退一点(即使环境问题以及自身经验,技术的不足,做测试的你一定也能理解)。
我觉得做测试整个过程中有2点让我觉得很有难度(对我来说,有难度的东西我就非常感兴趣),第一是测试用例的设计,因为测试的精华就在测试用例的设计上了,要在版本出来之前,把用例写好,用什么测试方法写?(也就是测试计划或测试策略),如果你刚测试一个新任务时,你得花一定的时间去消化业务需求和技术基础,业务需求很好理解(多和产品经理和开发人员沟通就能达到目的),而技术基础可就没那么简单了,这需要你自觉的学习能力,比如说网站吧,最基本的技术知识你要知道网站内部是怎么运作的的,后台是怎么响应用户请求的?测试环境如何搭建?这些都需要最早的学好。至少在开始测试之前能做好基本的准备,可能会遇到什么难题?需求细节是不是没有确定好?这些问题都能在设计用例的时候发现。
main
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a 1);
printf(“%d,%d”,*(a 1),*(ptr-1));
}
答:2,5
*(a 1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5
&a 1不是首地址 1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int)int *ptr=(int*)(&a 1);?
则ptr实际是&(a[5]),也就是a 5。原因如下:&a是数组指针,其类型为 int (*)[5],而指针加1要根据指针类型加上一定的值,不同类型的指针 1之后增加的大小不同。是长度为5的int数组指针,所以要加 5*sizeof(int),所以ptr实际是a[5]。但是prt与(&a 1)类型是不一样的(这点很重要),所以prt-1只会减去sizeof(int*)。
a,&a的地址是一样的,但意思不一样。a是数组首地址,也就是a[0]的地址,&a是对象(数组)首地址,a 1是数组下一元素的地址,即a[1],&a 1是下一个对象的地址,即a[5].
2.以下为Windows NT下的32位C 程序,请计算sizeof的值??
void Func ( char str[100] ) ?
{ ?
sizeof( str ) =? ?
} ?
void *p = malloc(100 ); ?
sizeof ( p ) = ?
这题很常见了,Func ( char str[100] )函数中数组名作为函数形参时,在函数体内,数组名失去了本身的内涵,仅仅只是一个指针;在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。Windows NT 32位平台下,指针的长度(占用内存的大小)为4字节,故sizeof( str ) 、sizeof ( p ) 都为4。
3.还是考指针,不过我对cocoa的代码还是不太熟悉
大概是这样的
- (void)*getNSString(const NSString *inputString)
{
inputString =@“This is a main testn”;
return ;
}
main(void)
{
NSString*a=@“Main”;
NSString *aString= [NSString stringWithString:@“%@”,getNSString(a)];
NSLog(@“%@n”, aString);
}
最后问输出的字符串:NULL,output在函数返回后,内存已经被释放。
4.用预处理指令#define声 明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 *365)UL ?
我在这想看到几件事 情:
#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) ?
懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。
5.写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个。
?#define MIN(A,B) ((A) <= (B) ? (A) : (B))
这个测试是为下面的目的而设的:
标识#define在宏中应用的基本知识。这是很重要的,因为直到嵌入(inline)操作符变为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比 if-then-else
更优化的代码,了解这个用法是很重要的。
懂得在宏中小心地把参数用括号括起来
我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事?
least = MIN(*p , b);
结果是:((*p ) <= (b) ? (*p ) : (*p ))这个表达式会产生副作用,指针p会作三次 自增操作。
6.写一个委托的 interface
@protocol MyDelegate;
@interface MyClass: NSObject
{
id delegate;
}
// 委托方法
@protocol MyDelegate
- (void)didJobs:(NSArray *)args;
@end
7. 写一个NSString类的实现
(id)initWithCString:(constchar *)nullTerminatedCString encoding:(NSStringEncoding)encoding;
(id) stringWithCString: (constchar*)nullTerminatedCString ? encoding: (NSStringEncoding)encoding?
{?
NSString *obj;
obj= [self allocWithZone: NSDefaultMallocZone()];
obj = [objinitWithCString: nullTerminatedCString encoding: encoding];
returnAUTORELEASE(obj);?
}
8.obj-c有多重继承么?不是的话有什么替代方法?
?cocoa 中所有的类都是NSObject的子类,多继承在这里是用protocol委托代理来实现的。
9.obj- c有私有方法么?私有变量呢
objective-c 类里面的方法只有两种, 静态方法和实例方法. 这似乎就不是完整的面向对象了,按照OOP的原则就是一个对象只暴露有用的东西. 如果没有了私有方法的话, 对于一些小范围的代码重用就不那么顺手了. 在类里面声名一个私有方法
@interface Controller : NSObject { NSString*something; }
(void)thisIsAStaticMethod;
- (void)thisIsAnInstanceMethod;
@end
@interface Controller (private) -
(void)thisIsAPrivateMethod;
@end
@private可以用来修饰私有变量
在ObjectiveC中,所有实例变量默认都是私有的,所有实例方法默认都是公有的
10.关键字const有什么含意?修饰类呢?static的作 用,用于类呢?还有extern c的作用
① const 意味着“只读”,下面的声明都是什么意思:
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改 的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。
结论:
关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)
通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。 ?
(1)欲阻止一个变量被改变,可以使用const 关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为 const,也可以指定指针所指的数据为 const,或二者同时指?定为 const;
(3)在一个函数声明中,const 可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为 const 类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为 const 类型,以使得其返回值不为“左值”。
② static 关键字的作用:
(1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次,?因此其值在下次调用时仍维持上次的值;
(2)在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;
(3)在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明?它的模块内;
(4)在类中的 static 成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;
(5)在类中的 static 成员函数属于整个类所拥有,这个函数不接收 this 指针,因而只能访问类的static 成员变量。
③ extern “C” 的作用
(1)被 extern“C”限定的函数或变量是 extern 类型的;
extern 是 C/C 语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。
(2)被 extern“C”修饰的变量和函数是按照 C 语言方式编译和连接的;
extern “C”的惯用法
(1)在 C 中引用 C 语言中的函数和变量,在包含 C 语言头文件(假设为 cExample.h)时,需进?行下列处理: ?extern“C” ?{ ?#include“cExample.h” ?} ?而在 C 语言的头文件中,对其外部函数只能指定为 extern 类型,C 语言中不支持 extern “C”声明,?在.c 文件中包含了 extern “C”时会出现编译语法错误。
“选好学校,不如选好专业”,2013年读什么专业好呢?下面我们一起来看看。
2013就业率最高四大专业:
1、医学影像学;
2、计算机专业;
3、口腔医院;
4、石油工程。
2013高考最热门四大专业:
1、计算机科学与技术中的软件开发;
2、通信工程专业;
3、土木工程专业;
4、经济学。
2013就业面最宽的四大专业:
1、经济学;
2、计算机专业;
3、会计学;
4、新闻学。
综合上面的最热门,就业率最高,就业面最广。相信大家心中都有了一定的想法,计算机科学与技术中的软件开发是最合适的选择。软件工程是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件工程师人才的培养给予了非常优惠的政策。而根据各大招聘网站上显示的,在未来5-10年中计算机相关产业将提供占社会全部职位57、7%的就业机会,就业前景十分看好。而国内市场每年对软件人才的需求高达80万,而各高校计算机专业毕业生中的软件工程人才还很缺乏,高素质的软件工程人才尤为短缺。软件工程师的薪资待遇一路高涨。然而软件工程师又分为很多种,以下主要围绕.NET软件工程师来讲。
一..NET软件开发就业方向:.Net软件工程师、网络工程师、数据库工程师等相关职位
二.学习.NET软件开发的优点:
对于软件开发人员来讲,.NET的技术相对简单,入门较快。由于.NET拥有易学易用、开发迅速的特性,加之它的成熟和完善,使其受到越来越多企业的青睐。一些大型企业也纷纷将应用平台迁移到.NET,从而走出了Microsoft平台与技术只适合于中小企业的阴影。近一年来,.NET在国内也取得了惊人的发展。众多企业纷纷采用.NET作为企业应用开发技术与平台,使用.NET项目之企业数量快速增长,甚至与JAVA一样被银行业、电信业所采用。
三..NET软件工程师就业前景
据有关权威部门统计,未来几年内我国软件行业的从业机会十分庞大,每年对软件人才的需求将达到 80万-100 万人,而现有行业从业人员只有 50 万人左右,专业开发人员不到25万,目前大部分院校出来的应届计算机系学生,真正能当年进入软件公司工作的只有10%~20%左右,缺口很大。所以.net软件工程师的就业前景一片光明。
四.高校与IT培训机构的区别
.NET作为程序开发语言中的一员,具有很多优势:可以提高开发人员的效率,减少bug,加快应用开发并简化使用。有了.NET,可以在未来的开发项目中赢得更高的生产力。于是越来越多的人开始加入到.NET学习的队伍中来。目前,国内软件人才的培训主要有三种机构:企业、高等院校和IT培训机构。由于企业进入门槛比较高,大部分人转而选择了高校和IT
培训机构。
现在大学生与大学生之间的区别在哪里?所学的理论知识都差不多;最大的差别就在于专业技术上的动手能力;作为软件开发专业要将所学的语言知识和理论转化为代码、项目、形成技术风格的特点;为就业和进一步学习增添砝码。
如果能参加培训机构的系统学习,在技能提升、解决问题思路、学习效率、团队合作、沟通表达等综合能力能够在短时间内获得提升,好的机构还有更好的就业平台和薪资保障。
2.斐波那契数列的递归与遍历实现
3.给定2,3,5面值的硬币若干,给出一个数字,计算拼凑这个数字最少用到硬币的个数
4.有10亿个数字,如何找出top100.(引申问题,链表与数组的的选用)
5.HashMap的内部数据结构(第二次问),Rehash的实现
6.ConcurrentHashMap的实现原理,与HashTable区别是什么(分Segment)
7.Java有哪些同步机制
8.数据库有哪些锁,哪些引擎,分别共享锁和排他锁的区别,应用场景有什么不同
9.B树和B+树的区别,为什么选用B+树作为数据库索引,B+数的孩子节点索引用什么方法查找(二分法……),为什么mysql推荐自增int作为主键
10.redis的分布式锁用了什么方法实现(setNX背后的数据结构)
11.synchronize都能修饰什么,有什么区别
1.什么是电气设备的额定值?
答:任何一个电气设备,为了安全可靠的工作,都必须有一定的电流,电压和功率因数的限制和规定值,这种规定值就称为额定值。2.电路的三种工作状态是什么?
答:(1)通路(2)开路(3)短路
3.单相交流电路的有功功率、无功功率和视在功率的计算公式?
答:(1)有功功率:P=UIcosΦ(2)无功功率:Q=UIsinΦ(3)视在功率:S=UI 4.什么是中性点位移?
答:当星形连接的负载不对称时,如果没有中线或者中线的阻抗较大,就会出现中性点电压,这样的现象就叫做中性点位移。5.什么叫有功功率?什么叫无功功率?
答:(1)电流在电阻电路中,一个周期内所消耗的平均功率叫有功功率。(P)单位:瓦
(2)储能元件线圈或电容器与电源之间的能量交换,为了衡量他们之间能量的大小,用瞬时功率的最大值来表示,也就是交换能量的最大速率,称为无功功率(Q)单位:乏。6.功率因数进相和迟相是怎么回事?
答:同步发电机既发有功也发无功,这种状态称为迟相运行,或称滞后,此时发出感性无功功率,但有时,发电机送出有功,吸收无功,这种状态称为进相运行。7.发电机并列有几种方法?各有何优缺点?
答:1 发电机并列的方法分两类:准同期法和自同期法。
准同期法的优点是发电机没有冲击电流,对电力系统没有什么影响,但如果因某种原因造成非同期并列时,则冲击电流很大,比机端三相短路时电流还大一倍。自同期法并列的优点是操作方法比较简单,合闸过程的自动化简单,在事故状态下,合闸迅速。缺点是有冲击电流,而且对系统有影响,即在合闸的瞬间系统电压降低。
8.准同期并列有哪几个条件?不符和这些条件将产生什么样的后果?
答:1满足三个条件(1)电压相等(2)电压相位一致(3)频率相等
2(1)电压不相等的情况下,并列后,发电机绕组内的冲击电流相当大。
(2)电压相位不一致,后果可能产生很大的冲击电流使发电机烧毁或使大轴扭曲。
(3)频率不等,将使发电机产生机械震动。
9.端电压低了或高了,对发电机本身有什么影响?
答:1电压过低会降低运行的稳定性。励磁电流变化就会引起电压大变化,降低了调节的稳定性,而定子绕组温度可能升高(出力不变的情况下)。2电压太高,转子绕组的温度可能超出允许值,并对定子线 圈的绝缘也有威胁。10.发电机允许变为电动机运行吗?
答:发电机变为电动机运行是完全允许的。发电机变为电动机时,要关闭主汽门,发电机变为电动机运行后,定子磁极在前,转子磁极在后,由定子磁场拖着转子跑,它仍不失同步,故称为同步电动机。此时,电机从系统中吸收有功,补偿机械损耗,而无功也可吸收也可送出。
11.事故情况下发电机为什么可以短时间过负荷?
答:发电机过负荷要引起定子、转子绕组和铁心温度升高,加速绝缘老化。但绝缘材料老化需要一个时间过程,并需要一个高温的过程,高温时间愈短,绝缘材料损坏愈轻,发电机满载温度距允许温度还有一定余温,即使过负荷也不会超出很多,因此,发电机允许短时间过负荷。
12.定子绕组单相接地时对发电机有危险吗?
答:发生一相接地,接地点就会有电容电流流过,当机端发生金属性接地,接地电流最大,而接地点越靠近中性点接地电流就越小。故障点有电流流过,就可能产生电弧,当接地电流大于5A时,会有烧坏铁心的危险。13.转子发生一点接地还可以继续运行吗?
答:转子发生一点接地,转子电流就会增大,其后果是部分转子绕组发热,有可能被烧毁,而且电机转子由于作用力偏移而导致强烈的震动。14.同步表S的工作原理?
答:用两个互相垂直,空间彼此交叉90°角的线圈,如果分别通以电气相位角也为90°的两个电流,则两个线圈形成的磁场为一个旋转磁场。同步表S就是运用旋转磁场和交变脉冲磁场的相互作用而工作的。15.怎样进行手动准同期并列?
答:当系统同期条件满足时,同期表的指针在360°的范围内应是顺时针平稳缓慢的旋转。待观察几圈后,在同步表指针指向“12”点前的某一瞬间合上发电机开关。16.发电机同期并列操作应注意哪些事项?
答:(1)操作时熟练操作方法,了解同期回路接线情况。
(2)同期表投入时间不超过15min.(3)当同期表转动过快,跳动或停在12点钟不动及无规律转动,禁止合闸操作。
(4)若调速系统很不稳定,不能采用自动准同期并列。17.发电机启动前应做那些检查和准备工作?
答:新安装的发电机或检修后的发电机投入运行时,应收回发电机及附属设备的全部工作票和拆除安全措施恢复所设遮拦。
(1)发电机,励磁机及其他有关设备应清洁完整无异常。
(2)发电机断路器,灭磁开关,电压互感器,保护装置等一二次回路情况应正常。
(3)若为发电机—变压器接线时,应检查变压器的连接线和高压侧断路器和隔离开关等。
(4)发电机滑环,整流子及电刷应清洁无接地情况。
(5)继保,自动装置完好,并处于投入状态。
(6)励磁可变电阻接线无误,电阻处在最大位置。
(7)检查完毕后,测量发电机绝缘电阻合格及断路器,灭磁开关等开关的拉合试验。
(8)断路器与灭磁开关励磁开关的联锁,闭锁试验。
(9)强励动作试验。
(10)做机电联系信号试验。
18.发电机启动过程中应怎样检查?
答:(1)应仔细听发电机内部的响声是否正常。
(2)轴承油温,振动及其他运转部分应正常。
(3)整流子或滑环上的电刷是否接触不良,跳动。
(4)发电机各部分温度有无异常升高现象。
19.发电机启动操作中有哪些注意事项?
答:断路器未合闸三相电流均等于零,若有电流则说明定子回路上有短路点,应立即拉开灭磁开关检查。三相电压应平衡。核对空载特性,检查发电机转子绕组有无层间短路。
20发电机启动前应做哪些试验?
答:(1)断路器,灭磁开关的分合试验。
(2)断路器,灭磁开关的联锁试验。
(3)调速电机动作试验,转向正确,调整平稳。
(4)磁场变阻器调整灵活,无卡涩现象。
(5)主汽门关闭联跳断路器,灭磁开关试验。
21.发电机升压操作时应注意什么?
答:(1)升压应缓慢进行,使定子电压缓慢上升。
(2)升压过程中应监视转子电压,电流和定子电压表指示均匀上升。
(3)电压升至额定值的50%时,应测量定子三相电压是否平衡。
(4)升压中应检查发电机,励磁机及电刷的运行情况。
(5)升压至额定后应检查转子回路的绝缘状况。
22.发电机的出,入口风温差变化说明了什么问题?
答:在同一负荷下,出入口风温差应该不变,如果发现有较大变化说明发电机内部损耗增加或空气量减少,应检查并分析原因。
23.发电机运行中应检查哪些项目?
答:(1)定子绕组,铁心,转子绕组,硅整流器和发电机各部温度。
(2)电机有无异常振动及音响和气味如何。
(3)发电机内有无漏油。
(4)发电机各引出线,断路器,励磁开关的设备完整,接头无放电过热现象。
(5)发电机内无流胶,渗水现象。
(6)冷却系统是否良好。(7)电刷清洁完整,无冒火。
24.事故处理的主要原则是什么?
答:(1)设法保证厂用电源。
(2)迅速限制事故发展,消除事故根源,并解除对人身和设备的危险。
(3)保证非故障设备继续良好运行,必要时增加出力,保证正常供电。
(4)迅速对已停电用户恢复供电。
(5)调整电力系统运行方式,使其恢复正常。
(6)事故处理中必须考虑全局,积极主动做到稳,准,快。
25.强送电时有何注意事项?
答:(1)设备跳闸后,有下列情况不准送电:a:有严重短路现象。B:断路器严重缺油。C :作业完后,充电时跳闸。D :断路器连跳闸二次后。
(2)凡跳闸后可能产生非同期电源者。
(3)强送220kv线路时,强送断路器所在的母线上必须有变压器中性点接地。
(4)强送电时,发现电流剧增,电压严重下降,应立即断开。
(5)强送电后应作到:线路或发电机的三相电流应平衡,对已送电断路器进行检查。
26.强行励磁起什么作用?
答:(1)增加电力系统的稳定性。
(2)在短路切除后,能使电压迅速恢复。
(3)提高带时限的过流保护动作的可靠性。
(4)改善系统事故时的电动机的自启动条件。
27.为何要在滑环表面上出沟槽?
答:(1)增加散热面积,加强冷却(2)改善同电刷的接触,容易让电刷的粉末沿沟槽排出
28.运行中,维护碳刷时应注意什么? 答:(1)用压缩空气吹扫时,应没有水分和油,压力不超过0.3Mpa(2)在滑环上工作,工作人员应该穿绝缘鞋,并站在绝缘垫上,防止短路和接地。(3)禁止用两手同时接触励磁回路和接地部分,或两个不同极的带电部分。(4)工作时穿工作服,禁止穿短袖衣服,或卷起衣袖,并扣紧衣袖。(5)更换的碳刷型号,尺寸要统一,并研磨(6)每次更换碳刷数不应过多,不超过每极总数的20%
29.运行中对滑环的检查有那些?
答:(1)整流子和滑环上电刷的冒火情况(2)电刷在刷握内有无跳动或卡涩情况,弹簧的压力是否均匀。(3)电刷连接软线是否完整。(4)电刷边缘是否有剥落的情况。(5)电刷是否过短并给予更换。(6)滑环表面的温度是否超过规定。
(7)刷握跟刷架有无积垢。
30.变压器的额定容量,额定电压,额定电流,空栽损耗,短路损耗,阻抗电压各代表什么?
答:(1)额定容量:变压器在额定电压额定电流时连续运行所能输送的容量。(2)额定电压:变压器长时间的运行所能承受的工作电压。(3)额定电流:变压器允许长时期通过的工作电流。(4)空载损耗:变压器二次开路在额定电压时变压器铁芯所产生的损耗。(5)短路损耗:将变压器二次绕组短路,流经一次绕组的电流为额定时,变压器绕组导体所消耗的功率。(6)阻抗电压:将变压器二次绕组短路使一次侧电压逐渐升高,当二次绕组的短路电流达到额定值时,此时一次侧电压也额定电压比值的百分数。
31.变压器中油起什么作用?
答:⑴绝缘
⑵散热
32.变压器的冷却方式有哪几种?
答:⑴油浸自然冷却方式。
⑵油浸风冷式。
⑶强迫油循环水冷式。
⑷强迫油循环风冷式。
⑸强迫油循环导向冷却。
33.变压器瓦斯继电器的动作原理是什么?
答:当变压器内部故障时,产生的气体聚集在瓦斯继电器的上部,使油面降低。当油面降低到一定程度,上浮筒下沉水银对地接通,发出信号,当变压器内部严重故障时,油流冲击挡板,挡板偏板并带动板后的连杆转动上升,挑动与水银接点相连的连动环,使水银接点分别向与油流垂直的两侧转动,两处水银接点同时接通使断路器跳闸或发出信号。
34.变压器的铁芯为什么要接地?
答:运行中的变压器的铁芯及其他附件都处于绕组周围的电场内,如果不接地,铁芯及其他附件必然产生一定的悬浮电位,在外压电压的作用下,当该电压超过对地放电电压时,就会出现放电现象,为了避免变压器内部放电,所以铁芯要接地。
35.变压器并列的条件是什么?
答:1)电压比相同,允许相差±0.5%;
2)百分阻抗相等,允许相差±10%;
3)接线组别相同。
36.变压器的阻抗电压在运行中有什么作用?
答:阻抗电压是涉及变压器成本,效率及运行的重要经济技术指标,从变压器的运行条件来说,阻抗电压小一些较好,从限制短路电流来说,希望阻抗电压大一些,以避免电器设备如断路器、隔离开关等经受不住短路电流的作用而损坏。所以应根据设备的运行条件来设计阻抗电压,且应尽量小一些。
37.怎样测量变压的绝缘?
1)变压器绕组额定电压在6KV以上,使用2500V兆欧表;2)变压器绕组额定电压在500V以下,用1000V或2500V兆欧表;3)变压器的高中低压绕组之间,使用2500V兆欧表;
38.摇测变压器的注意事项?
1)摇测前应将绝缘子、套管清理干净,拆除全部接地线,将中性点隔离开关拉开。2)使用合格的绝缘电阻表。3)摇测时应记录当时变压器的油温及温度;4)摇测后应将变压器的绕组放电,防止触电;5)对三绕组变压器应测量一次对二、三次及地、二次对一、三次及地、三次对一、二次及地的绝缘电阻。6)在潮湿或污染地区应加屏蔽线。
39.什么是变压器的空载运行?
答:变压器的空载运行是指变压器的一次绕组接电源,二次绕组开路的工作状况。
40.什么是变压器的负载运行?
答:一次绕组接上电源,二次绕组接有负载的状况。
41.什么是变压器的正常过负荷?
答:1)当变压器过负荷运行时,绝缘寿命损失将增加,而轻负荷运行时,绝缘寿命损失将减小因此可以互相补偿。
2)夏季油温升高时,在额定负荷时绝缘寿命损失将增加,冬季油温降低,在额定负荷时绝缘寿命损失将减小,因此可以互相补偿。
3)变压器的正常过负荷能力,是指在上述的两种补偿后,不以牺牲变压器的正常使用寿命为前提的过负荷。
42.轻瓦斯保护动作应如何处理?
答:瓦斯保护信号动作时,值班人员应密切监视变压器的电流、电压和温度变化,并对变压器作外部检查,倾听音响有无变化、油位有无降低,以及直流系统绝缘有无接地、二次回路有无故障,如瓦斯继电器内存在气体,则应鉴定其颜色,并取气样和油样作色谱分析,以判断变压器的故障性质。
43.重瓦斯保护动作应如何处理? 答:⑴变压器差动保护是否掉牌。
⑵重瓦斯保护动作前,电压、电流有无波动。
⑶防爆管和吸湿器是否破裂,压力释放阀是否动作。⑷瓦斯继电器内有无气体或收集的气体是否可燃。⑸重瓦斯保护掉牌能否复归,直流系统是否接地。44.变压器着火如何处理?
答:变压器着火时,首先将变压器断路器松开,使之脱离电源,然后用1211灭火器或二氧化碳、四氯化碳灭火器、干粉灭火器进行灭火。45.变压器运行中试验项目有哪些? 答:⑴测量绕组的绝缘电阻和吸收比。⑵测量绕组连同套管一起的泄露电流。⑶测量绕组的直流电阻。
⑷变压器及其套管中绝缘油试验。⑸冷却装置的检查试验。⑹检查运行中的净油器。⑺局部放电试验。
⑻检查衬垫和法兰的连接情况。
46.变压器故障一般容易在何处发生?
答:一般都发生在:绕组、铁芯、套管、分接开关和油箱、漏油、导线接头发热等。47.变压器自动跳闸后如何处理?
答:⑴如有备用变压器,则应迅速投入运行,并检查自动跳闸原因。
⑵如无备用变压器,则应检查是何种原因造成跳闸,如证明是由于过负荷、外部短路和保护装置二次回路故障,则可投入运行。如有故障,经消除后再送电。48.发现变压器油位过高或过低如何处理?
答:⑴如变压器油位与温度、负荷及冷却条件不符,应怀疑为假油位,出现假油位的可能:油位计联管堵塞,汇报领导,进行处理。
⑵因环境温度使油位升高或降低并超出极限时,应放油或加油,保持正常油位。⑶出现大量漏油使油位迅速下降,则投入备用变压器,故障变压器停运。49.高压断路器的主要类型有哪些? 答:⑴油断路器; ⑵压缩空气断路器; ⑶磁吹断路器; ⑷真空断路器; ⑸六氟化硫断路器; ⑹自产气断路器。
50.高压断路器的主要要求是什么?
答:⑴绝缘部分能长期承受最大工作电压,还能承受过电压。⑵长期通过额定电流时,各部温度不超过允许值。⑶跳闸时间要短,灭弧速度要快。⑷能满足快速重合闸。⑸断路器遮断容量大于系统短路容量。⑹有足够的动稳定性和热稳定性。51.油在高压油断路器中的作用? 答:油的主要作用是来熄灭电弧的。52.断路器的送电和停电操作是这样的?
答:⑴送电:①确认在断开位置,且操作熔丝未投入; ②先合电源侧隔离开关,后合负荷侧隔离开关; ③投入合闸及操作熔断器; ④合上断路器操作把手。
⑵停电:①断开断路器操作把手;
②取下合闸熔断器;
③先拉开负荷侧隔离开关,后拉电源侧隔离开关;
④取下操作熔断器。
53.防止误操作的“五防”内容?
答:⑴防止误拉、误合断路器; ⑵防止带负荷误拉、误合开关; ⑶防止带电接地隔离开关; ⑷防止带接地线合闸; ⑸防止误入带电间隔。
54.断路器遇有哪些情形,应立即停电处理?
答:⑴套管有严重破损和放电现象; ⑵多油断路器内部有爆裂声;
⑶少油断路器灭弧室冒烟或内部有异常声响; ⑷油断路器严重漏油,油位过低;
⑸空气断路器内部有异常声响或严重漏汽、压力下降,橡胶垫被吹出; ⑹六氟化硫气室严重漏气,发出操作闭锁信号; ⑺真空断路器出现真空破坏的丝丝声; ⑻液压机构突然失压到零。55.隔离开关的用途是什么?
答:设备检修时,造成明显的断开点,使检修设备和系统隔离。原则上隔离开关不能用于开断负荷电流,但是在电流很小和容量很低的情况下。可视为例外。
56.用隔离开关可以进行哪些操作?
答:⑴可以拉、合闭路开关的旁路电流。
⑵拉开、合上变压器中性点的接地线,当有消弧线圈时。只有在系统无接地时拉、合。
⑶拉、合电压互感器和避雷器。
⑷拉、合母线及直接在母线上设备的电容电流。
⑸可以拉、合励磁电流不超过2A的空载变压器。
⑹拉、合电容电流不超过5A的空载线路,但在20KW及以下者应用三联隔离开关。⑺室外三联隔离开关,可以拉合电压在10KW以下,电流在15A以下的负荷。⑻拉合10KW以下,70A以下的环路均衡电流。57.操作隔离开关的注意事项是什么?
答:合:⑴检查开关确在拉开位置,合隔离开关时,不论是用手还是用传动装置或绝缘操作杆操作,均必须迅速而果断,但在合闸终了时用力不可太猛,以避免发生冲击。
⑵操作完毕后,应检查是否合上,并检查接触良好。
分:⑴拉闸时应迅速果断,以便消弧。
⑵拉开时,三相均在断开位置,使刀片尽量拉到头。
58.操作中发生带负荷错拉、错合隔离开关时怎么办?
答:错合隔离开关时,即使合错,甚至在合闸时发生电弧,也不准将隔离开关再拉开。错拉隔离开关时,在刀片刚离开固定触头时,便发生电弧,这时应立即合上,可以熄灭电弧,避免事故,但隔离开关已全部拉开,则不许将误拉的隔离开关合上。
59.线路停、送点的顺序是怎样规定的?
答:先合上母线侧隔离开关,后合线路侧隔离开关,最后合断 路器。
60.熔丝是否到达其额定电流时即熔断?
【net软件工程师面试题】推荐阅读:
软件工程导论填空题总结04-30
软件测试基础面试题09-12
软件测试类英文面试题11-11
.net软件开发信息资料12-06
it常见软件测试面试题04-19
软件工程实验报告--初识软件工程11-10
软件工程师培训12-31
软件工程师真题03-25