<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      .net 開發(fā)人員面試題 - 多線程

      最近園子里好多人談到了招聘面試,特別是多線程這個問題出現(xiàn)了很多次;多線程也是我在面試中很喜歡問的一個題目,和大家分享一下(僅限.net)

       

      為什么喜歡在面試中問這個問題

        因為這是一個很好的了解面試者知識深度的問題,在現(xiàn)代CPU都是多核的背景下,多線程作為一種能充分發(fā)揮CPU資源的技術使用的越來越廣泛.

        而且這個問題可以把普通的應用開發(fā)人員(增刪改查)和有一定技術深度/專研精神的人區(qū)分出來

        (此外:沒吃過豬肉好歹要見過豬跑吧,沒見過豬跑...這個就有點詭異了)

       

      背景:

         面試.net中高級軟件工程師/架構師 (事先可能不知道對方的目標等級,要在這次面試過程中確定, 多線程不是初級/中級開發(fā)人員的必備條件)

        (不同的人對于同一個職位的理解可能不太一樣,我這邊的定義和我前一篇blog的定義一致 http://www.rzrgm.cn/PurpleTide/archive/2012/05/16/2502547.html)

         這里只是單純的一個技術面試的一個問題而已,不是完整的一個面試,這個問題也不是必問的,如果面試者不擅長這個方面也許根本就不問.

        這只是一個單純的技術面試題, 就像是 "接口和抽象類有什么不同" 一類的面試題,只是想確認對方的技術底子,經驗,表達和溝通能力,分析場景和挖掘用戶需求的能力.

       

      以下是我的一般面試流程(不是所有的,不過60%都會在下面,所有問題都不是定死的,會看對方的情況再安排)

       

      1.你了解多線程么

        A 了解(要求簡述,看回答的水平和方向選擇2,3,4,5中的一個)  

        B 不了解(到結論1)

      2.請簡述線程池,以及使用場景

        A 準確描述線程池的意義和使用場景;并且能深入介紹線程的資源消耗 [最好還能列舉多種類似設計的比較](到問題4)

        B 準確了描述了的意義,并能描述對應的使用場景, 例如很多短時間的操作會用線程池中以避免構建線程的資源消耗(到問題3)

        C 能描述使用場景,但是無法系統(tǒng)的說明原因(到結論2)

        D 能系統(tǒng)的的介紹線程池,但是無法描述使用場景(到結論0)

      3.請描述多線程的意義,并介紹你什么時候使用多線程

        A 能準確描述意義和優(yōu)劣勢, [例如性能,邏輯獨立性,額外的性能消耗,線程調度和切換](到問題4 看起來技術細節(jié)/底子不錯  繼續(xù)問技術細節(jié))

        B 能描述一個準確的使用多線程的場景,但是無法系統(tǒng)的描述多線程的意義(到問題5, 想了解一下這個場景是否真的是他設計解決的,還是他只是其中的一個開發(fā)人員)

        C 什么都說不出來,或者說不到點子上 (結論2)

      4.請描述幾種常用多線程同步的方式,并結合你的經驗介紹適用場景 

        A 什么都說不出來(結論0/2 太奇怪了之前的問題是背的?這里同步居然說不出來)

        B 知道lock關鍵字,然后其他的不懂(結論2)

        C 知道lock autoresetevent 信號量等常見的.net中的同步方式,偶爾還能說跨進程同步(結論3-)

        D 知道spinlock monitor event等基本上所有的常用同步方式,知道在某些場景適合用某種方式,但是說不出原因 (到問題5 或者結論3)

        E 知道user mode和kernel mode.對兩者有一些細節(jié)上的了解,明白一個線程所持有的資源,能描述出不同同步方式的差別和使用場景,可以對monitor的內部原理作出介紹(結論4 或者到問題5) 

      5.請結合你的項目,介紹你在設計中為什么使用了多線程,并且為什么具體選擇了這種方案

        A 沒有具體的使用場景,(到結論0/2/3)

        B 能從某一個角度介紹使用場景,并且能表述為什么當初使用了這個場景(到結論3)

        C 作為團隊的一員,參加過某個大型項目, 所以有一個很適合的使用場景,但是只講過豬跑,沒吃過豬肉(到結論3)

        D 能系統(tǒng)的描述和介紹一些很適合的使用場景,并結合自己的項目經驗介紹當初為什么使用這樣的設計,同時還能提出優(yōu)化建議以便能做的更好(到結論4) [可能會提出一個場景讓他按照他的經驗做現(xiàn)場設計]

        

       

      初步結論0: 這人可能是事先準備的面試題,或者是聽別人介紹過,但是自己從來沒用過;接下來我會問問他其他方面的技術問題(特別是細節(jié)),確認他是否只會吹牛

      初步結論1: 能力<=中級開發(fā)人員 [沒吃過豬肉好歹要見過豬吧]

      初步結論2: 能力在中級開發(fā)人員附近 [有過不少實踐經驗,但是沒有系統(tǒng)的想過原因,知其然而不知其所以然]

      初步結論3: 能力在中級開發(fā)人員到高級開發(fā)人員之間 [知道點東西,不知道更詳細的, 別人交代的任務可以完成的比較順利,但是想做的很好有點難,需要架構師幫忙控制設計]

      初步結論4: 能力在高級開發(fā)人員和架構師之間 [對多線程有較深入的了解,能在架構設計的時候選擇適合的解決方案,能系統(tǒng)的描述多線程的意義,并給團隊其他成員技術支持]

       

      所有的結論都不是定死的,一般還會補充一些問題,或者最后讓面試者自由問問題; 希望面試者能充分表現(xiàn)他的技術能力在這個點

      某些可能會被問到的技術細節(jié):(上面已經提到的就不問了)

      1.如果你是個leader/manager  如何解決掉產品里面存在的多線程的bug(你的團隊成員水平可能很一般,會寫出一些BUG)

      2.IO線程和worker線程(window 和.net)

      3.后臺線程和前臺線程

      4.Stackoverflow的問題排查 (詢問線程棧)

      5.線程池的配置和影響范圍(有沒有通過配置優(yōu)化.net應用程序的性能)

      6.有沒有做過多線程程序的debug

        如何排查某個進程中CPU 100% 的根本原因(假設只在生產環(huán)境出現(xiàn))

        出現(xiàn)意料之外的數(shù)據(jù)怎么處理

      8. 是否了解TLS  thread local storage(可能會問到CallContext)

      9.經典案例, 每隔一分鐘執(zhí)行一次的定時任務, 用 thread+ while(true) 還是timer

      10.一個.net線程的資源消耗

      11. .net線程和window線程的異同

      12 幾種常用的概念的性能差別

      13 asp.net的線程機制和一些關鍵配置

      14 一些常見的多線程設計的場景   例如 thread1- queue- theads

      15 多線程和異步有什么關系和區(qū)別

       

      本文描述了一些我個人比較喜歡的多線程方面的問題,以確定面試者是不是有足夠的能力和技術深度

      順便看看他是否有系統(tǒng)的分析和解決問題的能力以及足夠的知識面,順便看看面試者的經驗和知識體系

      此外如此多的描述也是考驗對方表達和溝通能力(這是架構師的重要能力)

      當然,肯定有遺漏,不足或者誤判..還請大家一起討論討論

       

      補充(感謝各位在評論中的提醒)

      1.這不是一個完整的面試,完整的面試更多是考核面試者是不是適合我們的公司的這個職位;包括說 性格,解決問題的能力,學習能力,團隊合作,目前的技術水平

         而這只是詢問一個技術細節(jié),很多人評論說,面試應該怎樣怎樣...那是整個面試的環(huán)節(jié),而不是一個具體面試題目和流程,這個題目就只想看看面試者的技術底子,經驗,溝通和表達能力,分析問題的能力,還有就是在有反饋的情況下能否挖掘出真正的場景 

      2.這個目標職位的范圍比較大,要看面試者的能力/回答給他做適合的定位,大部分人一般回答2,3分鐘他就沒啥可說的了......(大部分只回答幾分鐘的人...那自然挖不出太多東西了)

      3.之前我們公司招聘的高級職位對高性能/架構設計有些要求,而多線程在這個領域還是挺重要的

      4.這只是一個簡單的技術面試題 答不出也沒什么,畢竟不是所有人之前都做過多線程; 每個人都有自己擅長的方向.但是如果作為一個高級工程師不了解多線程,這個就說不過去了....

      5.這只是面試中的一個題目/環(huán)節(jié)而已,一般不超過10%的權重,不可能只用一個稍微偏的技術問題作出hire決定的

       

      posted on 2012-05-19 16:01  聽說讀寫  閱讀(13993)  評論(39)    收藏  舉報

      導航

      主站蜘蛛池模板: 亚洲一区二区三区自拍公司| 日韩免费码中文在线观看| 青春草公开在线视频日韩| 久久精品国产福利一区二区 | 国产一区二区在线影院| 色综合 图片区 小说区| 久久99国产亚洲高清观看首页| 日韩中文字幕在线不卡一区| 四虎成人精品永久网站| 亚洲国产色婷婷久久99精品91| 99精品热在线在线观看视| 国产成人亚洲精品狼色在线| 精品亚洲没码中文字幕| av中文字幕国产精品| 色老头亚洲成人免费影院| 欧美成人午夜在线观看视频| 亚洲 丝袜 另类 校园 欧美 | 房山区| 久久夜色精品国产亚av| 网友偷拍视频一区二区三区| 亚洲老熟女一区二区三区| 国产一级片内射在线视频| 日本边添边摸边做边爱| 国产精品伦人一久二久三久| 成人午夜电影福利免费| 99国精品午夜福利视频不卡99| 4480yy亚洲午夜私人影院剧情| 中文字幕在线永久免费视频 | 九九热爱视频精品| 午夜福利yw在线观看2020| 亚洲综合黄色的在线观看| 欧美性猛交xxxx免费看| 国产精品久久久久久亚洲色| 国产精品综合在线免费看| 亚洲gv猛男gv无码男同| 伊人春色激情综合激情网| 日韩有码av中文字幕| 99久久99久久精品国产片| 免费无码影视在线观看mov| 亚洲欧美日韩愉拍自拍美利坚| www夜片内射视频日韩精品成人|