[總結]開發了一款面試答題小軟體

卡二條發表於2022-02-13

文章主旨

大家好,今天給大家分享的是,我個人開發的一款答題小程式。面向的使用者群體是程式設計師,內容是我們常見的一些面試題。下面大致介紹一下,從構思、技術選項、功能分析、設計與開發到部署上線的一些環節。

開發背景

先從主觀背景說吧,正是因為有這樣的一個想法,才開始去各大平臺找類似的程式,沒有找到才打算個人開發。

主觀背景

  1. 一直以來都想擁有一款自己的產品,不管是賺錢與否。

  2. 有一個產品夢,但是不知道做什麼好。中間自己折騰過很多的小應用出來,有電商的、旅遊的、記賬的、視訊類的等等。做到最後都不是自己想要的一個應用。在一次換工作的經歷中,發現很多的面試題自己平常都遇到過,回過頭來再去找這些面試題,完全找不到了(畢竟都是來自各種平臺,很零碎)。便產生了一種想法,能夠把這些面試題給彙總起來,並做一些歸類,以後要複習或者分享給別人時,也比較方便。

  3. 有這個想法之後,就去網上找了很多答題類的開源專案。與其說是開源,不如說都是一種營銷手段,裡面的程式根本無法執行或者是缺這缺那的,你想要的話,一句話要花錢。或者是一些小程式開發者利用這種方式導流。

客觀背景

  1. 上面也提到了,市面上根本無法找到一個適用的開源程式,進行二次開發或者直接使用。

  2. 商業化的答題產品也非常多,但是收費貴、功能固定、無法定製化。

開發流程

需求分析

既然找不到合適的開源專案來使用,那隻能自己動手實現。首先要做的就是需求分析,經過一週的思考,把功能大致羅列了一些,如下圖:
Snipaste_2022-02-13_22-43-38
前期主要是實現核心功能,至於其他的功能暫時沒有規劃,等後期迭代更新。一個產品不可能一開始就做的非常完美。

技術選型

  1. 考慮到專案要快速開發完成並上線,選擇了PHP。但是又要兼顧到效能方面,於是後端的技術框架使用hyperf實現。

  2. 前期是為了趕工期,並且後面也會迭代更新,便採用前後端分離模式。以後頁面全換,至少介面不會發生太大變化,可以實現複用。於是管理端使用的element實現。

  3. 關於資料庫依用的是主流的MySQL,nosql方面使用的是Redis,日誌用的是MongoDB,伺服器就是centos7,web服務是Nginx。就這樣,技術定下來了,就直接開幹。

開發週期

開始時間差不多是2021年的12月份,基本都是下班回家和週末抽時間搞,幾乎每天晚上都的搞到1、2點鐘。到月底的時間上線了一個小版本。後面的時間,就是一點一點的迭代。

其中遇到的最大困難,應該就是前端。畢竟自己是寫後端的,開始寫前端總有那麼一點心有餘力不足的感覺。不過還好,總算是完成並上線了。

版本計劃

內容規劃

  1. 現目前,系統已經有個500來道試題。後面計劃,把一些試題的答案給完善,並且不斷的錄入新的試題。

  2. 聯合一些大廠的朋友,把一些經典、常見的一些面試題做一個整理,給錄入到系統。

  3. 如果你比較感興趣,也樂於分享的,可以把自己總結的面試題分享給我。

功能規劃

  1. 現目前的所有試題,對使用者來說都是免費開放的。後面在此基礎上,做成真正的答題模式,同時使用者也可以自由選擇。

  2. 提供開放平臺介面,主要是考慮到一些開發者,想自己寫前端頁面。

功能截圖

下面是部分功能截圖,需要體驗的大家可以直接掃碼。

管理端

隨便擷取的幾張關於試題的頁面。如果想使用或者瞭解更多的也可以聯絡我。

Snipaste_2022-02-13_23-09-03

Snipaste_2022-02-13_23-08-46

Snipaste_2022-02-13_23-08-30

使用者端

使用者端就截幾張關於試題的頁面。

merge_from_ofoct

merge_from_ofoct

聯絡方式

merge_from_ofoct (1)

本作品採用《CC 協議》,轉載必須註明作者和本文連結
喜歡我的文章,請關注微信小程式。《程式設計師面試題大全》

相關文章