01
—
前言
之前面試C#軟件工程師崗位,前前后后參加了幾十場面試,也積累了不少經驗,今天趁着放假,匯總整理一下,分享給年后有新打算的小伙伴們!
02
—
面試前准備
首先是簡歷,簡歷一定要認真對待,不能隨隨便便找個模板套一下就完事,它是你能不能得到面試的一個關鍵。其次,很多面試官也會根據你簡歷呈現的內容進行提問,尤其是項目經歷這塊,寫到簡歷上的一定要確保自己很熟悉,切忌為了呈現更多的內容把別人做的項目都羅列上去,結果技術官一問,自己回答不上來,那就基本涼涼了。
其次就是准備面試題目了。下面我先羅列出我之前面試的一部分公司的面試題目:
布瑞克農業互聯網--王xx
1. 面向對象的三個特性:繼承‘封裝和多態
繼承:就是子類實現父類的屬性和方法,並在此基礎上進行相關的擴展.
多態是建立在重寫的基礎之上的,是類與類之間的關系,是發生在不同的類之間的,子類重寫父類的方法。實現不同的子類,不同的實現形態。
多態有3個條件
1:繼承
2:重寫(重寫父類繼承的方法)
3:父類引用指向子類對象
而重載是類的內部的方法構型上的不同,是發生在同一個類里面的。同一個函數名稱,參數不同的多個方法,實現同一類型的功能。
封裝是OOP編程中的一個重要手段,就是指把具體實現的邏輯細節在內部隱藏起來,對外部只暴露公共的、規范的接口和調用方法,
從而隱藏實現細節,使在使用的時候不用去考慮其內部的運作模式等等具體細節。以后即使是要修改其邏輯也不會影響外部調用的,
稱為封裝,主要是為了降低組件之間的耦合度,以提高擴展性和維護性。
2. 接口和抽象類:
3. web server/socket
4. 打開串口的方法:
設備管理器com口顯示為正常即驅動可用,
電腦識別的com口我識別為3即軟件上填寫
com3選擇串口通信波特率通常為9600可用
根據設備設置然后點擊打開即可進行設備配置
5. 多線程如何精確控制某個線程:做不到
6.數據庫性能優化:年齡、性別、姓名
C#類和方法的訪問級別限制
類:
類的訪問修飾符有public、internal,缺省時為internal
internal限制類在本項目中訪問,不能被其他項目訪問
public使得類可以在其他項目中訪問,但是先要添加對該類所在項目的引用,並且using該類的命名空間;
方法:
方法的訪問修飾符有private、protected、internal、public、protected internal,缺省時為private
private限制方法在本類中訪問,不能在本項目的其它類和外項目訪問
protected限制方法在本類和其子類,包括外項目的子類中訪問(直接調用,無需實例化);不能在本項目和其他項目的無繼承關系類,以及通過實例調用訪問
internal限制方法在項目內部所有的類訪問,不能被其他項目訪問
public使得方法可以在其它項目中訪問,但是先要添加對該方法所在類所在項目的引用,並且using該類的命名空間;
protected internal使得方法可以在本項目所有的類和外項目有繼承關系的子類中訪問,實際是取了兩者限定范圍的並集,注意不是交集
天准科技:
1. ref 和out的區別?
2. 結構和類的區別?
3. 開啟多線程有哪些方法?區別在哪里
4. 字符串轉整形編寫函數?
5. 整形數組獲取最大值序號?有重復最大值如何做?
延鋒汽車內飾:魏工
1.線程與進程的區別
2.python與c#線程的區別
3.數據庫優化的方式有幾種
3.接觸過的關系形數據庫以外的那些數據庫?
4.多線程如何同步?
5.高斯濾波?
6.邊緣提取的方式有那些?
7.bs方面有沒有做過?
8. 太赫茲是什么原理?
9.你在項目中承擔什么角色?做了那些事
10.你的項目用了什么設計模式?
11.架構有沒有涉及,能自己設計出來嗎?
12.檢測結果如何分類?接口怎么做的?
13.tcp和udp的區別?
14.如何計算一個矩形的面積?
上海天馬:
-
string和stringBuilder區別?
-
指針和取址的區別?
-
類和接口的區別?
-
跨線程訪問的方法?如何防止界面假死
-
通訊技術用過哪些?為啥用udp不用tcp?
-
mysql和sql什么區別?
7. 堆和棧的區別是什么?
03
—
高頻面試題
根據我多場面試經歷,我匯總了一下高頻面試題目:
-
多線程和進程的區別是什么?
-
常用的通訊方式是什么?tcp和udp有什么區別?
-
開啟多線程的方式有哪些?各有什么優缺點?
-
線程安全的方式有哪些?lock與monitor區別?
-
講講你所熟悉的設計模式?每種設計模式的優缺點?你在項目中怎么用的?
-
C#中值類型與引用類型的區別,什么叫裝箱和拆箱?
-
面向對象的三個特性是什么?簡述每個特性的概念?
-
C#中使用StringBuilder相比string拼接字符串時有何優點?
-
講講托管內存和非托管內存?垃圾回收的機理是什么?
IDispose接口的作用?
-
類和接口的區別?抽象類和接口的區別?
-
重載和重寫的區別,什么叫多態?
-
什么是委托?什么是事件?
-
什么是MVVM開發模式?有什么優勢?
-
你用過那些數據庫?數據庫如何優化?
當然以上問題,一般你回答了以后,面試官都會進行奪命連環問,所以,已經要靈活掌握,懂得舉一反三,不能光死記硬背。
04
—
面試中的一些技巧
面試環節一般是先獵頭打電話咨詢求職意向,了解基本情況,完事會向你索取電子版簡歷推薦給用人單位,如果對方滿意,用人單位一般一周內就會安排面試。正常先是技術官電話溝通或者視頻面試,但個別公司可能會直接要求你去他們公司去面試,有的直接是讓去筆試答題的,這種我一般直接會拒絕的,除非是你特別中意的公司,否則你可以要求他們先電話溝通,初次溝通還覺得滿意的話再考慮要不去去現場面試。
面試過程,對方一般會讓你先做個簡短的自我介紹,接下來除了技術問題外還會問問你為什么離職?你對我們公司有多少了解之類的?回答離職原因時,切忌不要說上家的壞話,就算上家公司實在是爛透了,也要說的委婉一點,盡量從個人的理想、追求上去說,而不是說因為上家公司加班太多、上級領導不好之類的話,不然可能對導致對方覺得你人品有問題。
然后面試官會問你對加班的看法,或者問你能否適應短期、長期出差?這種能問基本上99%代表對方公司目前有這方面的現狀,這種你能適應加班就說能適應,然后說你目前都時常加班,還能學到很多東西等等,適應不了就說適應不了,沒必要刻意隱瞞,出差這個也是一樣,接受不了就直接說,這種沒必要勉強,很少有公司會願意為新人開特權的。所以說,不喜歡接受不了的東西就提前明確的說,好公司很多,沒必要非吊死在一棵樹上。
再個就是薪資這塊,這個一定要提前想好,獵頭會問你期望薪資,HR和技術官也有可能會問到,切記保持一致。在對方問你期望薪資時,不要直接就回答,最好先問問對方是年薪制還是月薪制,除了工資會有沒有項目獎金或者年總將什么的,問清楚后再給說你的希望薪資。還要注意的是,對方也會問到你目前的薪資水平,如果你期望的薪資和你目前的薪資水平跨度太大,你就得提前想想如何自圓其說,我們公司之前就有幾個應聘者,我們領導都面試過了,但是最后走offer流程時候被老板否了的,因為老板覺得工資直接翻倍不合理。所以,這種情況,你可以適當抬高下你的現金獎金、房補等不可體現在工資流水中的隱形收入,這樣就不會讓對方覺得給你加錢開高了,能提高面試的成功率。
如果技術面試都ok,很多公司會要求再次去公司復試,這種一般會是更高級別的領導或者老板來面試,當然也是你考察公司的一個好機會,這輪面試一般會輕松很多,如果是老板的話,可能甚至不會再問你技術問題,就給你談談理想、畫畫大餅之類的。這個過程你需要考察下公司環境、公司規模、再感受一下老板人品啥的。畢竟就職面試都是雙向選擇,作為面試者,我們也要充分考慮這家用人單位是否適合自己,避免從舊坑入新坑。
好了,限於篇幅就寫這么多,小伙伴們還有什么騷操作,歡迎在評論區留言!
技術群:添加小編微信並備注進群小編微信:mm1552923 公眾號:dotNet編程大全