項目面試題

項目面試題

1.描述最熟悉的或者(最近)的一個項目 ?

目的:檢測技術和項目的熟悉程度+工作職責

回答:項目名稱,項目的甲方,背景,實現的目的和意義,該項目主要是為了解決什么問題,具體的實際功能(盡可能詳細清晰)。

項目分為兩期完成,我在項目中負責的一期中XX模塊,二期項目中負責XX模塊開發。負責對技術文檔的編寫,負責對項目上線后BUG修復等工作。

2.描述在開發項目中遇到了哪些問題 ?怎么解決的 ?

目的:檢驗你對項目的需求了解,參與程度,解決問題的方式。

回答:從需求問題和技術問題兩個方面回答。

需求問題:和產品經理或者甲方的客戶進行充分地討論項目的實際應用場景,反復閱讀需求文檔(3遍或5遍)。

技術問題:比如Redis問題:如何把Redis內存中的數據跟mysql數據庫中的數據保持同步。先百度(為什么、是什么、怎么用),閱讀官方文檔,利用晚上私下時間解決。

3.描述在開發項目中有哪些亮點 ?

目的:項目的獨特之處和優點。

回答:項目的應用場景,項目規范(文檔規范,編碼規范)比如之前項目編碼沒有那么規范,現在換了項目經理,他按照一些上市公司的標準來規范項目,所以我認為規范是項目中最大的亮點。還比如項目承受的并發量等。

注意:亮點切不可一樣,要回自己獨立思考。

需求亮點/技術亮點:比如為了解決高并發做了哪些事情,項目用到了Redis緩存技術,之前沒用到過這個技術。

4.看你簡歷上項目里用到的技術、框架、Redis、數據庫等,針對這些技術問問題 ?

就是簡歷上寫的技術,都要做好復習的充分準備。

5.你參與的功能模塊深入細節 ?(用到了哪些表、表名叫什么、有哪些字段)?

1、XX功能(要描述清楚)

2、數據庫用到了哪些表;具體的表名稱是什么;表里面有哪些字段(提前都寫出來):先說公共字段(主鍵ID)、狀態字段(status)、排序字段(sortnum)、時間字段(create_date/update_date)、 用戶字段(create_user/update_user)表示數據的完整性,用于以后做數據統計等。

6.線目上線部署過程 ?

如果服務器CPU達到100%了,你該怎么解決?

解決:趕緊上報領導,不要自己去操作,自己做不了主,搞砸了會有被開除的風險。

人員參與:開發人員先自己測試,然后交付測試組進行測試,修復BUG,回歸測試等一系列完成以后,需要先進行領導報備(驗收),驗收完成確認無誤后,由領導通知所有相關人員準備上線。

描述詳細步驟(目的:看你對項目部署過程的熟悉程度):研發工程師收到許可上線通知(郵件或者口頭形式)后,進行線上的準備工作。第一步:把自己開發的模塊制定上線的策略,若是多個系統,需要確定上線的順序,細節 :比如(注冊中心,Config…);第二步: 數據配置(確認)上線后,同步更新數據庫數據和表結構,確保數據庫正式環境和測試環境完全一致;第三步:項目部署(要清理緩存,把測試數據清理掉);第四步:測試,開發人員要把業務流程完整走一遍(緩存預熱),測試人員采用灰度測試(只需要少量數據或者測試數據進行項目測試)+ 走一遍完整的業務流程,確保無誤后通知產品相關人員進行二次測試;第五步:數據監控(監控報警)。

7.單元測試或開發規范 ?

單元測試:測試準則:滿足AIR原則,A(自動化),I(獨立性),R(可重復)。

開發規范:按照需求文檔來完成業務開發;目錄結構規范、部署規范、文件命名規范、編碼規范、數據設計規范等。

8.如何在線上修復BUG ?

1、通過打包編譯文件工具進行代碼替換。

2、自動化部署:Jenkins+Docker+Git+GitLab。

3、負載均衡(Nginx)把新的項目權重weight調大一點,用戶就到這個替換的項目訪問了。

9.如果你的項目出現線上問題,你怎么解決 ?

定位問題:1、結合線上日志思考問題出現的最大可能原因,找到以后要進行驗證,然后及時解決。

2、如果找不到BUG,要想辦法盡可能做到本地重現(重現需要哪些條件),若無法重現,就仔細觀察線上日志,對各種日志進行排查,確定好優先級。若還不行,那就是日志做的不好。

3、如果本地做了重新+精細的日志,就把本地正常能運行的JAR包替換線上的JAR包,看問題是否解決或者是否發生變化。

注意:Linux如何查看日志命令。

10.項目增加新功能,你怎么和之前的功能同步運行使用 ?

1、發布公告通知維護/更新時間。(這個工作是開發人員操作的)

2、將本地更新好的項目(或JAR包)打包替換服務器上的項目。

3、運行。

11.項目的并發量是多少 ?

目的:你有沒有高并發的實戰經驗。

回答:并發概念:指同一個應用在同一時間多個進行訪問,人數越多,并發量越高,服務器帶寬要求很高。服務器并發量分為:系統用戶數、最大并發訪問數、同時在線用戶數、業務并發用戶數。

系統用戶數:比如某個APP用戶數有萬人。

最大并發訪問數==同時在線用戶數:比如最高峰同時有5000人。

12.如何來測試項目的高并發 ?

測試相關:使用JMeter進行項目的并發量測試。

13.高并發的解決方案 ?

1、負載均衡。

2、動靜分離。

3、文件服務器(圖片、視頻)。

4、頁面HTML靜態化。

5、熱點數據緩存(Redis)單獨部署,搭建Redis Cluster集群。

6、數據庫分表分庫,冷熱數據分離,SQL語句優化,合理的表設計。

7、提高服務器的性能CPU,高性能的服務器,高性能的數據庫(主從復制、讀寫分離、Redis緩存)。

14.面能試中如何給自己加分 ?

人與人之間的溝通交流最重要的是:情商。

情商:說話/溝通能夠讓對方舒服(快樂是可以分享的),不露痕跡地說出面試官愛聽的話 。

1、能考慮到代碼的擴展性、安全性、有意識的參與框架的設計,需求分析。

2、有調優意識,有優化意識,通過監控和日志發現問題,然后解決。

3、綜合素質: 學習能力強、動手能力強、認真努力、抗壓能力強、團隊合作好。有積極的心態,通過不斷的學習來提高自己的技能,除了完成自己的任務外,還積極幫助同事,共同進步,共同成長。

4、有主見:團隊中遇到問題,敢于主動出擊解決問題。

5、需求方面:在需求開發中,除了能夠按時按質的完成任務,還會在保證項目進度的前提下和項目經理及時溝通交流,以便完成更加高效的代碼。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450403.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450403.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450403.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL定時備份(全量備份+增量備份)

MySQL 定時備份 參考 zone7_ 的 實戰-MySQL定時備份系列文章 參考 zmcyu 的 mysql數據庫的完整備份、差異備份、增量備份 更多binlog的學習參考馬丁傳奇的 MySQL的binlog日志,這篇文章寫得認真詳細,如果看的認真的話,肯定能學的很好的。 如果…

java 接口可以多繼承

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 接口是常量值和方法定義的集合。接口是一種特殊的抽象類。 java類是單繼承的。classB Extends classA java接口可以多繼承。Interface…

C語言struct關鍵字詳解—結構體

struct 是個神奇的關鍵字,它將一些相關聯的數據打包成一個整體,方便使用。在網絡協議、通信控制、嵌入式系統、驅動開發等地方,我們經常要傳送的不是簡單的字節流(char 型數組),而是多種數據組合起來的一個…

JDK1.8使用Dubbo時需注意

2019獨角獸企業重金招聘Python工程師標準>>> Dubbo自帶的很多包都比較舊了,其中的javassist在JDK1.8上運行會報錯 而且錯誤通常比較詭異,javassist是編輯和創建Java字節碼的類庫,常見的錯誤會從spring中報出 解決辦法:…

Java 11 已發布,String 還能這樣玩!

在文章《Java 11 正式發布,這 8 個逆天新特性教你寫出更牛逼的代碼》中,我有介紹到 Java 11 的八個新特性,其中關于 String 加強部分,我覺得有點意思,這里單獨再拉出來講。 Java 11 增加了一系列的字符串處理方法&…

Redis1 晨考題

Redis1 晨考題 1.Redis 是什么 ? redis 是一個開源的使用 ANSI C 語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value 的內存數據庫,并提供多種語言的 API。 2.NOSQL 是什么 ?出現的目的和意義是什么 ? NoSQL 泛指…

C語言void關鍵字

void 有什么好講的呢?如果你認為沒有,那就沒有;但如果你認為有,那就真的有。有點像“色即是空,空即是色”。一、void a? void 的字面意思是“空類型”,void *則為“空類型指針”,vo…

深入了解RabbitMQ工作原理及簡單使用

深入了解RabbitMQ工作原理及簡單使用 RabbitMQ系列文章 RabbitMQ在Ubuntu上的環境搭建深入了解RabbitMQ工作原理及簡單使用RabbitMQ交換器Exchange介紹與實踐RabbitMQ事務和Confirm發送方消息確認——深入解讀使用Docker部署RabbitMQ集群你不知道的RabbitMQ集群架構全解RabbitM…

使用el-checkbox實現全選,點擊失效沒有反應

最近在公司接收到了一個需求,給收藏夾的書籍添加批量、全選刪除實現思路:點擊全選改變item的checked,改變item的checked,重新便利一下所有item的checked來改變全選的selectAll1)該組件基本功能已經實現,che…

Spring3.2新注解@ControllerAdvice

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 ControllerAdvice,是spring3.2提供的新注解,從名字上可以看出大體意思是控制器增強。讓我們先看看ControllerAdv…

Mysql1 晨考題

Mysql1 晨考題 1.描述主鍵、外鍵、候選主鍵、超鍵分別是什么 ? (1)主鍵:數據庫表中對存儲數據對象給予唯一完整標識的數據列或屬性的組合。一個數據列只能有一個主 鍵,且主鍵的取值不能缺失,即不能為空值…

C語言關鍵字

C語言do、while、for關鍵字—循環 C 語言中循環語句有三種:while 循環、do-while 循環、for 循環。while 循環:先判斷while 后面括號里的值,如果為真則執行其后面的代碼;否則不執行。while(1)表示死循環。…

C語言字符篇(五)內存函數

memcpy不可以把目的地址寫成本身但是memmove可以,因為它是先保存到臨時空間 #include <string.h> void *memcpy(void *dest, const void *src, size_t n);將內存src拷貝n個字符到內存destvoid *memmove(void *dest, const void *src, size_t n);將內存src的前n個數據拷貝…

GMQ交易平臺大力探索區塊鏈技術,進一步推動產業繁榮

近年來&#xff0c;區塊鏈技術作為金融科技的中堅力量&#xff0c;受到了產業界的熱切關注&#xff0c;其實驗開展和應用研發正在如火如荼的進行。 在此背景下&#xff0c;各地涌現出一大批優秀的企業投入到區塊鏈產業中&#xff0c;各類企業投融 資活動十分活躍&#xff0c;充…

java 筆試題

JAVA-2003筆試題 一、選擇題&#xff08;每小題2&#xff0c;共10分&#xff09; 下列語句序列執行后&#xff0c;m 的值是&#xff08; C &#xff09; int a10, b3, m5; if( ab ) ma; else ma*m; A.15 B.50 C.55 D.5若已定義byte[]x{11,22,33,-66}其中0≤k≤3&#xff0c;則…

objectdatasouce的溫故

在做ecxel的時候&#xff0c;需要前臺做一個聯動的效果。 記錄一下這個數據源的用法&#xff0c;大學時候用的&#xff0c;忘得差不多了 首先就是往頁面拖拽一個objectdatasouce的控件 然后配置數據源&#xff1a; 選擇業務對象(其實就是選擇你要用的哪個類&#xff0c;如果下拉…

都會五星回評,歡迎留下地址-博客之星

歡迎五星回評地址https://bbs.csdn.net/topics/603961857

jQuery核心

jQuery(selector) jQuery 的核心功能都是通過這個函數實現的。 jQuery中的一切都基于這個函數&#xff0c;或者說都是在以某種方式使用這個函數。這個函數最基本的用法就是向它傳遞一個表達式&#xff08;通常由 CSS 選擇器組成&#xff09;&#xff0c;然后根據這個表達式來查…

Feign api調用方式

Feign使用簡介 基本用法 基本的使用如下所示&#xff0c;一個對于canonical Retrofit sample的適配。 interface GitHub {// RequestLine注解聲明請求方法和請求地址,可以允許有查詢參數RequestLine("GET /repos/{owner}/{repo}/contributors")List<Contributor&g…

預處理

C語言##預算符 和#運算符一樣&#xff0c;##運算符可以用于宏函數的替換部分。這個運算符把兩個語言符號組合成單個語言符號。看例子&#xff1a;#define XNAME(n) x ## n如果這樣使用宏&#xff1a;XNAME(8)則會被展開成這樣&#xff1a;x8看明白了沒&#xff1f; ##就是個粘合…