常见面试问题总结1
技术面试主要三个方面:
一.项目经验
二.技能水平
三.沟通和协作能力
问题:
1.你做过哪些项目?项目中用过那些技术和框架?(主要看面试者项目经验)
erp wms这类管理系统,
2.理论知识:
one:你是如何理解面向对象的?
初级说概念:类,对象,封装 继承 多态
中级:面向对象开发的优势,高内聚低耦合 再结合项目经验去说
高级:从设计模式的角度分析 项目中面向对象开发的优劣势
复用性和易读性
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
3.你在工作中遇到哪些技术难题?并且是如何解决的?(考察面试者解决问题的能力如何)
. 数据库什么时候成为了瓶颈?
. 如何解决的数据库瓶颈?
. 在解决数据库瓶颈的时候分为了哪些阶段?
. 应用的ab结果大致是如何?
. 曾经是如何解决响应慢的问题?(调用外部api延迟,数据库查询延迟等因素)
例如:做一个 数据统计报表,需要查询好几个月的数据,数据非常大 你应该怎么处理?