谈谈.NET架构师面试及如何设计面试题

上星期:应老东家的要求,帮其面试.NET架构师。

于是:老东家进行了一星期的简历收集;

终于:在一堆简历里,精挑细选了四个;

约了:周末上午下午各两个。

面试者年龄:在30-35岁左右,差不多10年.NET经验。

 

毕竟收人钱财替人消灾,所以我特意在面试前的晚上稍为准备了一下:

想看看网上有什么可参考的,

于是:网上搜搜:.NET 架构师面试题 发现:这块内容几乎一片空白,悲哀啊〜〜〜一首“凉凉”送给微软。 偶尔有一两条链接,里面的题都是.NET面试题,套上了架构的名头,坑谁啊。

 

看来只能自己设计了,考虑到:

时间:大约只有1个半小时左右的面试时间。

岗位:.NET 架构师。

这样的时间,这样的岗位,我设计的问题必须直指核心,全面且有效的评估面试者的能力。

 

大约花了两小时左右,就设计好了面试的大体内容。

下面就和大伙分享我设计的面试过程或内容:

 

1、现场编码。

要求写出:缓存类+SqlHelper类(30分钟内,然后由代码引向面象对象或设计模式)。

 

2、数据库。

问了两点:索引的坏处,事务的级别,分布式事务的原理。 

 

3、发散思维题一。

题目:电商,瞬时抢购的方案,你会如何设计。

 

4、发散思维题二。

题目:4G内存的电脑,如何读取8G的日志文件进行分析,汇总数据成报表。

 

5、回归基础题。

题目:说说 数组、链表、Hash表的缺点。

 

6、IIS。

题目:应用程序池的集成模式和经典模式的区别。

 

7、发散性问题:安全

题目:说说你认为的安全都有涉及到哪些地方?

 

8、发散性问题:性能

题目:说说你认为的性能都体现在哪些地方?

 

9、发散性问题:分布式

题目:说说集群、故障转移、负载均衡、分布式都有哪些不同?

 

10、Http 协议

题目:

1:说说301,302,304这三个状态码的用处;

2:协议版本1.0/1.1/2.0,有哪些变化你关注到了?

 

11、TCP、UDP 协议

题目:说说穿透或打洞的原理。

 

12、ASP.NET 的基本

题目:聊聊.NET的管道和.NET Core的中间件。

 

问题或方向可以很多,只挑了这些,感觉已经够聊几个小时了,

且大多数是发散性思维题,没有固定答案,

只要你会聊,每个题都能引出一堆知识点,

但若是基础不稳,回答不了,或一瞎扯马上就能听出来〜

 

架构师是什么?

网上有很多定义,但读取起来都很抽象,

这里,我想用更直白的方式来形容。

架构师=(.NET)语言的熟练开发 + 领悟( 超越语言本身的技术原理+全面的技术体系 )+ X。

如果你认为能熟练的把各种框架组合在一起,搭建一套框架,就是架构师,那你也too洋吐Simple了。

因为有这种能力的,一抓一大把,每个能熟练开发的,基本都能做的到。

有些人10年了,学了很多的框架用法,也只是把熟练开发阶段再宽一点;

再给10年,也许能领悟出吧,但国内的人生几乎容不下另一个10年开发了。

所以,在5-7年这个核心阶段,不领悟出后者,入架构师的门就很渺茫了。

当然也有些仅靠熟练开发阶段就在公司当架构师的,只能说lucky了。

 

老东家的面试结果与总结:

要面试一个中级程序员和一个高级程序员的能力差别,也许有点难。

但要面试一个高级程序员和架构师的差别,却很容易。

 

面试的结果很惨淡,全都停留在熟练开发,不求甚解的阶段,

可悲的是,这不是个别现象,而是群体现象。

 

在这框架群出的时代,能因缘领悟走向架构师的已如凤毛麟角。

若没有相应的架构师人才,除了少数公司,

最后的结局,大多数公司架构师这职位大概会慢慢消失。

特别是.NET领域。

 

所以:

最近,我的微信公众号发了一篇文章:.NET架构师技能提升1V1培训(第一期)

准备试点为.NET的未来培训点架师。 

目前报名的有七八个,不过基本都被我拒了,因为:

年纪太大,职位太高:有技术总监,有项目经理,有技术创业者。

经验不太足:只有1-2年左右的经验

按我的设想,3-7年的最合适,离架构师也最近,培训完还能推荐到给有需要的公司。

 

一段让你思考的对话:

今有个87年的网友问了我这个问题,让我想起了两年前,

也有个10年经验的问了我差不多的问题:秋天,你和我的技术差距在哪里呢?

这种问题的潜在答案就是:

在熟练开发阶段,好像你和我并没有什么不同,一般的系统你能开发的我也能开发。

的确,在这个阶段,是没有大不同,

不同的是领悟的部分,而这个部分是由大量碎片化的经验组成的,

很抽象不好解释,

而单独的表达某一个碎片化的知识时,更说明不了什么问题:因为一说完,他就能知道。

最后除了说:我能写框架,你写不出来,这就是差别,然后呵呵,还能怎么表达〜〜〜

不过看完今天的这篇文章,他大概会明白一些吧,若再不明白就真老了。

 

 

到熟练开发阶段,是很自然而然的事,而且没有门槛,

可怕的是,多数人的心态在这里就止步了,

一停留就五六七年,醒来时却晚了。

 

 

 

最后,愿本文,能让迷茫、停留在熟练开发阶段的人有所帮助。

 

PS:有兴趣的可以关注本文的上一篇文章,有惊喜。

转载于:https://www.cnblogs.com/cyq1162/p/9073634.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 作为一名 .Net 架构师,我认为核心技能包括以下几个方面: 1. 精通 .Net 技术栈,掌握 C#、ASP.NET、Web API、MVC 等相关技术,并能将它们熟练应用于开发工作中。 2. 良好的架构设计能力。在项目开发过程中,架构设计是极为重要的,需要考虑系统的可扩展性、可维护性、性能等方面。 3. 运维能力。架构师需要对开发生命周期的各个阶段都有深刻的理解,因此了解和掌握运维流程对于问题的排查和定位非常有帮助。 4. 沟通能力。架构师需要和项目经理、开发人员以及其他相关人员进行沟通和协作,协调各方面的工作,以确保项目的顺利进行。 5. 抗压能力。架构师通常要负责多个项目或团队,需要在高压力的环境下工作,提供项目支持和解决方案。 在面试过程中,面试官可能会就以上方面进行提问,需要面试者有足够的实践经验和理论知识来回答问题。同时,面试者也可以提出自己的问题来了解岗位的具体工作内容和团队文化。 ### 回答2: .NET架构师是一种重要的角色,负责设计和管理.NET应用程序的结构。在.NET架构师面试中,通常会涉及以下方面: 1. 熟练掌握.NET编程框架,如ASP.NET、WinForms、WPF、ADO.NET等。此外,必须理解C#和VB.NET.NET编程语言的内部工作原理。 2. 熟悉设计模式和架构模式,并能将其应用于.NET应用程序中。架构模式是对于应用程序架构的通用解决方案,例如MVC、MVVM、Layered Architecture和Microservices等。 3. 能够分析和设计大型分布式系统的存储和处理方案。面试者应该熟悉NoSQL数据库,如MongoDB和Cassandra,以及微服务框架,如Service Fabric和Docker。 4. 熟悉.NET Core,并能够使用其构建跨平台应用程序。这包括使用Docker和Kubernetes来构建和扩展.NET Core应用程序。 5. 了解.NET安全模型和身份验证,包括ASP.NET身份验证和授权、SAML、OAuth和OpenID Connect等协议。此外,在.NET应用程序中实现安全最佳实践,例如跨站点脚本(XSS)防护、跨站点请求伪造(CSRF)防护和密码哈希等。 最后,.NET架构师需要具有优秀的沟通和领导能力,能够与其他开发人员和利益相关者沟通,协调团队,确保.NET应用程序的成功开发和交付。 ### 回答3: .net 架构师面试题主要涉及 .net 框架、C#编程语言、web应用程序的设计以及数据库管理等领域。以下是对几个常见问题的回答: 1. .net 框架的特点是什么? .net 框架是一个通用的编程平台,可用于开发用于多种不同应用程序的软件,如桌面应用程序、Web 应用程序以及移动应用程序。它提供了广泛的功能和 API,这些 API 可以用于编写高质量、高性能的 .net 应用程序。 2. C# 语言的重要性如何? C# 是一种强类型、面向对象的编程语言,它是 .net 框架的一部分。开发人员可以使用 C# 来创建各种软件,包括桌面应用程序、Web 应用程序、游戏、移动应用程序等等。在 .net 应用程序开发中,C# 语言非常重要。 3. 设计 web 应用程序的一般步骤是什么? 设计一个 web 应用程序需要完成以下步骤:需求分析、设计应用程序架构、选择合适的开发工具和技术、编写代码、测试和验证、发布和部署应用程序。其中设计应用程序架构是非常重要的,因为它决定了应用程序的性能和扩展性。 4. 如何管理大规模的数据库? 管理大型数据库的关键在于规划、设计和实施数据管理策略。要管理大规模的数据库,需要有一个合理的数据模型、数据架构和索引策略。此外还需要优化查询和数据访问,以提高性能。最后,还需要进行定期的备份和恢复操作,以减少数据丢失的风险。 总之,作为一个 .net 架构师,在掌握这些基本知识的同时,还需要具备团队管理能力、项目管理技能和沟通能力等方面的能力,以便协调开发团队完成项目目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值