骑芯供应链(T 面试)
1、目前市面上主流的團隊開發模式是什么?
正解:DevOps,https://blog.csdn.net/bntX2jSQfEHy7/article/details/79168865
?
2、你覺得什么是全棧工程師?
交流:全棧工程師就是前后端都懂的人
正解:全棧工程師可以理解為全能工程師,就是啥都會,也可以叫全端工程師,就是同時擁有前端開發技術及后端開發技術,既能寫前端代碼,又能寫后端代碼,能夠獨立完成產品研發的人。全棧工程師的英文名稱是Full Stack developer。
?
3、你認為項目經理的含金量怎么樣,他的職責是怎樣的?
交流:
A:項目經理需要對項目的業務很了解,而且要把握項目的開發進度,負責解決團隊成員的疑難問題,項目經理含金量很高。
B:項目經理需要懂技術嗎?
A:項目經理需要懂技術,但不需要很精通,因為有專門的技術負責人。
B:其實很多人都對自己都有偏見,你剛才說的項目經理其實就是一個開發組長。我認為項目經理是很厲害的,他對事情的認知性很強,他必須要非常懂技術!
正解:
項目經理的含金量很高,該職位的薪資可以達到年薪百萬以上,在公司是個舉足輕重的角色;
1、 基本職責就是確保項目目標的實現,領導項目團隊準時、優質地完成全部工作。
2、 與客戶溝通,了解項目的整體需求。并與客戶保持一定的聯系,即時反饋階段性的成果,和即時更改客戶提出的合理需求。
3、 制定項目開發計劃文檔,量化任務,并合理分配給相應的人員。
4、 跟蹤項目的進度,協調項目組成員之間的合作。
5、 項目提交測試后,項目經理需了解測試結果,根據測試的bug的嚴重程度來重新更改開發計劃。
6、 向上匯報。向上級匯報項目的進展情況,需求變更等所有項目信息。
7、 項目完成的時候需要項目總結,產生項目總結文檔。
如今很多軟件項目經理都在學習項目管理知識體系(PMP認證)的知識,把業務和項目管理方法論結合起來,使自己的管理更加規范化和具有周密性。(項目管理師資格證書)
https://zhidao.baidu.com/question/286608275.html
?
4、談下你對項目的看法,什么才算一個項目?
交流:
A:?
B:你寫的績效考核那只算一個模塊,根本不算項目。阿里巴巴的天貓是一個項目,淘寶是一個項目,下面要建造一個新大樓,這也是一個項目;
B:我們公司整體也可以算是一個項目
正解:
這個問題應該先從宏觀層面去談論,再舉一個實際的例子。比如:
我覺得能實現一整套業務體系的東西,就可以稱之為項目。例如我寫的績效考核加上民主測評還不算是一個項目,只是兩個模塊,還需要加上干部管理系統、單點登陸系統等才能夠構成一套政府業務體系,這個整體就是一個項目。
?
?
5、你覺得什么是前后臺分離?
交流:
A:前后臺分離就是指前臺人員只需要編寫html、js代碼,負責前臺頁面的編寫、美化、腳本邏輯處理;而后臺人員只需要負責編寫接口,處理業務邏輯,管理數據庫即可。
B:嗯嗯,你知道為什么公司會采用前后臺分離的工作方式嗎?其實就是為了降低工資比例,因為前臺開發工程師工資低,而后臺開發工程師工資高;我們公司后續也會采用這種模式的。
B:其實后端開發也很簡單,無非就那點東西;除非你開發像攜程阿波羅這樣的軟件;
?
6、說下你對微服務的理解?
交流:
A:微服務其實就是把一個復雜的項目拆分成了多個服務,比如一個電商網站會拆分成會員服務、訂單服務等;
B:那你說下微服務與傳統項目相比,優缺點在哪里?
A:微服務的優點在于解耦,各個服務之間的依賴性大大降低了。還有就是容錯性提高了;
B:你確定是容錯性提高了?傳統項目改為微服務后,錯誤率大大提高了;
A:哦,我可能名詞說錯了,我想表達的意思是:“如果一個服務崩潰了,不會影響到另外一個服務的運行;”
B:你覺得用微服務開發是變簡單了,還是變復雜了;
A:我覺得用微服務開發是變簡單了
B:不是,他變得更加復雜了,你需要處理服務鏈路、網關、網絡通信等諸多問題,而且運維壓力也提高了很多;
?
7、你簡歷上寫的熟悉SpringCloud,那你說下SpringCloud里面包含哪些組件?
交流:
A:SpringCloud里面包含Eureka注冊中心,現在Eureka閉源了,但是可以用Zookeeper或Consul代替;還有Hystrix組件解決服務雪崩效應,里面包含服務降級、服務熔斷機制;Zuul網關對服務進行攔截處理;SpringCloud Bus消息總線;
B:那你說下Zuul網關的作用有哪些?
A:Zuul網關可以用來做權限驗證、日志處理等操作
B:嗯,Zuul網關還可以用來做API接口統一管理、性能監控這些事
B:你知道SpringCloud Config嗎?
A:我知道,我剛才忘記說了,SpringCloud Config用來做分布式配置中心,這樣的話,改動配置文件后就不需要重啟服務器了;
B:那服務與服務之間相互調用,可能會產生很多信息,我需要監控他們的性能情況,這怎么辦?
A:可以在注冊中心上面查看呀
B:不是,注冊中心是用來做服務注冊與發現的,你知道服務鏈路嗎?
A:這個我不知道
B:服務鏈路就是用來監控各服務之間相互調用情況的,我們用的是zipkin實現的
正解:
由于有點小緊張,漏了很多東西沒說。應該要補充ribbon負載均衡、feign客戶端;
?
8、SpringCloud是怎么解決高并發的?
交流:
A:用Hystrix呀
B:Hystrix是用來解決服務雪崩效應的,不能解決高并發問題;
A:...
B:用集群呀
A:哦,我理解錯誤了,微服務里邊是用Nginx加上Zuul網關集群實現負載均衡的;Nginx作為外部框架,用來實現方向代理,而Zuul網關作為內部框架,用來調用各種服務;
B:為什么要用Nginx作為外部框架?
A:因為Nginx底層是采用C語言編寫的,性能很好,但是不易使用;而Zuul網關是采用Java編寫的,方便入手。
B:是因為Nginx好用,才拿來混合著用的
A:對,雖然說SpringCloud是全家桶,但是目前上市面上都是這樣的,哪個組件在某一塊領域特別好用,就拿來混合著使用;
B:嗯,我們公司也是用的Nginx+Zuul網關,但是Zuul網關是很強大的,相信過不了多久就可以只使用Zuul,丟棄Nginx了;
?
9、市面上微服務框架有哪些?
交流:
A:Dubbo、SpringCloud,這是市面上最常用的兩個,其他的我也不太了解;
B:嗯,那你說下Dubbo和SpringCloud的區別
A:最明顯的區別就是Dubbo只是一個服務治理框架,而SpringCloud是全家桶,包含了一套微服務的解決方案;并且SpringCloud服務之間通信是采用的Http協議,而Dubbo是采用的內部協議;
B:Dubbo的內部協議是什么?
A:...
B:是TCP協議
正解:
Dubbo的底層是用的Netty框架,Netty與這個TCP協議的關系?
?
10、你們公司前端用了什么技術?
交流:
A:H5+CSS3+JavaScript+Bootstrap+Layui
B:你知道前端三大框架是什么嗎?
A:AngularJS、Vue.js、Node.js
B:Node.js不是
A:...
B:這個是Facebook開源的框架
A:嗯...,我記起來了,是React.js
B:對,那你用過React.js嗎?
A:我之前自學過,公司本來說要用React.js去開發一個項目,后來不了了之了
B:你知道React.js的優點嗎?
A:React.js編寫的程序可以跨平臺使用,就你寫的代碼在安卓、蘋果上面都可以運行
B:嗯,那你說下React.js的運行部署流程
A:這個我不知道,當時出了點問題,沒有運行成功
正解:我當時自學的是ReactNative框架,不是React.js
?
11、你知道普羅米修斯嗎?
交流:
A:普羅米修斯是個人
B:確實是個人,他是干嘛的呢?
A:這個我有點忘了
正解:
普羅米修斯,在希臘神話中,是最具智慧的神明之一,最早的泰坦巨神后代,名字有“先見之明”(Forethought)的意思。泰坦十二神伊阿佩托斯與名望女神克呂墨涅的兒子。普羅米修斯不僅創造了人類,給人類帶來了火,還教會了他們許多知識和技能。不過你所指的應該是Prometheus,它是一個開源的系統監控和告警的工具包;
http://www.cnblogs.com/throwable/p/9346547.html
?
12、你知道kafka嗎?
交流:
A:這個是消息隊列,但是我還沒學完
?
13、SpringCloud是怎么打包部署的?
交流:
A:就直接打成jar包進行部署
B:在正式環境下,傳統項目是打成war包,扔到Tomcat目錄下進行部署即可。而微服務你確定是打成jar/war包進行部署就可以了?
A:沒錯,打成jar包進行部署即可
B:好吧
正解:SpringCloud在正式環境部署時,首先需要用maven命令將項目打成jar包,然后在linux環境下使用docker容器進行部署,需要將jar包制作成docker鏡像,然后推入容器中即可;
?
轉載于:https://www.cnblogs.com/syjp/p/10449601.html
總結
以上是生活随笔為你收集整理的骑芯供应链(T 面试)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: form表单提交不刷新页面的方法
- 下一篇: shell脚本[] [[]] -n -z