小菜的CLR之旅(1)
?第一章 面試受挫
?????????? 小菜已經(jīng)工作2年了,在開發(fā)方面也積累了不少開發(fā)經(jīng)驗(yàn),他像往常一樣背著自己的筆記本去吃早餐,擠地鐵,上班,來到吃早餐的地方給老板說了句:“老板還老樣子”, 一杯玉米粥,兩個(gè)椒鹽餅,老板突然說玉米粥漲價(jià)了2塊一杯,小菜在心里說了句:“我X”,但小菜也是知識(shí)青年,就沒說出口,他問老板“昨天不是1塊嗎,今天怎么兩塊了....?”,老板回答說:"前段時(shí)間10塊錢可以買多少肉,現(xiàn)在可以買多少肉........嘮叨了半天? ".??
???????? ?小菜也覺得口袋的錢越來越少,剛進(jìn)公司的時(shí)候3.5k做了兩年還不到4k,還要交房租,哄女友。。。。每個(gè)月剩下的寥寥無幾,有時(shí)候半毛錢都不剩,而公司老板卻希望你什么都會(huì),做像蘋果一樣的UI,沒有抱怨,最好傻呼呼的。 小菜突然對自己說不能這樣下去了,還要娶媳婦呢,他來到公司,依然是第一個(gè)到公司,他就在xx招聘網(wǎng)站上刷新了下以前在上面的簡歷,繼續(xù)一天的工作。。。。
?????????N天后小菜感覺好久沒打開自己163的郵箱發(fā)現(xiàn)自己的郵箱收了很多HR的面試通知,竊喜。但很多郵件都是一些小公司HR發(fā)的,小菜現(xiàn)在就想進(jìn)一家中大型公司,做自己的產(chǎn)品,有技術(shù)團(tuán)隊(duì),當(dāng)然 一般中大型公司 Money 也不會(huì)低。小菜看到有一家上市公司做房地產(chǎn)項(xiàng)目,小菜心里說:就他了。跟HR越好XX時(shí)間面試,HR最后問他期望薪水是多少,小菜說:"5.5k" . 小菜看半天沒說話心想是不是說多了,5.5k還多 X。HR說:"我們給你7.5K吧,因?yàn)轫?xiàng)目緊張近期會(huì)加班, 沒有加班費(fèi)計(jì)算。 但加班是按照1:1倒休的。呵呵,省的入職后會(huì)覺得沒有加班費(fèi)心里不平衡。" 大公司就是不一樣啊,小菜激動(dòng)的半天沒說話。。。。。。。
??????? 明天就要去xx公司面試了,小菜準(zhǔn)備打一把Dota的,心想今天晚上怎么也得看下基礎(chǔ)的知識(shí),以前面試一般都會(huì)問些: 概述.net訪問權(quán)限,string和string和stringbuffer的區(qū)別,類和結(jié)構(gòu)區(qū)別呀,重載和重寫呀什么的,小菜心想這些我都爛熟于心了,就看了些Js 的一些資料。
???? ??這天一大早,坐車來到xx公司,在前臺(tái)mm面帶笑容的引導(dǎo)下來到公司會(huì)議室,mm說給我倒茶去,我非常紳士的說了句:"謝謝",大公司的mm果然漂亮呀,而且聲音特好聽,很柔弱聽著骨頭都有點(diǎn)軟了,呵呵,扯淡了,mm拿了份面試題,說然給我先做下,寫完了安排面試官面試,小菜看了下5道題全部是編程題,沒有以往的基礎(chǔ)問答題和蛋疼的思維邏輯題,對于2年工作經(jīng)驗(yàn)的小菜來說幾道還算不難的編程算法弟還算難不到小菜的,三下五除二10分鐘就寫完了,倒數(shù)第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“,在思索了半天小菜還算做出來了。
?????????? ?把面試題寫完給前臺(tái)mm后,小等片刻后,這時(shí)走來了兩個(gè)面試官,穿的是西裝,比較紳士,比較儒雅和自然,呵呵,不要想成像賣保險(xiǎn)穿的那樣,面試官很直接沒要我做自我介紹之類的直接問我問題了,我心想你就盡管問吧。在工作中的常用的知識(shí)點(diǎn),我還是知道的,就算不知道也可以說出個(gè)大概。。。面試官開始問了
?
??? 面試官:"CLR在執(zhí)行編寫好的源代碼之前需要做哪些工作?"
??? ?小菜一聽有點(diǎn)懵了,定了定神想了下說:"主要份兩個(gè)階段:1.把源碼編譯為Miscrosoft中間語言(IL)。 2.CLR 把 IL 編譯為平臺(tái)專用代碼。"
???? 小菜心想應(yīng)該是對的,但不敢確定還有其他步驟。
??? 面試官:"List<string>和List<int>他們是同一個(gè)父類嗎?,父類是哪個(gè)?"
?????小菜捏了把汗,回答道?:“List<T> 他們是同一個(gè)父類,繼承的IList”
?? ?面試官:"IList是接口,我問的是他的父類"
????? 小菜馬上在腦袋里面搜索一遍好像沒有啊,是 map,Collection 好像都不是,當(dāng)時(shí)真的痛恨自己以前沒有在Vs里面 按F12轉(zhuǎn)到定義看一下,面試官看我在猶豫就問下一道題了.
?????面試官:"Test2 t2 = new Test2() ,t2.Age.ToString() ?Age是int類型 。ToString操作是否裝箱?"
小菜想了下說:"上面ToString不涉及裝箱操作,因?yàn)橹殿愋投祭^承值ValueType,而ValueType本身重寫了ToString()方法,所以不涉及裝箱"
??? 面試官:"那.Age.GetType() 呢?"
小菜當(dāng)時(shí)也不知道ValueType里面有沒有GetType()方法,有沒有重寫,小菜也不知道就說道:"也不涉及裝箱。"
?????面試官:"值類型的父類是哪個(gè)?"???
????? 小菜:“ValueType”
???面試官:"ValueType父類呢?"???
????當(dāng)時(shí)真想在網(wǎng)上找下.net 類庫結(jié)構(gòu)體系繼承樹圖好好看下,小菜思索了一下,也不知道它上層明確繼承自哪個(gè),只有說道 :“System.Object”
?? 面試官:"你給我們講下類和結(jié)構(gòu)的異同?"?
????小菜:"結(jié)構(gòu)與類的區(qū)別是它們在內(nèi)存中的存儲(chǔ)方式(類是存儲(chǔ)在堆(heap))上的引用,而結(jié)構(gòu)是存儲(chǔ)在堆棧(stack)上,訪問方式和一些特征(如結(jié)構(gòu)不支持繼承)"有所不同。
??? 面試官:"如果想把類存儲(chǔ)在堆棧上怎么辦?"
?????小菜徹底傻了.....
????小菜:“沒有把類存儲(chǔ)在堆棧,這點(diǎn)不知道”
????
????????? 面試官還問了些面向?qū)ο?#xff0c;接口,緩存,Js 原理,作用域,鏈?zhǔn)阶饔糜?#xff0c;閉包等概念,幸好以前知道些,之前寫溫習(xí)了下,小菜都回答的八九不離十
?
????? 小菜之前的工作一直寫功能代碼,應(yīng)用架構(gòu),也常常告訴自己應(yīng)該從底層做起,以前以為自己底層知識(shí)還不錯(cuò)這次徹底被打擊了,?在回家的路上小菜就告訴自己一定要把CRl底層的機(jī)制徹底搞清楚。
?
?
-----------------------未完待續(xù),前面寫了蠻多無關(guān)的,只是想引出后面的CLR知識(shí),歡迎拍磚,你的頂就是我的動(dòng)力----------------------?
轉(zhuǎn)載于:https://www.cnblogs.com/ValiantShield/archive/2011/09/15/2177261.html
總結(jié)
以上是生活随笔為你收集整理的小菜的CLR之旅(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Prelink实现的源码
- 下一篇: 安装iis 配置iis