寫這個文章的起因
最近在找實習,被問的最多的就是我在簡歷上提到的項目,然而實在是匆忙,沒有好好準備,以至于自己做過的項目,自己一行行碼下的代碼都忘記了。當面試官看到你對自己的項目都不清楚的話,必掛無疑嘍。
一般面試官會叫你簡單介紹一下你的項目
比如說我,我在去年做過一個駕考在線報名平臺的項目
模擬對話
面試官: 簡單介紹一下你的項目
我:XXXX是一個專注于大學生駕校報考市場的平臺,學員可以在平臺上直接選擇優質教練和駕校報名,我們提供一站式駕照報考服務。
面試官:項目你負責什么?
我: 我主要負責技術開發,承擔網站的主要架構設計和編碼工作(這之后面試官一般會問你網站用的什么技術,不如接著說),我們平臺主要使用python作為后臺開發語言,并且使用django作為開發框架,mysql和redis為支持的額數據庫,前端使用jquery框架。我在團隊中負責大部分的前端后臺開發工作,后臺大概80%,前端大概50%。
面試官: 說說你為什么使用這個語言和這個框架吧?
我: 使用python是因為其代碼編寫體驗好,同時也是膠水語言,不管是什么領域都可以使用,特別適合創業公司產品迭代更新快的情況,關于django,因為使用了python的語言,而且該框架是python里面最出色的框架,技術資料說很方便學習和使用,除此之外,框架本身自帶admin后臺,可以為開發者減少很大一部分的編碼工作。
面試官: 項目中有這么困難的地方?(這個是必問的,而且很重要)
我:(我的項目其實本身比較簡單,所以想在面試官面前表現一下,這個問題就是關鍵,所以要進行適當的包裝,這個并不是說要表現的你有多么牛逼,而是要讓面試官知道你遇到問題解決問題的的思路)
1,關于微信登陸這塊,由于當時微信登陸沒有好的調試工具,所以只能一步步的來,首先獲取code,確保code正確之后然后在通過code好奇accessToken,保存好token,然后用token獲取用戶信息,保存到數據庫,首次登陸的uid會自動創建一個用戶,短時間內用戶登陸時就可以直接使用cookie登陸,避免每次都使用調用微信登陸接口,就這樣一步步穩扎穩打的調試好微信登陸的接口。 但是這時候問題又來了,關于多渠道登陸的問題,現在網站基本上都是可以通多多個方式登錄的,而我解決的辦法是從數據庫入手,建立分表,指向用戶的主表,分表存儲登陸API返回的信息,就這樣一個主表保存用戶信息,還有帶有多個分表,構成一個一個用戶模塊。。
2.關于排序問題了,現在列表是一個webapp不可或缺的模塊,產品展示都是離不開列表的,但是問題了在于你怎么樣把這些產品進行一個分類排序,比如常用的距離最近,實現? 說說我的方案,把商戶的經緯度分別建立索引,數據庫查找然后取交集就好 了,這里就用到分治法的原理,把問題分割成更小的問題,極大的減輕了查找的時間。
3,一個最簡單的推薦算法,因為項目中要在首頁給用戶推薦教練,和駕校,但是產品的內容比較少,沒有必要花太多時間去搞專業推薦算法,所以我的解決辦法是,給駕校所有的各個指標建量化建表,同時用戶登陸時會提示用戶選出最在意的幾項指標,推薦的就是根據用戶的優先選擇的指標直接利用數據庫orderby來進行推薦,比較簡單粗暴,考慮到以后的規模擴大還有一種升級方案是使用十分簡單的聚類推薦或者相似度矩陣。當然這些我只是做一些簡單的了解,真的去做還是要去系統的學習(不要給自己挖坑)
面試官:(這貨項目經驗還不錯,解決問題的思路也清晰,好吧,再問問基礎吧!),那來談談tcp三次握手吧(微笑)