MyException - 我的异常网
当前位置:我的异常网» 综合 » 任意扯扯东北师大的面试

任意扯扯东北师大的面试

www.MyException.Cn  网友分享于:2013-11-16  浏览:0次
随便扯扯东北师大的面试

昨天跑到东北师大招聘会面试, 一位面试官问我:"说说C#中的属性, 严格来讲应该是特性"

东北师大昨天有个大型的招聘会, 今天吉大有, 今天的这个我没去, 说说昨天的经历吧。总的来说吧, 计算机的方面的真多, 我同学还听见有人尴尬说, 当初学计算机就好, 找工作也不会这么愁了, 作为计算机的, 说句公道话, 计算机专业的就是找工作的时候机会多而已, 但是走技术路线要求也是很高的, 先不说学历(昨天有个公司的应聘人员清一色研究生...我同学跑过去了, 问了两句, 看了下应聘人员名单, 就走了, 有点尴尬, 因为那些都是2清一色的计算机研究生硕士学位...), 其次就是技术能力了, 讲真, 计算机的这个专业, 没有技术真混不开, 说白了一句话, 你需要学到老学到老, 因为技术变革太快了, 你需要掌握的很多, 单单是语言就需要掌握多个语言, 没有一个程序员是只会一门语言的, 其次就是广度与深度了, 尽管现在框架满天跑, 但是讲真, 光会用真没有, 你需要的就是了解底层, 而且你觉得你真会用那些框架? 而且一个框架是远远不够的, 一言不合就是三四个框架。哎, 废话太多, 总而言之一句话, 计算机其实也不好找工作, 只是机会多.

扯淡完了, 说正题吧, 我找了一家专门搞asp.net的公司, 为什么说专门呢!我特意问了下, 他们用不用asp.net core, 一句话, 我们现在的产品不需要跨平台*-*, 这家公司有点靠谱(最起码比我投简历的前两家靠谱, 因为是一个懂技术的人来面试, 估计是个技术主管, 因为他的年纪比我爸还大, 其余的企业都是女HR, 长得一般吧, 没有我在武汉实习那家公司的女HR漂亮)。一来就问我C#中的一些好用的特性, 我有半年没用c#了, 一直在学python, 我原本打算面python的, 结果140家没有一家招python, 我也是很无奈, 能回答出来都是靠自己大二大三的积累, 讲真, 还好当初好好学了点, 但是也忘了很多重要的. 随后再说。凭记忆我说了lambda表达式, async/await, 还有我忘了...说完了C#的一些好用的特性(类似语法糖), 我装了下逼, 反正那位和蔼的老叔叔(他实在太和蔼了, 说话轻声细语的, 很好听*.*, 而且有些许白发)也不懂python, 我就对比了下两者, 也算是个加分点吧(面试一开始我就说了, 我原本打算面python的, 好久没用C#了, 比较生疏, 他说没事没事, 想说啥说啥, 我就不客气了*-*), 数据结构是必须的, 问了我快排, 我之前学设计模式之策略模式的时候, 看到资料上说asp.net的排序算法是用策略模式进行设计的, 哎, 说到这个真无奈啊, 我当时忘了是啥设计模式了, 就没有说到这个点。他问的也比较笼统, 我也没有怎么说, 然后还有其他的一些, 我完全凭印象说的, 随后就是我们文章的重头戏了, "你觉得C#中的属性, 严格来讲应该是特性, 有什么用, 你用过吗?" 我当然用过了, 但是我当时忘了, 因为一开始我听成了属性, 就扯淡说C#2.0属性定义比较麻烦, get, set设置还得引入第三个变量, C# 3.0之后就直接一个花括号里面加个get;set就行, 这就是一个属性, 等我说完, 他说不是属性, 是特性。 这个我还真懂!当初特意研究了这个, asp.net mvc框架的过滤器其实就是特性的一种, 我写了一篇文章<<ASP.NET MVC Filter的思考 >> <<Attribute在.net编程中的应用(二)>>我当初还一边摸着头一边研究这玩意(因为序列化就是基于特性attribute的), 写的有点抽象, 研究起来有点难...我还思考了下asp.net中AOP, 其实可以理解为attribute, 哎, 这些都没有说出来, 因为我忘了o(╥﹏╥)o, 然后就没有答上来, 技术问完之后, 我扯淡了一会, 问了下他们的项目之类的, 他说部署在微软云上, 本来就对azure感兴趣, 因此深入问了下他一些, 还扯了一些自己的思考问题, 聊得还行吧, 他们的SQL SERVER是2014版本的, 我就顺嘴问了句, 对比Oracle怎么样, 我说其实现在的SQL SERVER不比oracle差, 很巧, 看法一样, 说了一些相关的, 哦, 对, 他问我, 关键词检索你会怎么做, 我说sql模糊查询 + 缓存(memcached) + C#代码优化(比如string类型少用之类的), 明显回答不好, 我也就能想到这些了, 不可能像百度, 谷歌搜索那样有专门的算法, 其实应该有, 只不过没有不是那么大的算法, 关于这个我特意问了下我专业算法科老师, 回头和她讨论下, 这是个很不错的老师!博客园的搜索就做的很不错, 不知道是什么思路, 除去最基本的sql模糊查询, 缓存之外还有啥?总的来说, 应该有一个很好的设计思路(也算是算法吧), 不知道是怎么样的?C#不比Python, C# 的搜索库不怎么了解, python就光说词云处理就有好几个库, 搜索的库也有好几个库, 关键词搜索说白了, 先是断句, 随后选择关键的词去sql查询, 断句就是一个算法, 这也是最基本的, 搜索结果很大程度上取决于这个断句, 而Python做词云处理很不错, 库多啊, C#不了解了,哎, 这些当时都没有说o(╥﹏╥)o

这次面试感觉不好, 没想到不招python, asp.net面试准备不足, 全是靠自己大二大三的积累, 加上比较紧张, 一些基本的没有想起来, 哎...还是基础不扎实, 面试的确就是面基础 + 一定的自我思考。东北师大不错, 环境, 学习氛围, 有点想考研了, 读个真正的好学校....我朋友还加了一句, 东北师大女生穿衣风格和气质都和普通院校不一样,挺漂亮的, 有知性美...我一脚踹过去了,说了一句死胖子。

回到C#代码上:

[你必须知道的.NET] 第三回:历史纠葛:特性和属性

 

 /*
     特性就是为目标元素, 可以是数据集, 模块, 类, 属性, 方法, 甚至是函数参数等加入附加信息, 类似于注释, 但是可以在运行期间以反射的方式获得。
     * 特性主要应用在序列化, 编译器指令, 设计模式, ORM等方面
     */
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,
        Inherited = true)]
    public class MyselfAttribute : System.Attribute
    {
        public string Name { get; set; }

        public int Age { get; set; }

        public string Memo { get; set; }

        public MyselfAttribute()
        {
        }

        public MyselfAttribute(string name, int age)
        {
            Name = name;
            Age = age;
        }

        public void ShowName()
        {
            Console.WriteLine("Hello, {0}", Name == null ? null : "world.");
        }
    }

    [MyselfAttribute("Ryan", 22)]
    public class mytest
    {
        [MyselfAttribute("Ryan", 22)]
        public void SayHello()
        {
            Console.WriteLine("Hello, asp.net ");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //mytest test = new mytest();

            //test.SayHello();


            Type tp = typeof(mytest);

            //获取成员方法的反射信息
            MemberInfo methof_info = tp.GetMethod("SayHello");

            MyselfAttribute myAttribute = (MyselfAttribute)Attribute.GetCustomAttribute(methof_info, typeof(MyselfAttribute));

            if (myAttribute != null)
            {
                Console.WriteLine("你查看的是{0}的反射信息", methof_info.Name);
                Console.WriteLine("Name: {0}", myAttribute.Name);

                Console.WriteLine("Age: {0}", myAttribute.Age);

                Console.WriteLine("Memo of {0} is {1}", myAttribute.Name, myAttribute.Memo);

                myAttribute.ShowName();
            }

            //获取类的反射信息
            MemberInfo info = tp;

            MyselfAttribute class_myAttribute = (MyselfAttribute)Attribute.GetCustomAttribute(info, typeof(MyselfAttribute));

            if (class_myAttribute != null)
            {
                Console.WriteLine("你查看的是{0}的反射信息", info.Name);
                Console.WriteLine("Name: {0}", class_myAttribute.Name);

                Console.WriteLine("Age: {0}", class_myAttribute.Age);

                Console.WriteLine("Memo of {0} is {1}", class_myAttribute.Name, class_myAttribute.Memo);

                class_myAttribute.ShowName();
            }

            Console.Read();
        }
    }
1楼猝不及防
..东北师大..好怀念啊,我是吉大的,原来在吉大学微电子,儒巾也是一名程序猿了,找的公司还不错,从0开始教编程,现在也能做一些项目了,无奈基础不够,很多事情还是不懂.

文章评论

科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员的鄙视链
程序员的鄙视链
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
10个调试和排错的小建议
10个调试和排错的小建议
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
老程序员的下场
老程序员的下场
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
一个程序员的时间管理
一个程序员的时间管理
程序员都该阅读的书
程序员都该阅读的书
程序员必看的十大电影
程序员必看的十大电影
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员应该关注的一些事儿
程序员应该关注的一些事儿
如何成为一名黑客
如何成为一名黑客
 程序员的样子
程序员的样子
我的丈夫是个程序员
我的丈夫是个程序员
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
每天工作4小时的程序员
每天工作4小时的程序员
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
那些争议最大的编程观点
那些争议最大的编程观点
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
鲜为人知的编程真相
鲜为人知的编程真相
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
漫画:程序员的工作
漫画:程序员的工作
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
旅行,写作,编程
旅行,写作,编程
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
我是如何打败拖延症的
我是如何打败拖延症的
代码女神横空出世
代码女神横空出世
编程语言是女人
编程语言是女人
中美印日四国程序员比较
中美印日四国程序员比较
总结2014中国互联网十大段子
总结2014中国互联网十大段子
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有