一、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交互 """
一、什么是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