騎芯供應鏈(T 面試)

一、目前市面上主流的團隊開發模式是什麼?html

正解:DevOps,http://www.javashuo.com/article/p-yjomxqna-o.html前端

 

二、你以爲什麼是全棧工程師?linux

交流:全棧工程師就是先後端都懂的人docker

正解:全棧工程師能夠理解爲全能工程師,就是啥都會,也能夠叫全端工程師,就是同時擁有前端開發技術及後端開發技術,既能寫前端代碼,又能寫後端代碼,可以獨立完成產品研發的人。全棧工程師的英文名稱是Full Stack developer。數據庫

 

三、你認爲項目經理的含金量怎麼樣,他的職責是怎樣的?後端

交流:服務器

A:項目經理須要對項目的業務很瞭解,並且要把握項目的開發進度,負責解決團隊成員的疑難問題,項目經理含金量很高。網絡

B:項目經理須要懂技術嗎?併發

A:項目經理須要懂技術,但不須要很精通,由於有專門的技術負責人。負載均衡

B:其實不少人都對本身都有偏見,你剛纔說的項目經理其實就是一個開發組長。我認爲項目經理是很厲害的,他對事情的認知性很強,他必需要很是懂技術!

正解:

項目經理的含金量很高,該職位的薪資能夠達到年薪百萬以上,在公司是個舉足輕重的角色;

一、 基本職責就是確保項目目標的實現,領導項目團隊準時、優質地完成所有工做。

二、 與客戶溝通,瞭解項目的總體需求。並與客戶保持必定的聯繫,即時反饋階段性的成果,和即時更改客戶提出的合理需求。

三、 制定項目開發計劃文檔,量化任務,併合理分配給相應的人員。

四、 跟蹤項目的進度,協調項目組成員之間的合做。

五、 項目提交測試後,項目經理需瞭解測試結果,根據測試的bug的嚴重程度來從新更改開發計劃。

六、 向上彙報。向上級彙報項目的進展狀況,需求變動等全部項目信息。

七、 項目完成的時候須要項目總結,產生項目總結文檔。

現在不少軟件項目經理都在學習項目管理知識體系(PMP認證)的知識,把業務和項目管理方法論結合起來,使本身的管理更加規範化和具備周密性。(項目管理師資格證書)

https://zhidao.baidu.com/question/286608275.html

 

四、談下你對項目的見解,什麼纔算一個項目?

交流:

A:?

B:你寫的績效考覈那隻算一個模塊,根本不算項目。阿里巴巴的天貓是一個項目,淘寶是一個項目,下面要建造一個新大樓,這也是一個項目;

B:咱們公司總體也能夠算是一個項目

正解:

這個問題應該先從宏觀層面去談論,再舉一個實際的例子。好比:

我以爲能實現一整套業務體系的東西,就能夠稱之爲項目。例如我寫的績效考覈加上民主測評還不算是一個項目,只是兩個模塊,還須要加上幹部管理系統、單點登錄系統等纔可以構成一套政府業務體系,這個總體就是一個項目。

 

 

五、你以爲什麼是先後臺分離?

交流:

A:先後臺分離就是指前臺人員只須要編寫html、js代碼,負責前臺頁面的編寫、美化、腳本邏輯處理;然後臺人員只須要負責編寫接口,處理業務邏輯,管理數據庫便可。

B:嗯嗯,你知道爲何公司會採用先後臺分離的工做方式嗎?其實就是爲了下降工資比例,由於前臺開發工程師工資低,然後臺開發工程師工資高;咱們公司後續也會採用這種模式的。

B:其實後端開發也很簡單,無非就那點東西;除非你開發像攜程阿波羅這樣的軟件;

 

六、說下你對微服務的理解?

交流:

A:微服務其實就是把一個複雜的項目拆分紅了多個服務,好比一個電商網站會拆分紅會員服務、訂單服務等;

B:那你說下微服務與傳統項目相比,優缺點在哪裏?

A:微服務的優勢在於解耦,各個服務之間的依賴性大大下降了。還有就是容錯性提升了;

B:你肯定是容錯性提升了?傳統項目改成微服務後,錯誤率大大提升了;

A:哦,我可能名詞說錯了,我想表達的意思是:「若是一個服務崩潰了,不會影響到另一個服務的運行;」

B:你以爲用微服務開發是變簡單了,仍是變複雜了;

A:我以爲用微服務開發是變簡單了

B:不是,他變得更加複雜了,你須要處理服務鏈路、網關、網絡通訊等諸多問題,並且運維壓力也提升了不少;

 

七、你簡歷上寫的熟悉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客戶端;

 

八、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了;

 

九、市面上微服務框架有哪些?

交流:

A:Dubbo、SpringCloud,這是市面上最經常使用的兩個,其餘的我也不太瞭解;

B:嗯,那你說下Dubbo和SpringCloud的區別

A:最明顯的區別就是Dubbo只是一個服務治理框架,而SpringCloud是全家桶,包含了一套微服務的解決方案;而且SpringCloud服務之間通訊是採用的Http協議,而Dubbo是採用的內部協議;

B:Dubbo的內部協議是什麼?

A:...

B:是TCP協議

正解:

Dubbo的底層是用的Netty框架,Netty與這個TCP協議的關係?

 

十、大家公司前端用了什麼技術?

交流:

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

 

十一、你知道普羅米修斯嗎?

交流:

A:普羅米修斯是我的

B:確實是我的,他是幹嗎的呢?

A:這個我有點忘了

正解:

普羅米修斯,在希臘神話中,是最具智慧的神明之一,最先的泰坦巨神後代,名字有「先見之明」(Forethought)的意思。泰坦十二神伊阿佩託斯與名望女神克呂墨涅的兒子。普羅米修斯不只創造了人類,給人類帶來了火,還教會了他們許多知識和技能。不過你所指的應該是Prometheus,它是一個開源的系統監控和告警的工具包;

http://www.cnblogs.com/throwable/p/9346547.html

 

十二、你知道kafka嗎?

交流:

A:這個是消息隊列,可是我還沒學完

 

1三、SpringCloud是怎麼打包部署的?

交流:

A:就直接打成jar包進行部署

B:在正式環境下,傳統項目是打成war包,扔到Tomcat目錄下進行部署便可。而微服務你肯定是打成jar/war包進行部署就能夠了?

A:沒錯,打成jar包進行部署便可

B:好吧

正解:SpringCloud在正式環境部署時,首先須要用maven命令將項目打成jar包,而後在linux環境下使用docker容器進行部署,須要將jar包製做成docker鏡像,而後推入容器中便可;

相關文章
相關標籤/搜索