软件开发工程师面试常见问题

啊南 7910阅读 2020.03.17

【导语】: 面试当中如何才能将问题回答的滴水不漏。有什么技巧可以让面试问题不再成为职场拦路虎呢?对于求职者来说,软件开发工程师面试有哪些问题是比较常见的,这是求职者比较关注的。毕竟面试问题回答的好与不好将会直接影响面试官对求职者的判断,以下罗列了一些关于软件开发工程师面试比较常见的问题,对软件开发工程师感兴趣的求职者都可以提前了解以下。

软件开发工程师面试常见问题有哪些

1、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用?
2、什么是WebService?
3、什么是中间件?
4、什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
5、什么是OOP?OOP相对于面向过程编程有哪些优点?
6、谈谈Overload和Override的区别。
7、谈谈HashMap和Hashtable的区别。
8、请问abstract class和interface有什么区别?
9、请问软件开发中的设计模式你会使用哪些?
10、类的核心特性有哪些?

软件开发工程师面试技巧

1、做好写代码的准备 
如果要你写代码,那就要小心了,千万别忘记遵循基本规则。我们不要求你在面试的时候记得所有的东西,但是一些基本的,像循环、if条件、主方法、异常,这些要是忘记了,太不应该了。看到这里,如果你一时间也没法想起这些,不妨复习一下。
2、做好解释项目的准备 
软件工程师在写代码之前就应该对业务需求了如指掌。所以,你得能解释项目中一一对应的流程分别是什么。写个三四行代码就深层次解释一下,然后听听非团队人员的意见和建议。当局者迷,旁观者清。看看和客户交流的内部营销记录,找找线索。可以先找个朋友练习一下,确保自己能说到点子上。
3、答复不出一些必知的根本技术疑问 
面试不是技术比赛,不是看谁答对的疑问多,可是有一些“有必要晓得”的中心Java和Web基础知识,你不能不知。例如,关于Java开发人员 
1)不晓得“==”和equals()之间的区别。
2)不晓得equals()和hashCode()办法被隐式调用时的约好。
3)不晓得OO的概念和设计原则。
4)不能极好地处理多线程。
5)不晓得如安在HTTP客户端与服务器端之间保持状况。
6)不能解说曾投入精力过的应用程序的高层体系结构。
7)不晓得SQL。
4、聊聊自己工作中擅长的部分? 
这部分,是对面试者的一个初步了解。面试者可以给面试官展现,在工作过程中擅长的测试方向,比如功能测试、性能测试还是别的方面的测试。最好是有很形象的例子说明,工作的内容有哪些,遇到了哪些问题之类。面试测试工作,这一部分就要展现测试员,热爱学习,严谨,追求完美的性格,再加上专业度的展示,一定事半功倍。
5、测试工作中,遇到BUG该怎么处理? 
关于遇到BUG,测试是如何处理?整个过程可以体现出,测试员面对突发状态的能力。这也是测试员基本的素质。确认1、 BUG存在性,追踪分析所遇问题,验证环境配置、实际操作没有错误的前提下,确认BUG并将其提给开发。2、 BUG随机性,确认BUG是否可重新,并且分情况说明。3、写BUG 报告,一目了然的BUG标题和对BUG清晰描述。
6、举例用过的软件测试工具。(举一种,作详细说明) 
掌握市场的软件测试工具,可以百度搜索一些软件测试工具,当然从自己擅长的比如性能测试工具如Loadrunner、管理工具、功能测试工具selenium等等。这里举Selenium的例子,由于selenium支持多种语言,并且利用工具进行的测试项目举例。

软件开发工程师面试注意事项

1、要注意着装.着装不能太嘻哈或者前卫,要体现一定的专业性.建议着西装或者正装,衣服要整洁大方,色系要偏深色,可以搭配黑框眼镜(非近视可以配平光眼镜).用人单位需要的是一名有专业素养,可靠的开发人员.如果有任何因素让对方觉得你不可靠,对招聘是非常不利的.毕竟代码开发需要的是专业、稳重、可靠的人员.一个钉了鼻环的纹身小伙和西装眼镜男,更多人应该会选择后者.
2、要注意谈吐.回答问题,知道的,不必过于急迫,等待考官问完再回答.过于急迫,只要回答有一点不符合考官的预设答案,则对你会很不利.相反,等考官问完问题,考虑15秒(复杂问题可以停留3~5分钟)再回答,则会给人更好的印象——这说明应聘人员非常缜密、稳重并且不浮躁.
3、不必过于热情,但也没有必要害羞.不必过于热情,是指不要一开始就问什么时候上班,几点下班之类具体工作的细节.不要害羞是指对于薪酬、休息、年假、福利、工作内容(粗的内容,不是前面提到的细节)这块,如果对方说的很模糊,不要一带而过.这是对自己负责,也是对对方负责.不然后面发生各种问题,当离职成为唯一解决方案的时候,对双方都没有好处.
4、要准备好自我介绍.自我介绍要简洁明了.简洁不是简单.简洁是有主有次.如果应聘人的经历确实特别丰富,长一些也没有关系,否则短一些也没有关系.将一些简单的内容说很多,只能让对方对应聘人更加低的评价——这会让对方认为应聘人很看重这些低级的工作经验,说明应聘人的能力有限.重点对于技术人员来说一般是技术点,关键点.比如熟练使用svn,熟悉linux系统下的批处理、知道makefile的编写等等.说重点的时候一定要结合一些内容.比如svn管理过多大的项目代码,有多少个版本,遇到的常见的问题.再比如批处理做过一些防火墙设置,文件布署等等.
5、要熟读设计模式和面向对象概念.常用的c++设计模式一定要倒背如流,最好附带上案例.面向对象和面向过程要对比,面向对象的细节概念要清晰(继承、多态、虚继承、抽象类等等)
6、要熟悉至少一种开发库.例如MFC、COM、NET、STL、boost等等。

软件开发工程师面试经验

经验一:
面试是由一位hr和一位技术负责人一起面的,问的问题都很普通,没什么太大的难道。首先回答了一些技术问题,接着回答一些工作经历方面的问题。相当没什么特别的。
面试官的问题:
问为什么离开上家公司
答为了更好的职业发展

经验二:
第一轮是基础面试,主要问平时的科研成果、学习成绩,同时现场写了一个简单的程序。注意,是用手写,不是电脑敲!然后他会很仔细的看你的语法有没有错误等等。。第二轮面试写完程序主要看思路,这个题目相对难一点,主要是思路说清楚就行了,程序不会看的很仔细。最后一轮综合面试还是聊项目之类的,会问一些性格上的东西。
面试官问的面试题:
自我介绍。
做了哪些项目?发了哪些文章,是不是一作?学习成绩如何?
一个无限长数列,前面两位是0,1,2,后面每一位等于它的前面第二位和第三位数之和,给出一个数,找出该数列中离它最近的数。
一个只包含0和1的矩阵,把所有的1替换为它到离它最近的0的步数。

软件开发工程师必备条件

对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用软件工程专业知识来解决问题,根据岗位不同,对软件工程师的要求也有所不同。
具体能力要根据岗位和自己的兴趣爱好选定自己的职业规划方向,一方面要详细了解软件工程师的要求,可以关注企业的招聘信息。
一方面自己要贮备通用的知识技能,广泛阅读相关的计算机材料对自己以后的发展大有帮助。可以确定的是软件工程师的前途在未来的发展依然是不断升温的职业,比较需要有技术和良好前景的专业之一。
软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。

哪种性格的人适合做软件开发工程师

第一点就是有耐性,因为做电脑这行的都必须有这点,如果做软件的就更必须有,如测试一个软件或编一个软件测试时是要经过重复又重复的测试如果没有耐性是做不了的。第二点就是要温和,如果是做桌面维护等的面对许多客户或员工之类的这种性格一定要有,如别人同一个问了又问或今天问了明天忘了等这类情况性情一定要温和。
总而言之。性格是温和有耐性。