从面试题看高级软件工程师需具备的技艺(附最后两题的详细说明)

1.B/S方面,
简要介绍企业内部系统的设计需要注意哪些问题.
然后就提到的性能,安全,可扩展性,可用性等非功能性特性中的一点或几点深入的讨论

2.数据库性能问题
数据库设计一般需要注意哪些
索引如何设计
如何快速定位在较高负载时造成性能问题的存储过程或查询语句
你自己一个功能较复杂的存储过程,如何评估它的效能,以及达到什么样的标准才签入到产品中

3.设计
关于组件对外提供的接口,需要注意哪些
工作中用过哪些设计模式及面向对象设计的原则,有过有用过的话,有没有相对较难但效果很好的实际应用

4.测试
有过自动化测试的经验吗,如果有的话,简单介绍下具体操作.

5.解决问题
如果忽然碰到很棘手,而且从来没接触过的问题,你一般会怎么解决
详述如忽然要你做一个OCR,64位兼容,硬件调用等问题,简要讨论怎么解决

6.其他
有没有看过一些给你触动很大的面向对象设计的书籍,有的话简单介绍一下该书的大致内容以及印象很深刻的一部分

如果之前承诺的发布日期就在两周后,但你发现你负责的模块需要三周才能完成.你会怎么做
假如你想申请延期或砍功能,你怎么说服经理

某测试小组成员老将测试你负责部分中出现的Bug直接提交到高层,且经常在你比较忙的时候请教你负责模块的内容.对于这种情况,你打算如何处理

---------分割线-----------------------------------------------------------------------
上面的问题都是我在三月份左右面试的真实问题,当然不会全部问到。
面试或者说是面谈是一个交互的过程,谈论的话题也并非都有正误之分。目的只是让双方有个相互了解,一是公司需要什么样的人,什么样的技术;二是应聘者能否认同公司的工作方式。

公司需要的是对设计尤其是面向对象设计要有较深刻的理解和实际的工作经历。同时需要开发者对自己的负责模块的数据库设计负责,还可能会有一些未知的难题负责,同时需要对代码的质量负责,有自动化的单元测试更好。

另外倒数第二题,讨论项目会延期的问题。我先介绍下我们公司目前的发布流程,我们产品一般会在3个月左右发布一个小的版本(比如6.1到6.2版)一年左右一个主版本(如6.x到7.0),版本的发布期限相对有规律,而主要的需求在该版本开始前就会确定,当然开发的过程中会有所变更,但不会是大的变更。

就怎么说服上层,就我以前常用的办法。无非是晓之以理,列明厉害关系。提供上层决策需要的资料。就我以前的经历来看,几乎没有失手过。但非常重要的一点就是你要从多过方面准备资料,并且确实是站在符合产品大目标的角度来阐述。
另外,我们这基本不加班。而且你私底下把问题消化而不提交给你的经理,我认为反而是最不好的。一是经理或更上层根本就不知道这个风险,也就不会有应对的计划和措施了。二是加班赶出来的进度质量一般都不大可能比正常工作的好。三是你可以加班不代表测试团队,市场部门都会乐意陪你加班。
当然,你要是能早点提出问题,不在发布前不久才提出问题就更好了。


关于最后一题,关于核测试团队合作的讨论。就更没大家想的那么复杂了。也说下上下文,之前测试团队找到Bug是有奖励的;同时Bug多到临界数目时,开发成员必须停下来处理Bug。
所以呢,测试成员乐于提交Bug涉及到两个问题,一是以数量论英雄的方式和沟通的问题。二是如何更好的协作。
Bug的提交奖励我们后来略作修改,Bug也带上价值从0到5个星。最后产品的最终成功也和测试成员的绩效相关,也就是你测试的模块最后按时高质量的完成了.你的绩效也就高
另外,测试成员提交所有未经考虑或评估的所有问题,对开发成员当然有影响,一个是声誉一个是中途停下来处理Bug势必影响开发进度.但同时对测试成员也会有影响的,老是低质量的bug飞来飞去浪费大家时间.所以你可以和一些还不熟悉的测试成员说明利害,让他提交之前做些考虑,同时可以参照别人的Bug.最重要的一点你要他将bug抄送给你,将一些常见的不是bug的种类告诉他,让他在提交之前一定要先考虑.

关于测试成员老在你工作时打搅你,这个想问的是你如何处理工作干扰.这个问题楼下有个回答很好,留单独的时间讨论.
我自己的做法是,提醒测试成员先将所有问题先记下来,并邮件发送过来.汇总之后抽时间一块讨论.当然如果测试成员无法继续工作(测试)时,你还是不能让他干等一个上午的.

其实,说到底就是如何和测试成员共同工作.如果能让他的工作能提升你的效率就更好了.反正大家都是为了产品销量更好,互相配合才是最好的.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值