1 / 6
文档名称:

高级软件工程师面试问题-Interview-SeniorSoftwareEngineers.docx

格式:docx   大小:23KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

高级软件工程师面试问题-Interview-SeniorSoftwareEngineers.docx

上传人:文库旗舰店 2020/3/31 文件大小:23 KB

下载得到文件列表

高级软件工程师面试问题-Interview-SeniorSoftwareEngineers.docx

文档介绍

文档介绍:高级软件工程师面试问题InterviewSeniorSoftwareEngineershanselman这篇文章很有意思,尽管不是每个问题都很值得作为面试问题出现,但是很多都值得去仔细想想。一个优秀的面试问题,尤其是针对SeniorEngineer的面试问题,不应该仅仅是问某个api的用法,某个很容易从帮助中找到的内容。有发散性,可以基于问题进行扩展的问题才是一个比较好的问题。下面是一个非常长的问题列表,主要是关于面向对象设计,设计模式,以及一些实际工程中会用到概念,都是比较基本的,但是也非常能考察一个高级工程师的水平,因为会牵涉到非常多方面。另外要说明的是下面很多概念性问题可以直接从wiki维基百科上找到答案。另外我会标记出个人觉得比较值得问的问题。原文在这里g/#Whatissomethingsubstantivethatyou’oimproveasadeveloperinyourcareer?有没有做过什么比较实质性的事情来提升你的程序员职业水平?好问题。我的回答:这个很难说,我的做法是坚持学****坚持写技术类博客。另外有些经验在这里提到过/?p=1799#Wouldyoucallyourselfacraftsman(craftsperson)andwhatdoesthatwordmeantoyou?不敢叫自己大师啊,那得多牛逼?!#Implementa<basicdatastructure>using<somelanguage>on<paper|whiteboard|notepad>.用某种语言在纸面上实现一个基本的数据结构。(用近似真实格式的伪代码来表达?)好问题。我的回答,找一本基础的数据结构书籍吧,比如这一本《数据结构与算法分析:C语言描述(原书第2版)》#WhatisSOLID?参考http://en./wiki/Solid_%28object-oriented_design%29这个solid不是说“结实的”,而是面向对象五大原则的简称:单一责任原则,开闭原则,莱西科夫替换原则,接口分离原则,依赖倒置原则。好问题。这几个原则的确应该背下来,太基础了。#WhyistheSingleResponsibilityPrincipleimportant?为什么单一责任原则重要?好问题。我的回答,因为职责明确,设计就不容易混乱,即使有后续变化也是可控的。#WhatisInversionofControl?Howdoesthatrelatetodependencyinjection?参考http://en./wiki/Inversion_of_control实际中的例子,通知开会,一种可以打电话通知到每个人(这属于中心控制型的,必须有个controller/manager之类的);也可张贴一个告示,大家自己来看,这属于事件响应型的。#Howdoesa3tierapplicationdifferfroma2tierone?三层应用与两层应用的区别是什么?我只知道MVC三层应用。#Whyareinterfacesimportant?为什么接口重要?好问题。接口的重要在于消费者(客户端)不需要了解生产者(服务端)的细节,接口相当于合同,当合同不变的时候