上一篇文章说到,遭遇大裁员,那么接下来就是准备面试,准备好去找新的工作机会了,毕竟我们一直在路上,谢谢大家
老规矩,家人们,反正我们是要着手准备面试了,那么接下来就是面试技巧注意事项和面试题了
一、面试技巧和注意事项
-
带多几份简历前往面试,有总比当被要求提供多一份简历而你却没有更能显示你缺乏准备,带多几份简历,面试你的人可能不止一个,预先料到这一点并准备好会显得你做事正规、细致
-
初步印象和最后印象,最初和最后的五分钟是面试中最关键的,最初的五分钟内应当主动沟通,这样会很突出自己的沟通能力,以及临场发挥能力,不会让面试官觉得你很死板
-
完整地填好公司的表格:即使你已经有简历,即使你带了简历来,很多公司都会要求你填一张表,你愿意并且有始有终地填完这张表,会传达出你做事正规做事善始善终的信息
-
每次面试的目的都是获聘,你必须突出地表现出自己的性格和专业能力以获得聘请。面试尾声时,需要询问公司什么时候会做决断
-
清楚公司的需要,表现出自己对公司的价值,展现你适应环境的能力
-
要确保你有适当的技能,自己知道自己的优势,尽量写在简历中,突出出来,谈些你以前项目中做得十分出色的事情,是你找下一份工作的关键
-
尽量展示你勤奋工作,追求团体目标的能力,大多数公司都希望找一位有创造力、性格良好,能够融入到团体之中的人,你必须通过强调自己给对方带来的好处来说服对方认可你,将你所有的优势推销出去,营销自己十分重要
二、基本题目以及解答思路
-
介绍一下自己
解答思路:简洁明了地介绍自己的基本信息,包括姓名、年龄、学历、专业等 -
对软件测试有什么了解
解答思路:介绍自己对软件测试的基本概念和知识,包括测试理论、测试类型、测试方法、测试工具等方面的内容 -
有什么样的测试经验
解答思路:根据自己从事软件测试工作的经验,介绍自己熟悉的测试领域和测试工具,以及如何设计测试用例、执行测试、报告缺陷等方面的内容 -
最近测试过什么项目,具体是怎么做的
解答思路:介绍自己最近负责的软件测试项目,包括项目的业务背景、测试目标、测试范围、测试计划、测试执行、缺陷发现与报告等方面的内容。同时要注意表述清晰,突出自己的专业能力和思考能力 -
遇到过什么样的测试难题,是如何解决的
解答思路:介绍自己在软件测试过程中遇到的难题和挑战,同时分享自己是如何思考和解决的。这一方面可以展示自己的专业能力和解决问题的能力,另一方面也可以让面试官了解你对软件测试工作的认知和态度 -
认为软件测试工程师需要具备哪些能力
解答思路:从软件测试理论、技术、团队协作、沟通能力等多方面阐述软件测试工程师需要具备的能力,同时要结合自己的工作经历和项目经验来进行举例说明 -
对我们公司有什么了解和看法
解答思路:在参加面试前需要对所申请公司的背景和业务范围进行了解和分析,包括公司的文化价值观、发展战略以及在行业中的竞争地位等方面的信息。在回答这个问题时应该表达出对公司发展前景的信心和对公司文化的认同 -
有什么想问我们的问题
解答思路:在面试结束前可以向面试官提问,以表现出自己的主动性和对公司的关注。在提问时应该注意问题的范围和尺度,不要过于敏感或针对个人发展无关的问题。例如可以询问公司未来的发展计划、软件测试团队的文化和成长空间等
三、面试一般是2轮也有可能是3轮
1轮人事简单初面
2轮技术面试(或者是1轮)
一般会就对你的简历内容,进行提问,主要问接口,Jmeter,性能,Linux命令,数据库等方面的,重点会问数据库知识,存储过程,备份,写SQL等等
四、面试题目
-
测试的目的是什么
测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。当然软件测试是不可能找出全部错误的 -
测试分为哪几个阶段
一般来说分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试 -
单元测试的测试对象、目的、测试依据、测试方法
测试对象是模块内部的程序错误,目的是消除局部模块逻辑和功能上的错误和缺陷。测试依据是模块的详细设计,测试方法是采用白盒测试 -
怎样看待加班问题
加班的话我没有太多意见,但是我还是觉得如果能够合理安排时间的话,不会有太多时候加班的 -
结合你以前的学习和工作经验,你认为如何做好测试
根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作 -
根据你以前的工作或学习经验描述一下软件开发、测试过程,由哪些角色负责,你做什么
要有架构师、开发经理、测试经理、程序员、测试员。我在里面主要是负责所分到的模块执行测试用例 -
根据你的经验说说你对软件测试/质量保证的理解
软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并根据这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及其外观排布 -
软件测试的流程是什么
需求调查:全面了解系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等。根据系统概况进行项目所需的人员、时间和工作量估计以及项目报价制定初步的项目计划
测试准备:组织测试团队、培训、建立测试和管理环境等
测试设计:按照测试要求进行每个测试项的测试设计,包括测试用例的设计和测试脚本的开发等
测试实施:按照测试计划实施测试
测试评估:根据测试的结果,出具测试评估报告 -
你对SQA的职责和工作活动(如软件度量)的理解
SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要时可以向高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等 -
怎样写测试计划和测试用例
简单点,测试计划里应有详细的测试策略和测试方法,合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等 -
什么是兼容性测试,兼容性测试侧重哪些方面
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了
兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的 -
我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题
检查系统是否有中毒的特征
检查软件/硬件的配置是否符合软件的推荐标准
确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务
如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的
在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况 -
测试的策略有哪些
黑盒/白盒,静态/动态## 标题,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略) -
描述测试用例设计的完整过程
需求分析 + 需求变更的维护工作
根据需求得出测试需求
设计测试方案,评审测试方案
方案评审通过后,设计测试用例,再对测试用例进行评审
-
LoadRunner分哪三部分
用户动作设计、场景设计、测试数据分析 -
LoadRunner进行测试的流程
熟悉业务流程,测试规划
创建虚拟用户脚本
创建运行场景
运行测试脚本
监视场景
分析测试的结果
最好是结合一个案例,根据以上流程来介绍 -
软件的评审一般由哪些人参加,其目的是什么
在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。
人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段 -
Beta测试与Alpha测试有什么区别
Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场
Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试 -
简述一下缺陷的生命周期
提交->确认->分配->修复->验证->关闭 -
软件的安全性应从哪几个方面去测试
用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
加密机制
安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
防病毒系统 -
一套完整的测试应该由哪些阶段组成
需求评审(有开发人员,产品经理,测试人员,项目经理)->需求确定(出一份确定的需求文档)->开发设计文档(开发人员在开始写代码前就能输出设计文档)->想好测试策略,写出测试用例->发给开发人员和测试经理看看(非正式的评审用例)->接到测试版本->执行测试用例(中间可能会补充用例)->提交bug(有些bug需要开发人员的确定(严重级别的,或突然发现的在测试用例范围之外的,难以重现的),有些可以直接录制进TD)->开发人员修改(可以在测试过程中快速的修改)->回归测试(可能又会发现新问题,再按流程开始跑) -
如何理解压力、负载、性能测试测试?
性能测试是一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试。增大访问系统的用户数量、或者几个用户进行大数据量操作都是压力测试。而负载测试是压力相对较大的测试,主要是测试系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分
100个用户对系统进行连续半个小时的访问可以看作压力测试,那么连续访问8个小时就可以认为负载测试,1000个用户连续访问系统1个小时也可以看作是负载测试 -
你对测试最大的兴趣在哪里,为什么
最大的兴趣就是测试有难度,有挑战性!做测试越久越能感觉到做好测试有多难。做测试,有部分是和人的性格有关,有部分需要后天的努力。但除了性格有关的我没有把握,其他点我都很有信心做好它 -
当开发人员说不是BUG时,你如何应付
开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认 -
写出bug报告当中一些必备的内容。
硬件平台和操作系统
测试应用的硬件平台(Platform),通常选择“PC”
测试应用的操作系统平台(OS)
版本 提交缺陷报告时通过该字段标识此缺陷存在于被测试软件的哪个版本
Bug报告优先级
Bug状态
Bug的编号
发现人
提交人
指定处理人
概述
从属关系
详细描述
严重程度
所属模块
附件
提交日期 -
简述一下c/s模式或者b/s模式
C/S模式:客户端/服务器模式。工作原理:Client向Server提交一个请求;Server则使用一些方法处理这个请求,并将效果返回给Client
B/S结构,即Browser/Server(浏览器/服务器)结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术