Python-前端框架面试题

Posted liuxiangpy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-前端框架面试题相关的知识,希望对你有一定的参考价值。

第1章 前端、框架(155题)

1.1 谈谈你对http协议的认识。

  1. 谈谈你对websocket协议的认识。

注意: WebSocket 实际上指的是一种协议,与我们熟知的 Http 协议是同等协议栈的一个网络协议。用网络模型结构来解释的话, WebSocket 和 Http 协议都属于 应用层协议,两者都基于传输层协议 TCP协议。

1.2 什么是magic string ?

1.3 如何创建响应式布局?

 

1.4 你曾经使用过哪些前端框架?

vue

1.5 什么是ajax请求?并使用jQuery和XMLHttpRequest对象实现一个ajax请求。

参考链接:https://www.cnblogs.com/sdgf/p/4765151.html

1.6 如何在前端实现轮训?

var xhr = new XMLHttpRequest();

      setInterval(function(){

           xhr.open(‘GET’,’/user’);

           xhr.onreadystatechange = function(){

          

};

xhr.send();

},1000)

1.7 如何在前端实现长轮训?

function ajax(){

      var xhr = new XMLHttpRequest();

      xhr.open(‘GET’,’/user’);

      xhr.onreadystatechange = function(){

           ajax();

};

xhr.send();

}

1.8 vuex的作用?

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态.

1.9 vue中的路由的拦截器的作用?

ue-resource的interceptors拦截器的作用正是解决此需求的妙方。在每次http的请求响应之后,如果设置了拦截器如下,会优先执行拦截器函数,获取响应体,然后才会决定是否把response返回给
then进行接收。那么我们可以在这个拦截器里边添加对响应状态码的判断,来决定是跳转到登录页面还是留在当前页面继续获取数

 

1.10 axios的作用?

  1. axios是对ES6 Promise模式处理异步操作的封装列举vue的常见指令。
  2. 简述jsonp及实现原理?

1.11 什么是cors ?

CORS是一个w3c标准,全称是"跨域资源共享"(Cross-origin resource sharing),但一个请求url的协议,域名,端口三者之间任意与当前页面地址不同即为跨域.它允许浏览器向跨源服务器发送XMLHttpRequest请求,从而克服AJAX只能同源使用的限制.

1.12 列举Http请求中常见的请求方式?

OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT

 

1.13 列举Http请求中的状态码?

1xx:消息

100服务器仅接收到部分消息,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求

103用于PUT或者POST请求恢复失败时的恢复请求建议。

2xx:成功

200:请求成功

3xx:重定向

300:多重选择,链表列表,用户可以选择某链接达到目的地,最多选五个地址

301:所有页面已经转移至新的URL

302:所有的页面已经临时转移至新的URL

4xx:客户端有错误

400:因为语法错误服务器未能解析

401:合法请求,但对被请求页面的访问禁止,因为被请求的页面需要身份验证,客户端没有提供或者身份验证失败

404:服务器无法找到被请求的页面

5xx:    服务器错误

500:请求未完成,服务器遇到不可预知的情况

501:请求未完成,服务器不支持所请求的功能,或者服务器无法完成请求的功能

502:请求未完成,服务器充当网关或者代理的角色,从上游服务器收到一个无效的响应

503:服务器当前不可用

504:网关超时。服务器充当网关或者代理的角色时,未能从上游服务器获得一个及时的响应

505:不支持请求中指明的HTTP协议版本

511:用户需要提供身份证来获取网络访问入口

 

1.14 列举Http请求中常见的请求头?

accept:浏览器通过这个头告诉服务器,它所支持的类型

Accept-Charset:浏览器通过这个头告诉服务器,它支持那种字符集

Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式

host:浏览器通过这个头告诉服务器,想访问那台主机

Referer:浏览器通过这个头告诉服务器客户机是从哪个页面来的,防盗链

Connection:浏览器通过这个头告诉服务器,请求完成后是断开连接还是何持连接

 

  1. 看图写结果:
  2. 看图写结果:
  3. 看图写结果:
  4. 看图写结果:
     
  5. 看图写结果:
  6. 看图写结果:

1.15 django、flask、tornado框架的比较?

django:大而全

flask:轻量级,第三方库多

tornado:天生异步,功能少

 

1.16 什么是wsgi?

wsgi全称是"Web Server Gateway Interfacfe",web服务器网关接口,wsgi在python2.5中加入,是web服务器和web应用的标准接口,任何实现了该接口的web服务器和web应用都能无缝协作

1.17 django请求的生命周期?

访问一个URL首先经过uwsgi>中间件>路由>视图>model or 模板>然后返回一个respone

1.18 列举django的内置组件?

Admin是对model中对应的数据表进行增删改查提供的组件

model组件:负责操作数据库

form组件:1.生成HTML代码2.数据有效性校验3校验信息返回并展示

ModelForm组件即用于数据库操作,也可用于用户请求的验证

 

1.19 列举django中间件的5个方法?以及django中间件的应用场景?

.process_request : 请求进来时,权限认证

.process_view : 路由匹配之后,能够得到视图函数

.process_exception : 异常时执行

.process_template_responseprocess : 模板渲染时执行

.process_response : 请求有响应时执行场景:ip限制,黑白名单,URL访问过滤,缓存

1.20 简述什么是FBV和CBV?

FBV和CBV本质是一样的,基于函数的视图叫做FBV,基于类的视图叫做CBV
在python中使用CBV的优点:
- .提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承)
- .可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性

1.21 django的request对象是在什么时候创建的?

class WSGIHandler(base.BaseHandler):

-------request = self.request_class(environ)

请求走到WSGIHandler类的时候,执行call方法,将environ封装成了request

1.22 如何给CBV的程序添加装饰器?

1、给方法加: @method_decorator(check_login) def post(self, request): ...

2、给dispatch加: @method_decorator(check_login) def dispatch(self, request, *args, **kwargs): ...

3、给类加: @method_decorator(check_login, name="get") @method_decorator(check_login, name="post") class HomeView(View): ...

 

1.23 列举django orm 中所有的方法(QuerySet对象的所有方法)

<1> all(): 查询所有结果

<2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象。获取不到返回None

<3> get(**kwargs): 返回与所给筛选条件相匹

配的对象,返回结果有且只有一个。 如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象

<5> order_by(*field): 对查询结果排序

<6> reverse(): 对查询结果反向排序

<7> count(): 返回数据库中匹配查询(QuerySet)的对象数量。

<8> first(): 返回第一条记录

<9> last(): 返回最后一条记录

<10> exists(): 如果QuerySet包含数据,就返回True,否则返回False

<11> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的 并不是一系 model的实例化对象,而是一个可迭代的字典序列

<12> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列

<13> distinct(): 从返回结果中剔除重复纪



1.24 only和defer的区别?

#only:从数据库中只取指定字段的内容

#defer:指定字段的内容不被检索

 

1.25 select_related和prefetch_related的区别?

前提:有外键存在时,可以很好的减少数据库请求的次数,提高性能
select_related通过多表join关联查询,一次性获得所有数据,只执行一次SQL查询
prefetch_related分别查询每个表,然后根据它们之间的关系进行处理,执行两次查询

1.26 filter和exclude的区别?

两者取到的值都是QuerySet对象,filter选择满足条件的,exclude:排除满足条件的.

1.27 列举django orm中三种能写sql语句的方法。

1.使用execute执行自定义的SQL

     直接执行SQL语句(类似于pymysql的用法)

        # 更高灵活度的方式执行原生SQL语句

        from django.db import connection

        cursor = connection.cursor()

        cursor.execute("SELECT DATE_FORMAT(create_time, ‘%Y-%m‘) FROM blog_article;")

        ret = cursor.fetchall()

        print(ret)

2.使用extra方法 :queryset.extra(select={"key": "原生的SQL语句"})

3.使用raw方法

    1.执行原始sql并返回模型

    2.依赖model多用于查询

 

1.28 django orm 中如何设置读写分离?

手动:在使用数据库时,通过.using(db_name)来手动指定要使用的数据库

自动读写分离:通过配置数据库路由,来自动实现,这样就不需要每次读写都手动指定数据库了。数据库路由中提供了四个方法。这里这里主要用其中的两个:def db_for_read()决定读操作的数据库,def db_for_write()决定写操作的数据库

 

1.29 F和Q的作用?

#F:对数据本身的不同字段进行操作,例如:比较和更新

#Q:用户构造复杂的查询条件如:&|操作

1.30 values和values_list的区别?

values返回的是一个字典

values_list 返回的是一个元组

1.31 如何使用django orm批量创建数据?

#bulk_create()

#objs=[models.Book(title="图书{}".format(i+15)) for i in range(100)]

#models.Book.objects.bulk_create(objs)

1.32 django的Form和ModeForm的作用?

Form:

在前端生成HTML代码

对数据有效校验

返回校验信息并展示

保留上次输入的内容

ModeForm:

根据模型类生成form组件,并且可以操作数据库

1.33 django的Form组件中,如果字段中包含choices参数,请使用两种方式实现数据源实时更新。

 

#1.重写构造函数

def def __init__(self, *args, **kwargs):

        super().__init__(*args, **kwargs)

        self.fields["city"].widget.choices = models.City.objects.all().values_list("id", "name")

 

#2.利用ModelChoiceField字段,参数为queryset对象

1.34 django的Model中的ForeignKey字段中的on_delete参数有什么作用?

#删除关联表中的数据时,当前表与其关联的field的操作

#Django2.0后,表与表之间关联的时候,必须要写on_delete参数,否则会报错

1.35 django中csrf的实现机制?

#第一步:django第一次响应来自某个客户端的请求时,后端随机产生一个token值,把这个token保存在SESSION状态中;同时,后端把这个token放到cookie中交给前端页面;

 

#第二步:下次前端需要发起请求(比如发帖)的时候把这个token值加入到请求数据或者头信息中,一起传给后端;Cookies:{csrftoken:xxxxx}

 

#第三步:后端校验前端请求带过来的token和SESSION里的token是否一致;

1.36 django如何实现websocket?

 安装插件dwebsocket 

1.37 基于django使用ajax发送post请求时,都可以使用哪种方法携带csrf token?

#1、后端将csrftoken传到前端,发送post请求时携带这个值发送

data {

       csrfmiddlewaretoken:”{{ csrf_token }}”

}

 

#2、获取form中隐藏标签的csrftoken的值,加入到请求数据中传给后端

data:{

       csrfmiddlewaretoken:$(‘[name=”csrfmiddlewaretoken”]’).val()

},

 

#3、cookie中存在csrftoken,将csrftoken值放到请求头中

headers:{“X-CSRFtoken”:$.cookie(“csrftoken”)}

1.38 django中如何实现orm表中添加数据时创建一条日志记录。

pass

1.39 django缓存如何设置?

# 全站缓存

MIDDLEWARE_CLASSES = (

    ‘django.middleware.cache.UpdateCacheMiddleware’, #第一

    ‘django.middleware.common.CommonMiddleware‘,

    ‘django.middleware.cache.FetchFromCacheMiddleware’, #最后

)

 

# 视图缓存

from django.views.decorators.cache import cache_page

import time

 

@cache_page(15)          #超时时间为15秒

def index(request):

 t=time.time()      #获取当前时间

 return render(request,"index.html",locals())

 

# 模板缓存

{% load cache %}

 <h3 style="color: green">不缓存:-----{{ t }}</h3>

 

{% cache 2 ‘name‘ %} # 存的key

 <h3>缓存:-----:{{ t }}</h3>

{% endcache %}

1.40 django的缓存能使用redis吗?如果可以的话,如何配置?

#1.安装 pip install django-redis

#2.在stting中配置CACHES,可以设置多个缓存,根据名字使用

        CACHES = {

            "default": {

                "BACKEND": "django_redis.cache.RedisCache",

                "LOCATION": "redis://127.0.0.1:6379",

                "OPTIONS": {

                    "CLIENT_CLASS": "django_redis.client.DefaultClient",

                    "CONNECTION_POOL_KWARGS": {"max_connections": 100}

                    # "PASSWORD": "密码",

                }

            }

        },

        #另添加缓存

        "JERD": { }

#3.根据名字去连接池中获取连接

        from django_redis import get_redis_connection

        conn = get_redis_connection("default")

 

1.41 django路由系统中name的作用?

类似于给URL取一个别名,方便视图调用的时候,进行解耦合

1.42 django的模板中filter和simple_tag的区别?

filter:只可以传两个参数  语法{{参数|filter函数名:参数2}}

simple_tag:可以传入不限量的参数  语法{% simple_tag函数名 参数1 参数2 %}

1.43 django-debug-toolbar的作用?

它是Django的第三方包工具,给Django扩展了调试功能,它包括了查看执行sql语句,db查询次数,request,headers,调试概览等

1.44 django中如何实现单元测试?

使用Python的unittest模块,这个模块使用基于类的方法来定义测试。类名为

Django.test.TestCase,继承于Python的unittest.TestCase.

 

1.45 解释orm中 db first 和 code first的含义?

#数据持久化的方式

db first基于已存在的数据库,生成模型

code  first基于已在的模型,生成数据库库

1.46 django中如何根据数据库表生成model中的类?

1)在setting在配置中设置要连接的数据库

2)生成model模型文件

Python manage.py inspectdb

3)模型文件导入models中

python manage.py inspectdb > app/models.py

1.47 使用orm和原生sql的优缺点?

#1.orm的开发速度快,操作简单。使开发更加对象化

#执行速度慢。处理多表联查等复杂操作时,ORM的语法会变得复杂

#2.sql开发速度慢,执行速度快。性能强

 

1.48 简述MVC和MTV

#MVC软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)

#Model:负责业务对象与数据库的映射(ORM)

#View:负责与用户的交互

#Control:接受用户的输入调用模型和视图完成用户的请求

 

#Django框架的MTV设计模式借鉴了MVC框架的思想,三部分为:Model、Template和View

#Model(模型):负责业务对象与数据库的对象(ORM)

#Template(模版):负责如何把页面展示给用户

#View(视图):负责业务逻辑,并在适当的时候调用Model和Template

#此外,Django还有一个urls分发器,

#它将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

 

1.49 django的contenttype组件的作用?

这个组件保存了项目所有app和model的对应关系,每当我们创建了新的model并执行数据库迁移后,ContentType表中就会自动增加一条记录

当一张表和多个表的fk关联,并且多个fk只能选择其中一个或者其中N个,可以利用contentTypes

1.50 谈谈你对restfull 规范的认识?

#首先restful是一种软件架构风格或者说是一种设计风格,并不是标准,它只是提供了一组设计#原则和约束条件,主要用于客户端和服务器交互类的软件。    

#就像设计模式一样,并不是一定要遵循这些原则,而是基于这个风格设计的软件可以更简洁,更#有层次,我们可以根据开发的实际情况,做相应的改变。

#它里面提到了一些规范,例如:

#1.restful 提倡面向资源编程,在url接口中尽量要使用名词,不要使用动词            

#2、在url接口中推荐使用Https协议,让网络接口更加安全

#https://www.bootcss.com/v1/mycss?page=3

#(Https是Http的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,

#因此加密的详细内容就需要SSL(安全套接层协议))                         

#3、在url中可以体现版本号

#https://v1.bootcss.com/mycss

#不同的版本可以有不同的接口,使其更加简洁,清晰            

#4、url中可以体现是否是API接口

#https://www.bootcss.com/api/mycss           

#5、url中可以添加条件去筛选匹配

#https://www.bootcss.com/v1/mycss?page=3            

#6、可以根据Http不同的method,进行不同的资源操作

#(5种方法:GET / POST / PUT / DELETE / PATCH)            

#7、响应式应该设置状态码

#8、有返回值,而且格式为统一的json格式            

#9、返回错误信息

#返回值携带错误信息            

#10、返回结果中要提供帮助链接,即API最好做到Hypermedia

#如果遇到需要跳转的情况 携带调转接口的URL

      ret = {

            code: 1000,

            data:{

            id:1,

            name:‘小强‘,

            depart_id:http://www.luffycity.com/api/v1/depart/8/

            }

    }

1.51 接口的幂等性是什么意思?

#1.是系统的接口对外一种承诺(而不是实现)

#2.承诺只要调用接口成功,外部多次调用对系统的影响都是一致的,不会对资源重复操作

 

1.52 什么是RPC?

#1.RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。

#2.首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。

#2.在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,

#3.最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

 

1.53 Http和Https的区别?

http是没有加密的协议

https是:http+ssl实现证书的加密

1.54 为什么要使用django rest framework框架?

#能自动生成符合 RESTful 规范的 API

#1.在开发REST API的视图中,虽然每个视图具体操作的数据不同,

#但增、删、改、查的实现流程基本一样,这部分的代码可以简写

#2.在序列化与反序列化时,虽然操作的数据不同,但是执行的过程却相似,这部分的代码也可以简写

#REST framework可以帮助简化上述两部分的代码编写,大大提高REST API的开发速度

 

1.55 django rest framework框架中都有那些组件?

#1.序列化组件:serializers  对queryset序列化以及对请求数据格式校验

#2.路由组件routers 进行路由分发

#3.视图组件ModelViewSet  帮助开发者提供了一些类,并在类中提供了多个方法

#4.认证组件 写一个类并注册到认证类(authentication_classes),在类的的authticate方法中编写认证逻

#5.权限组件 写一个类并注册到权限类(permission_classes),在类的的has_permission方法中编写认证逻辑。

#6.频率限制 写一个类并注册到频率类(throttle_classes),在类的的allow_request/wait 方法中编写认证逻辑

#7.解析器  选择对数据解析的类,在解析器类中注册(parser_classes)

#8.渲染器 定义数据如何渲染到到页面上,在渲染器类中注册(renderer_classes)

#9.分页  对获取到的数据进行分页处理, pagination_class

#10.版本  版本控制用来在不同的客户端使用不同的行为

#在url中设置version参数,用户请求时候传入参数。在request.version中获取版本,根据版本不同 做不同处理

 

1.56 django rest framework框架中的视图都可以继承哪些类?

#class View(object):

#class APIView(View): 封装了view,并且重新封装了request,初始化了各种组件

#class GenericAPIView(views.APIView):

#1.增加了一些属性和方法,如get_queryset,get_serializer

#class GenericViewSet(ViewSetMixin, generics.GenericAPIView)

#父类ViewSetMixin 重写了as_view,返回return csrf_exempt(view)

#并重新设置请求方式与执行函数的关系

#class ModelViewSet(mixins.CreateModelMixin,

#                   mixins.RetrieveModelMixin,

#                   mixins.UpdateModelMixin,

#                   mixins.DestroyModelMixin,

#                   mixins.ListModelMixin,

#                   GenericViewSet):pass

#继承了mixins下的一些类,封装了list,create,update等方法

#和GenericViewSet

 

1.57 简述 django rest framework框架的认证流程。

#1.用户请求走进来后,走APIView,初始化了默认的认证方法

#2.走到APIView的dispatch方法,initial方法调用了request.user

#3.如果我们配置了认证类,走我们自己认证类中的authentication方法

 

1.58 django rest framework如何实现的用户访问频率控制?

#使用IP/用户账号作为键,每次的访问时间戳作为值,构造一个字典形式的数据,存起来,每次访问时对时间戳列表的元素进行判断,

#把超时的删掉,再计算列表剩余的元素数就能做到频率限制了

 

#匿名用户:使用IP控制,但是无法完全控制,因为用户可以换代理IP登录用户:使用账号控制,但是如果有很多账号,也无法限制

  1. Flask框架的优势?
  2. Flask框架依赖组件?
  3. Flask蓝图的作用?
  4. 列举使用过的Flask第三方组件?
  5. 简述Flask上下文管理流程?
  6. Flask中的g的作用?
  7. Flask中上下文管理主要涉及到了那些相关的类?并描述类主要作用?
  8. 为什么要Flask把Local对象中的的值stack 维护成一个列表?
  9. Flask中多app应用是怎么完成?
  10. 在Flask中实现WebSocket需要什么组件?
  11. wtforms组件的作用?
  12. Flask框架默认session处理机制?
  13. 解释Flask框架中的Local对象和threading.local对象的区别?
  14. Flask中 blinker 是什么?
  15. SQLAlchemy中的 session和scoped_session 的区别?
  16. SQLAlchemy如何执行原生SQL?
  17. ORM的实现原理?
  18. DBUtils模块的作用?

28. 以下SQLAlchemy的字段是否正确?如果不正确请更正:

1

2

3

4

5

6

7

8

9

10

11

from datetime import datetime

?from sqlalchemy.ext.declarative

import declarative_base

?from sqlalchemy import Column, Integer, String, DateTime

??

Base = declarative_base()??

class UserInfo(Base):?   

    __tablename__ = ‘userinfo‘?   

    id = Column(Integer, primary_key=True, autoincrement=True)?

    name = Column(String(64), unique=True)?

    ctime = Column(DateTime, default=datetime.now())

  1. SQLAchemy中如何为表设置引擎和字符编码?
  2. SQLAchemy中如何设置联合唯一索引?
  3. 简述Tornado框架的特点。
  4. 简述Tornado框架中Future对象的作用?
  5. Tornado框架中如何编写WebSocket程序?
  6. Tornado中静态文件是如何处理的??如: <link href="{{static_url("commons.css")}}" rel="stylesheet" />
  7. Tornado操作MySQL使用的模块?
  8. Tornado操作redis使用的模块?
  9. 简述Tornado框架的适用场景?
  10. git常见命令作用:
  11. 简述以下git中stash命令作用以及相关其他命令。
  12. git 中 merge 和 rebase命令 的区别。
  13. 公司如何基于git做的协同开发?
  14. 如何基于git实现代码review?
  15. git如何实现v1.0 、v2.0 等版本的管理?
  16. 什么是gitlab?
  17. github和gitlab的区别?
  18. 如何为github上牛逼的开源项目贡献代码?
  19. git中 .gitignore文件的作用?
  20. 什么是敏捷开发?
  21. 简述 jenkins 工具的作用?
  22. 公司如何实现代码发布?
  23. 简述 RabbitMQ、Kafka、ZeroMQ的区别?
  24. RabbitMQ如何在消费者获取任务后未处理完前就挂掉时,保证数据不丢失?
  25. RabbitMQ如何对消息做持久化?
  26. RabbitMQ如何控制消息被消费的顺序?
  27. 以下RabbitMQ的exchange type分别代表什么意思?如:fanout、direct、topic。
  28. 简述 celery 是什么以及应用场景?
  29. 简述celery运行机制。
  30. celery如何实现定时任务?
  31. 简述 celery多任务结构目录?
  32. celery中装饰器 @app.task 和 @shared_task的区别?
  33. 简述 requests模块的作用及基本使用?
  34. 简述 beautifulsoup模块的作用及基本使用?
  35. 简述 seleninu模块的作用及基本使用?
  36. scrapy框架中各组件的工作流程?
  37. 在scrapy框架中如何设置代理(两种方法)?
  38. scrapy框架中如何实现大文件的下载?
  39. scrapy中如何实现限速?
  40. scrapy中如何实现暂定爬虫?
  41. scrapy中如何进行自定制命令?
  42. scrapy中如何实现的记录爬虫的深度?
  43. scrapy中的pipelines工作原理?
  44. scrapy的pipelines如何丢弃一个item对象?
  45. 简述scrapy中爬虫中间件和下载中间件的作用?
  46. scrapy-redis组件的作用?
  47. scrapy-redis组件中如何实现的任务的去重?
  48. scrapy-redis的调度器如何实现任务的深度优先和广度优先?
  49. 简述 vitualenv 及应用场景?
  50. 简述 pipreqs 及应用场景?
  51. 在Python中使用过什么代码检查工具?
  52. 简述 saltstack、ansible、fabric、puppet工具的作用?
  53. B Tree和B+ Tree的区别?
  54. 请列举常见排序并通过代码实现任意三种。
  55. 请列举常见查找并通过代码实现任意三种。
  56. 请列举你熟悉的设计模式?
  57. 有没有刷过leetcode?
  58. 列举熟悉的的Linux命令。
  59. 公司线上服务器是什么系统?
  60. 解释 PV、UV 的含义?
  61. 解释 QPS的含义?
  62. uwsgi和wsgi的区别?
  63. supervisor的作用?
  64. 什么是反向代理?
  65. 简述SSH的整个过程。
  66. 有问题都去那些找解决方案?
  67. 是否有关注什么技术类的公众号?
  68. 最近在研究什么新技术?
  69. 是否了解过领域驱动模型?

 

以上是关于Python-前端框架面试题的主要内容,如果未能解决你的问题,请参考以下文章

python面试题——前端(23题)

面试题面试真题 前端面试报告

关于前端 Vue 框架面试题,面试可能会被问到哪些?

前端面试题-

涉及前端框架面试题

Web前端面试题框架之03