寫這個文章的起因
最近在找實習(xí),被問的最多的就是我在簡歷上提到的項目塔鳍,然而實在是匆忙,沒有好好準備呻此,以至于自己做過的項目轮纫,自己一行行碼下的代碼都忘記了。當(dāng)面試官看到你對自己的項目都不清楚的話焚鲜,必掛無疑嘍掌唾。
一般面試官會叫你簡單介紹一下你的項目
比如說我,我在去年做過一個駕考在線報名平臺的項目
模擬對話
面試官: 簡單介紹一下你的項目
我:XXXX是一個專注于大學(xué)生駕校報考市場的平臺忿磅,學(xué)員可以在平臺上直接選擇優(yōu)質(zhì)教練和駕校報名糯彬,我們提供一站式駕照報考服務(wù)。
面試官:項目你負責(zé)什么葱她?
我: 我主要負責(zé)技術(shù)開發(fā)撩扒,承擔(dān)網(wǎng)站的主要架構(gòu)設(shè)計和編碼工作(這之后面試官一般會問你網(wǎng)站用的什么技術(shù),不如接著說)吨些,我們平臺主要使用python作為后臺開發(fā)語言搓谆,并且使用django作為開發(fā)框架,mysql和redis為支持的額數(shù)據(jù)庫豪墅,前端使用jquery框架泉手。我在團隊中負責(zé)大部分的前端后臺開發(fā)工作,后臺大概80%偶器,前端大概50%斩萌。
面試官: 說說你為什么使用這個語言和這個框架吧缝裤?
我: 使用python是因為其代碼編寫體驗好,同時也是膠水語言颊郎,不管是什么領(lǐng)域都可以使用憋飞,特別適合創(chuàng)業(yè)公司產(chǎn)品迭代更新快的情況,關(guān)于django袭艺,因為使用了python的語言搀崭,而且該框架是python里面最出色的框架叨粘,技術(shù)資料說很方便學(xué)習(xí)和使用猾编,除此之外,框架本身自帶admin后臺升敲,可以為開發(fā)者減少很大一部分的編碼工作答倡。
面試官: 項目中有這么困難的地方?(這個是必問的驴党,而且很重要)
我:(我的項目其實本身比較簡單瘪撇,所以想在面試官面前表現(xiàn)一下,這個問題就是關(guān)鍵港庄,所以要進行適當(dāng)?shù)陌b倔既,這個并不是說要表現(xiàn)的你有多么牛逼,而是要讓面試官知道你遇到問題解決問題的的思路)
1鹏氧,關(guān)于微信登陸這塊渤涌,由于當(dāng)時微信登陸沒有好的調(diào)試工具,所以只能一步步的來把还,首先獲取code实蓬,確保code正確之后然后在通過code好奇accessToken,保存好token吊履,然后用token獲取用戶信息安皱,保存到數(shù)據(jù)庫,首次登陸的uid會自動創(chuàng)建一個用戶艇炎,短時間內(nèi)用戶登陸時就可以直接使用cookie登陸酌伊,避免每次都使用調(diào)用微信登陸接口,就這樣一步步穩(wěn)扎穩(wěn)打的調(diào)試好微信登陸的接口缀踪。 但是這時候問題又來了腺晾,關(guān)于多渠道登陸的問題,現(xiàn)在網(wǎng)站基本上都是可以通多多個方式登錄的辜贵,而我解決的辦法是從數(shù)據(jù)庫入手悯蝉,建立分表,指向用戶的主表托慨,分表存儲登陸API返回的信息鼻由,就這樣一個主表保存用戶信息,還有帶有多個分表,構(gòu)成一個一個用戶模塊蕉世。蔼紧。
2.關(guān)于排序問題了,現(xiàn)在列表是一個webapp不可或缺的模塊狠轻,產(chǎn)品展示都是離不開列表的奸例,但是問題了在于你怎么樣把這些產(chǎn)品進行一個分類排序,比如常用的距離最近向楼,實現(xiàn)查吊? 說說我的方案,把商戶的經(jīng)緯度分別建立索引湖蜕,數(shù)據(jù)庫查找然后取交集就好 了逻卖,這里就用到分治法的原理,把問題分割成更小的問題昭抒,極大的減輕了查找的時間评也。
3,一個最簡單的推薦算法灭返,因為項目中要在首頁給用戶推薦教練盗迟,和駕校,但是產(chǎn)品的內(nèi)容比較少熙含,沒有必要花太多時間去搞專業(yè)推薦算法罚缕,所以我的解決辦法是,給駕校所有的各個指標建量化建表婆芦,同時用戶登陸時會提示用戶選出最在意的幾項指標怕磨,推薦的就是根據(jù)用戶的優(yōu)先選擇的指標直接利用數(shù)據(jù)庫orderby來進行推薦,比較簡單粗暴消约,考慮到以后的規(guī)模擴大還有一種升級方案是使用十分簡單的聚類推薦或者相似度矩陣肠鲫。當(dāng)然這些我只是做一些簡單的了解,真的去做還是要去系統(tǒng)的學(xué)習(xí)(不要給自己挖坑)
面試官:(這貨項目經(jīng)驗還不錯或粮,解決問題的思路也清晰导饲,好吧,再問問基礎(chǔ)吧B炔摹)渣锦,那來談?wù)則cp三次握手吧(微笑)