高級軟件工程師和架構師的區別(轉)


架構師

傾向於 通信 、 通信框架 、隊列和 分布式框架運用以及阿里雲和微軟現有分布式組件的運用。

 

高級軟件工程師

傾向於 C#基礎、 多線程、鎖和數據庫索引 (隊列和通信也會問只是會問的淺一些)

 

研發經理

包含高級軟件工程師問的這些外,還會問管理方面的知識

 

我面試的三家公司分別面試了三個職位,將知識點進行了一個表格整理,分值越高就意味着問的越深,不能百度之百准確,只當參考。

 

職位 C#基礎 通信 緩存和隊列 數據庫索引 數據庫鎖事務 前端 多線程 數據結構 管理 自我介紹 大數據方案 常用框架 項目介紹 邏輯題
架構師 10 100 100 100 80 0 100 100 30 100 100 50 100 100
研發經理 100 50 70 70 50 0 100 80 100 100 60 0 100 50
高級軟件工程師 100 50 70 100 100 50 100 50 0 100 70 100 100 60

 

知識點細講


C#基礎

 

主要面些 接口、裝箱拆箱、值類型引用類型和線程

 

可以參考面試基礎:http://www.codeisbug.com/Doc/4/63

 

例如:什么是裝箱和拆箱,裝箱和拆箱為什么會影響性能。這些屬於深問細節,所以要做好防問准備。

 

 

通信

主要分為Http協議 TCP協基礎知知識,通信框架例如開源的Supersocket RestSharp,微軟的WCF和Signalr等等的運用和搭建,

更深入的會問到,例如 什么是粘包和osi七層模型等理論知識。

 

 

緩存和隊列

例如redis框架使用,Redis有哪些數據類型,主從模式如何實現,常用的隊列框架有哪些(RabbitMQ和MSMQ)

隊列和緩存的區分是什么?非關系型數據庫應用場景又是什么?

隊列:適合處理高並發,可以看這篇文章理解隊列作用:http://www.codeisbug.com/Ask/11/1070

非關系型數據庫:適合簡單業務數據億級左右的數據處理,太多、太少或者業務復雜都不適合

緩存:緩存數據也可以當做高性能隊列使用

 

數據庫索引

數據庫索引是每次面試必問之題,你要了解索引的分類,索引的存儲結構,數據存儲結構,如何用SQLServer分析SQL執行計划,聚集索引適用於什么場合,聚集索引和非聚集索引的區別

 

數據庫鎖事務

例如會問 數據庫的隔離級別,數據庫有哪些鎖,可以參考:http://www.codeisbug.com/Ask/11/1079

 

前端

你會使用哪些前端框架,如何適應移動端布局等等,這類會問的比較少

 

多線程

一般會問什么情況會用多線程、LOCK底層實現,多線程性能優化等

 

數據結構

這個就去看數據結構與算法的書吧,例如什么是二叉樹,不要不懂。

 

管理

一般會問如何管理好團隊,去看一本項目管理的書裝逼就夠用了。

 

自我介紹

自已准備好,一般說名字 學歷,工作經驗,幸趣愛好等。不要太長,10句左右差不多背好去面試。

 

大數據方案

這個一定要了解阿里或者微軟的雲框架,除此之外還要知道隊列如何處理大數據,分布式緩存等,例如hadoop這些名詞要了解,你了解什么分布式中間組件。

 

常用框架

aufac底層原理,aufac有哪些使用模式,依賴注入和控制反轉有什么區別,依賴注入的作用,用過哪些ORM他們各自的優點有哪些等。

 

項目介紹

一般會問你的項目細節,使用了哪些技術

 

邏輯題

這些都是用排除法的思路去做,或者結合程序算法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM