前端,DJ

Vue模塊

一、Vue都有哪些指令,簡單說說?css

"""
Vue裏面常見指令有文本指令:v-text、v-html,屬性指令:v-bind,方法指令:v-on,條件指令:v-if、v-show,循環指令:v-for

v-html在v-text基礎上,還能夠解析html代碼
v-show是以display:none方式來渲染隱藏的標籤,v-if會真的隱藏標籤不渲染
"""

二、簡單聊一聊Vue組件化開發html

"""
Vue中的每個組件就是一個vue實例,也就是vue對象。
組件是由html、css、js組成的獨立的頁面結構單位,能夠完成頁面結構的代碼複用
通常咱們先定義一個組件,而後在使用的父組件中註冊,最後使用定義的組件
定義組件template裏寫html,style中寫樣式,script中寫邏輯
"""

三、vue中你用過哪些第三方插件vue

"""
vue中最經常使用的插件有
管理路由的vue-router,管理組件間數據倉庫的vuex
還使用了vue-cookies來管理cookie,axios來完成先後臺的ajax交互
"""

drf模塊

一、什麼是web接口,restful接口規範python

"""
web接口有四個特色:規定先後臺的交互方式;請求的連接;請求的參數;響應的數據結果
restful接口規範能夠分三塊來說:請求連接,請求方式,響應結果
    請求連接,採用https協議,帶api字眼,操做的數據對象稱之爲資源,用資源名詞便可,不須要出現動詞,還能夠出現一些接口版本的字眼v1,v2,還能夠添加資源的過濾條件:limit、ordering
    請求方式:get表示查,post表示增,put、patch表示改,delete表示刪
    響應結果:結果不一樣,狀態碼不一樣;結果中要有數據相關信息:數據狀態碼,數據信息,數據體;必要的時候,須要返回連接輔助下一次資源請求
"""

二、drf中有哪些經常使用模塊mysql

"""
drf中核心組件有:序列化組件、認證組件、權限組件、頻率組件
drf中還提供了 解析組件、響應組件、異常組件、分頁器組件、過濾器組件等
"""

三、說一說你都用過哪些序列化組件類ios

"""
底層的Serializer類,和Model表結合使用的ModelSerializer類,還有處理羣增全改接口的ListSerializer類
"""

四、怎麼樣自定義序列化類git

"""
定義一個類,集成Serializer類或ModelSerializer類
而後在子類Meta中,綁定model類,而後在設置序列化字段fields
還能夠寫一堆局部全局鉤子完成自定義校驗規則
"""

五、簡述一下drf三大認證源碼web

"""
drf的接口請求,須要先進行認證組件,校驗獲得登陸用戶,而後在進行權限組件,完成用戶權限校驗,最後進行頻率組件,完成頻率限制

認證組件源碼所幹的事,就是從請求頭中拿到認證token,若是沒有,就不進行認證校驗,直接去進行權限校驗,若是有,校驗提供就是合法用戶,保存在request.user中,若是沒有,直接拋異常返回到前臺,就是非法用戶

權限組件源碼所幹的事,須要看哪一個權限類,但都是挺簡單的,IsAuthenticated就是校驗是否有request.user,且是否能完成auth認證,IsAuthenticatedOrReadOnly就是先判斷請求方式,get這類就不限制,post這些請求才須要進行校驗,規則和IsAuthenticated同樣

頻率組件源碼不少,主要是根據用戶特有的一些請求信息,如登陸用戶的主鍵,來記錄用戶訪問的幾回,訪問後就會在django緩存cache中記錄,在規定時間內,超次就會限制
"""

六、如何自定義認證類ajax

"""
自定義認證類,繼承BaseAuthentication(或其子類),重寫authenticate
在authenticate方法中中完成如下邏輯
    從請求中拿到認證標識 token
    反解析出用戶 user
    前兩步操做失敗 返回None,表明遊客
    前兩步操做成功 返回user,auth,表明登陸用戶
    注:若是在某個分支拋出異常,直接定義失敗,表明非法用戶
"""

七、如何自定義權限類redis

"""
自定義頻率類,繼承SimpleRateThrottle,重寫get_cache_key,明確scope字符串

在settings.py配置文件中的DEFAULT_THROTTLE_RATES配置scope字符串對應的限制條件,如:3/min(一分鐘3次)

在get_cache_key中返回做爲限制標識的字符串
"""

八、簡述drf中的視圖類

"""
APIView是基礎的視圖類,完成基礎的cbv的請求響應,比django的View類多了一堆類屬性,好比authentication_classes就能夠配置該視圖類的認證器

GenericAPIView繼承APIView的,在APIView基礎上,能夠經過設置queryset、serializer_class兩個類屬性更好的配合model類完成資源的請求

mixins中提供了一些視圖類的工具方法,幫咱們封裝了基礎的get、post這些請求動做

viewsets視圖集,重寫了as_view方法,能夠將get請求再也不固定映射給get方法,能夠映射給自定義方法
"""

路飛模塊

一、簡述git經常使用命令

"""
查看狀態:git status
添加:git add .
提交:git commit -m '信息'
拉:git pull 源 分支
推:git push 源 分支
分支:git branch、git merge
"""

二、簡述先後臺跨域問題

"""
跨域本質是後臺響應頭出現了問題,作出的響應,前臺沒法解析

若是先後臺的請求協議、所在服務器(ip)、所屬應用(端口),有一個不一致,就屬於跨域
"""

三、django如何解決跨域

"""
能夠用django-cors-headers模塊來解決跨域,具體作法能夠歸納以下

一、安裝django-cors-headers模塊

二、在settings.py中配置
# 註冊app
INSTALLED_APPS = [
    ...
    'corsheaders'
]
# 添加中間件
MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware'
]

# 容許跨域源
CORS_ORIGIN_ALLOW_ALL = True
"""

四、用太短信認證嗎?簡述一下

"""
用過騰訊雲的短信認證,根據官方的API來完成,安裝短信認證的模塊,能夠實現單發短信,羣發短信已經語音短信等功能,實現起來也挺簡單,先申請簽名與模板,而後配置好,獲得發送對象,用發送對象調用特定的方法,就能夠完成特定的功能
"""

五、用過celery框架嗎?

"""
celery爲異步任務框架,啓動celery,會啓動一個工做對象worker,會去任務隊列中獲取任務,而後執行,執行結果放到結果倉庫中,因此任務隊列和結果倉庫均可以用效率高的數據庫完成存儲,我採用的是redis數據庫。

我用celery異步任務框架主要是來完成接口緩存的更新,已經支付成功後的短信推送
"""

六、接口緩存是如何實現的?

"""
首先我會對那些常常訪問的,且數據通常不作更新的接口進行緩存,創建好緩存的key,採用redis數據庫,工做原理就是先走緩存,緩存沒有才走mysql數據庫,同時創建緩存

通常創建緩存的接口大多爲主頁固定展現的接口
"""

七、簡述一下你是如何完成短信推送的?

"""
其實實現起來挺簡單的,就是在用戶完成支付後,支付寶會回調後臺,通知支付成功,那在修改後臺支付的訂單狀態後,在推送一條支付成功的短信給用戶便可
"""

八、講述一下支付流程

"""
支付流程能夠分三塊
一、前臺請求後臺,提交訂單信息,得到支付連接
二、前臺渲染支付連接,訪問支付寶後臺完成支付
三、支付寶進行同步與異步回調,訪問後臺,在後臺完成訂單狀態的修改,以及訂單支付成功的推送
"""

九、你瞭解支付寶的異步回調嗎?

"""
瞭解,支付寶的回調,會先後進行8次,第一次就是你在支付寶完成支付後,當即回調你的後臺,而後在間隔時間回調你的後臺,間隔時間逐漸增加,讓你後臺接收到支付成功的回調後,修改訂單狀態後,要響應字符串 Success,那麼支付寶就知道你後臺完成了訂單狀態的修改,就中止接下來的異步回調
"""

十、你獨立進行過項目上線嗎?

```python

相關文章
相關標籤/搜索