zoukankan      html  css  js  c++  java
  • 谈谈.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:有兴趣的可以关注本文的上一篇文章,有惊喜。

  • 相关阅读:
    ODBC是什么
    node学习连接和网站
    MongoDB--连接客户端和服务
    css页面布局--三栏(两边固定中间自适应&两边自适应中间固定)
    MongoDB--搭建mongodb服务器
    MongoDB--编译文件
    MongoDB--运行环境
    Ubuntu下搜狗输入法乱码
    从命令行控制计算机屏幕
    CPU风扇转速异常
  • 原文地址:https://www.cnblogs.com/cyq1162/p/9073634.html
Copyright © 2011-2022 走看看