第一章 面试受挫

           小菜已经工作2年了,在开发方面也积累了不少开发经验,他像往常一样背着自己的笔记本去吃早餐,挤地铁,上班,来到吃早餐的地方给老板说了句:“老板还老样子”, 一杯玉米粥,两个椒盐饼,老板突然说玉米粥涨价了2块一杯,小菜在心里说了句:“我X”,但小菜也是知识青年,就没说出口,他问老板“昨天不是1块吗,今天怎么两块了....?”,老板回答说:"前段时间10块钱可以买多少肉,现在可以买多少肉........唠叨了半天  ".

小菜也觉得口袋的钱越来越少,刚进公司的时候3.5k做了两年还不到4k,还要交房租,哄女友。。。。每个月剩下的寥寥无几,有时候半毛钱都不剩,而公司老板却希望你什么都会,做像苹果一样的UI,没有抱怨,最好傻呼呼的。 小菜突然对自己说不能这样下去了,还要娶媳妇呢,他来到公司,依然是第一个到公司,他就在xx招聘网站上刷新了下以前在上面的简历,继续一天的工作。。。。

N天后小菜感觉好久没打开自己163的邮箱发现自己的邮箱收了很多HR的面试通知,窃喜。但很多邮件都是一些小公司HR发的,小菜现在就想进一家中大型公司,做自己的产品,有技术团队,当然 一般中大型公司 Money 也不会低。小菜看到有一家上市公司做房地产项目,小菜心里说:就他了。跟HR越好XX时间面试,HR最后问他期望薪水是多少,小菜说:"5.5k" . 小菜看半天没说话心想是不是说多了,5.5k还多 X。HR说:"我们给你7.5K吧,因为项目紧张近期会加班, 没有加班费计算。 但加班是按照1:1倒休的。呵呵,省的入职后会觉得没有加班费心里不平衡。" 大公司就是不一样啊,小菜激动的半天没说话。。。。。。。

明天就要去xx公司面试了,小菜准备打一把Dota的,心想今天晚上怎么也得看下基础的知识,以前面试一般都会问些: 概述.net访问权限,string和string和stringbuffer的区别,类和结构区别呀,重载和重写呀什么的,小菜心想这些我都烂熟于心了,就看了些Js 的一些资料。

这天一大早,坐车来到xx公司,在前台mm面带笑容的引导下来到公司会议室,mm说给我倒茶去,我非常绅士的说了句:"谢谢",大公司的mm果然漂亮呀,而且声音特好听,很柔弱听着骨头都有点软了,呵呵,扯淡了,mm拿了份面试题,说然给我先做下,写完了安排面试官面试,小菜看了下5道题全部是编程题,没有以往的基础问答题和蛋疼的思维逻辑题,对于2年工作经验的小菜来说几道还算不难的编程算法弟还算难不到小菜的,三下五除二10分钟就写完了,倒数第2题看着很简单小菜却无从下手,踌躇犹豫中。题目是:”a user entered an integer value into a text box. convert the numeric string to its integer representation. can not use Parse,TryParse,convert“,在思索了半天小菜还算做出来了。

把面试题写完给前台mm后,小等片刻后,这时走来了两个面试官,穿的是西装,比较绅士,比较儒雅和自然,呵呵,不要想成像卖保险穿的那样,面试官很直接没要我做自我介绍之类的直接问我问题了,我心想你就尽管问吧。在工作中的常用的知识点,我还是知道的,就算不知道也可以说出个大概。。。面试官开始问了

    面试官:"CLR在执行编写好的源代码之前需要做哪些工作?"

小菜一听有点懵了,定了定神想了下说:"主要份两个阶段:1.把源码编译为Miscrosoft中间语言(IL)。 2.CLR 把 IL 编译为平台专用代码。"

小菜心想应该是对的,但不敢确定还有其他步骤。

  面试官:"List<string>和List<int>他们是同一个父类吗?,父类是哪个?"

小菜捏了把汗,回答道 :“List<T> 他们是同一个父类,继承的IList”

    面试官:"IList是接口,我问的是他的父类"

小菜马上在脑袋里面搜索一遍好像没有啊,是 map,Collection 好像都不是,当时真的痛恨自己以前没有在Vs里面 按F12转到定义看一下,面试官看我在犹豫就问下一道题了.

  面试官:"Test2 t2 = new Test2() ,t2.Age.ToString()  Age是int类型 。ToString操作是否装箱?"

小菜想了下说:"上面ToString不涉及装箱操作,因为值类型都继承值ValueType,而ValueType本身重写了ToString()方法,所以不涉及装箱"

面试官:"那.Age.GetType() 呢?"

小菜当时也不知道ValueType里面有没有GetType()方法,有没有重写,小菜也不知道就说道:"也不涉及装箱。"

面试官:"值类型的父类是哪个?"

小菜:“ValueType”

面试官:"ValueType父类呢?"

当时真想在网上找下.net 类库结构体系继承树图好好看下,小菜思索了一下,也不知道它上层明确继承自哪个,只有说道 :“System.Object”

面试官:"你给我们讲下类和结构的异同?"

小菜:"结构与类的区别是它们在内存中的存储方式(类是存储在堆(heap))上的引用,而结构是存储在堆栈(stack)上,访问方式和一些特征(如结构不支持继承)"有所不同。

面试官:"如果想把类存储在堆栈上怎么办?"

小菜彻底傻了.....

小菜:“没有把类存储在堆栈,这点不知道”

面试官还问了些面向对象,接口,缓存,Js 原理,作用域,链式作用域,闭包等概念,幸好以前知道些,之前写温习了下,小菜都回答的八九不离十

小菜之前的工作一直写功能代码,应用架构,也常常告诉自己应该从底层做起,以前以为自己底层知识还不错这次彻底被打击了, 在回家的路上小菜就告诉自己一定要把CRl底层的机制彻底搞清楚。

-----------------------未完待续,前面写了蛮多无关的,只是想引出后面的CLR知识,欢迎拍砖,你的顶就是我的动力----------------------

转载于:https://www.cnblogs.com/ValiantShield/archive/2011/09/15/2177261.html

小菜的CLR之旅(1)相关推荐

  1. 小菜鸡的进阶之旅启程!

    小菜鸡的进阶之旅启程! 新学期新目标 新学期新目标 鉴于自己在学习过程中很容易健忘,所以就创建一个博客来总结一下自己在一段时间内学习到的内容,巩固知识,记录自己的成长~!也希望我写的内容有错误的,能够 ...

  2. F#探险之旅(三):命令式编程(上)

    F#系列随笔索引页面 在本系列的第二部分(函数式编程上.中.下)中,我们了解了如何使用F#进行纯粹的函数式编程.但是在一些情况下,比如I/O,几乎不能避免改变状态,也就是说会带来side effect ...

  3. 小菜学设计模式——高内聚、低耦合

    2019独角兽企业重金招聘Python工程师标准>>> 背景 本文标题为什么叫小菜学习设计模式,原因是本文内容主要是学习<大话设计模式>时的笔记摘要部分,当然,并不是记录 ...

  4. 深度 | 人工智能的游戏征途:超级玛丽简直小菜一碟,星际争霸、LOL才是大boss...

    人类玩家依然能在类似<星际争霸>这样的游戏中夺冠 AP Photo/David Goldman "深蓝"打败人类距今已有20年,离 AlphaGo和李世石的世纪围棋之战 ...

  5. 多线程之旅之四——浅谈内存模型和用户态同步机制

     用户态下有两种同步结构的 volatile construct: 在简单数据类型上原子性的读或者写操作   interlocked construct:在简单数据类型上原子性的读和写操作 (在这里还 ...

  6. 《Windows Communication Foundation之旅》系列之二

    <Windows Communication Foundation之旅>系列之二 三.WCF的技术要素 作为基于SOA(Service Oriented Architecture)的一个框 ...

  7. vNext之旅(2):net451、dotnet5.4、dnx451、dnxcore50都是什么鬼

    继上次"vNext之旅(1):从概念和基础开始"之后再次学习vNext重新遇到了弄不懂的事情,花了一些时间学习,今天来分享一下,为后人节省些时间. 起因 在用vNext造轮子--框 ...

  8. 我的WCF4 Rest Service及Entity Framework with POCO之旅(三)——用Entity Framework和POCO Template实现数据模型及存储...

    既然这个系列标题中都含有Entity Framework和POCO,这两者若到第三篇还不出现那就太奇怪了.本文将介绍如何使用Entity Framework和POCO来实现数据模型的创建以及数据存储. ...

  9. 机房收费系统合作版(一):开始团队合作之旅

    时光荏苒,犹记去年这时开始自己人生的第一个系统(机房收费系统个人版)的开发,又至刚刚弄完的机房收费个人重构版,至此自己对这个系统已开发了二次,趁热打铁于是乎轰轰烈烈的开始了自己对机房收费的第三遍合作之 ...

最新文章

  1. Bitcoin Unlimited发布BCH新版客户端1.5.0.0,包括CTOR和CDSV
  2. Springboot工程下使用mybatis反向工程
  3. opencv将整个图片BGR通道的某个通道进行修改
  4. Tableau实战系列浏览 Tableau 环境(二) -工作区域
  5. 智慧景区项目建设方案之(票务管理详细介绍)
  6. 机器学习中各分类算法的优缺点比较
  7. 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发简介之用户授权(PHP基础篇)_PHP教程...
  8. android oreo_您的手机何时将获得Android Oreo?
  9. Linux简介与安装
  10. 推荐,Java Emoji Converter(Emoji表情转换工具)
  11. 2019最新微信公众平台PHP开发搭建与揭秘(附代码)
  12. JDK1.8下载与安装
  13. 【NOIP2006PJ】开心的金明(happy)
  14. 同行动态:海隆软件96%销售额来自出口
  15. STM32 CAN波特率计算
  16. Ionic实现混合开发--探索之旅
  17. 搜狗浏览器自动保存密码的技巧
  18. 交互设计:非原型,不设计
  19. Go编程 技巧 for range 和channl(除了select的另外一种)
  20. CATIA ImagineShape快速模型

热门文章

  1. Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理
  2. SQL Server 数据库所有者
  3. jqGrid如何设置jqGrid第一次初始化时不加载任何数据?实现方法!
  4. 【转】Hibernate数据过滤
  5. UML 中各种图形重要性的排行
  6. js 日期对象 31 号 setMonth 的锅
  7. CSS3动画详解(图文教程)
  8. setXxx()和getXxx()的作用
  9. WebAssembly 系列(五)为什么 WebAssembly 更快? 1
  10. XMind助你快速解决问题