关于.Net的面试遐想

概述

这几天更新相关的面试题目,主是要针对有4年或以上经验的面试者,总体来说,发现面试人员的答题效果和预期相差比较大,我也在想是不是我出的题目偏离现实,但我更愿意相信,是我们一些.Net开发者在工作中都用简单而重复的代码来实现了业务,而基础性和深层次的知识和实际工作反而关系不大,所有有多年开发但技术上却没有质的变化。

测试题目

我把测试的题目写成了接口,在接口上把接口要求进行了文档注释,同时把接口的单元测试也已经写好了。要求面试者在机试项目上添加一个类,用于实现面试题目接口,方便机试者自己的测试,当然,最主要是方便我快速知道面试者的代码实现是否正确和性能如何。

部分机试题目接口:

        /// <summary>
        /// 在线客户端的ip地址数据保存了在一个string数组中      
        /// 去掉不是ip地址的元素
        /// 过滤掉数组中重复的ip地址并按重复次数降序排序
        /// </summary>
        /// <param name="ipAddress">待处理的ip地址</param>
        /// <returns>返回处理后这些ip的string数组</returns>
        string[] ClearnIPAddress(string[] ipAddress);

        /// <summary>
        /// 从左到右检测字符串是否有出现过的字符
        /// 如果有,返回重复出现的第一个字符,否则返回''
        /// </summary>
        /// <param name="str">要检测的字符串</param>
        /// <returns></returns>
        char GetFirstRepeatChar(string str);

        /// <summary>
        /// 某ip的远程服务监听了8881-8890的某个tcp端口
        /// 请找出是监听了哪个tcp端口
        /// </summary>
        /// <param name="ip">ip</param>
        /// <remarks>建议使用多线程提高查找速度</remarks>
        /// <returns></returns>
        int SearchTcpPort(IPAddress ip);


答题情况

作题的时候,是可以使用搜索引擎查找答案的,但不能向人求助,以下是机试过程中发现到的一些问题:

  1. 部分面试者没有注意到单元测试项目的存在和作用,在完成代码后,有的说代码完成了但没有测试;
  2. 没有测试的面试者,难以把题目每个要求点做对;
  3. 简历上不少有写精通网络编程、MVC、多线程等的,但SearchTcpPort实现不佳;

最后

其实此刻我心里很矛盾,我也是开发人员,有时也是面试者,有时也是面试官;面试的时候有时脑里想程序员何苦要为难程序员也有。作题不能代表实际水平,这是肯定的,只是不作题,又如何相信简历上面的各种精通呢,我希望.Net开发者们一起提高自身的水平,相互分享和帮助,减少程序员何苦要为难程序员,今天我是你的面试官,明天你可能是我的面试官,如果每个人的水平都不错,面试也就是一个谈笑风声的过程而已。

原文地址:https://www.cnblogs.com/kewei/p/4892492.html