python 면접문제 - 프레임워크 및 기타 (132문제)

31094 단어
1. 프레임 대비
(1)django,flask,tornado 프레임워크의 비교?
Django:    Django       Web  ,       ,ORM、admin、Form、 ModelForm、   、      。              。

Flask:       Web  ,     ,       ,               ,         ,  Flask       。
            ,            ,  Flask      Django  。
      wsgi    ,  werkzeug       ,      Jinja2  。

Tornado:       Web  ,   ,    ,                 WebSocket  。
              :
    1.iostraem:      socket       
    2.ioloop: I/O       ,        

(2) wsgi는 무엇입니까?
Web       (Web Server Gateway Interface,   WSGI) Python        Web          ,     。

  wsgiref
  werkzurg
  uwsgi
tornado wsgi, socket, 。

2. django 프레임워크
2. 보기 관련
(1) FBV와 CBV는 무엇입니까?
FBV(function base views)               。
CBV(classbase views)              。
Python            ,         ,              (  、  、  )。
  Django      Class-Based-View。        View。            :
    (1)         ,           ,  Mixin(   )
    (2)             HTTP    ,       if  ,       

(2) 어떻게 CBV 프로그램에 장식기를 추가합니까?
               ,                     ,               。

Django    method_decorator                   。

#  method_decorator  
# 1.         
@method_decorator(test,name='dispatch')
class Loginview(View):
    pass
    # 2.             
    @method_decorator(test)
    def post(self,request,*args,**kwargs):pass

3. 모델 관련
(2)django에서 어떻게 데이터베이스 테이블에 따라 모델의 클래스를 생성합니까?
# 1、settings  
#        mysql      ,   settings   : 
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'orm',   #        ,        
        'USER':'root',  #          
        'PASSWORD':'1234',  #         
        'HOST':'127.0.0.1',     #     ,    
        'PORT': 3306,     #       3306
    }
}

# 2、django         MySQLdb    PyMySQL 
#  /ORM/ORM/__init__.py    :
import pymysql
pymysql.install_as_MySQLdb()

# 3、                        
python3 manage.py makemigrations python3 manage.py migrate

(3) django의 모델의ForeignKey 필드에서 ondelete 매개 변수는 어떤 작용을 합니까?
#          ,        field   
#django2.0  ,          ,    on_delete  ,      

(4) only와 defer의 차이점?***모르다
datalist = models.Userinfo.objects.all().only("name","email")  #       QuerySet  ,   name email
for item in datalist:
    print(item.id)
    print(item.name)
    print(item.pwd)   #         ,      ,          

datalist = models.Userinfo.objects.all().defer("name","email") #  ,  name email
for item in datalist:
    print(item.id)
    print(item.pwd)

#   : only     only     ,           ,           .   

(5)select_related 및 prefetchrelated의 차이?
          ,   select_related()   prefetch_related()                ,      。

       (OneToOneField)     (ForeignKey),    select_related   QuerySet    
   join , , SQL (ManyToManyField) , prefetch_related() 。 , OneToManyField 。
   , ,

(6) Filter와 exclude의 차이는?
      QuerySet  ,f
ilter       ,
exclude:       .

(7) F와 Q의 역할은?
Django    F()              。F()              ,       model            。
            ,  :Uinfo.objects.all().update(age=F("age")+1)

Django    Q()             ,                    。
filter()                   “AND”  。         (  OR   )    Q  。

Q       &  |              Q   。    &  |                       Q   。

Q       ~      

(8)values와valueslist의 차이?
#values :     queryset
#values_list :     queryset

 
4.form 관련
(1)django의Form과ModeForm의 역할은?
#Form  :

#    1.     HTML  
#    2.         
#    3.         
#ModeForm:       From  ,         

(2) 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  

4. 중간부품 관련
(1)django 중간부품은 무엇입니까?중간부품으로 뭘 했어요?
       ,             ,      。           csrf、session 。
               、  、cors(  ) 。

(2)django가 요청한 생명주기는?
      wsgi,          django  ,          ,  ,  ,           ,       wsgi,      。

  1.    wsgi     (socket   ),                  ,       web   (Flask、Django)
  2.         (        ),                          ,  :csrf、request.session
        ,          url          
  3.    (    ),               ,     :orm、templates =>   
  4.      ,          。
  5.   wsgi,            (  )。

(3)django 중간부품을 열거하는 5가지 방법은?그리고django 중간부품의 응용 장면?
       ,   request response           ,       ,        django      。

process_request(self,request)       ,    
process_view(self, request, view_func, view_args, view_kwargs)         ,        
process_template_response(self,request,response)          
process_exception(self, request, exception)        
process_response(self, request, response)             

                                      ,  :
1.Django        csrf  ,       CSRF             #token 
2.            ,           ,          ,       。
3.         ,                 

3. django-rest-framework 프레임워크
(1)restfull규범에 대한 인식을 말해 보시겠어요?
  restful                   ,     ,
                 ,                 。     
        ,            ,                  ,
    ,             ,      。

          ,  :
#1、    Http   method,         
  (5   :GET/POST/PUT/DELETE/PATCH)  
#2、restful         , url          ,      
    http://www.luffycity.com/salary  
#3、 url      
    https://v1.bootcss.com/mycss
    https://v3.bootcss.com/
    http://www.luffycity.com/v1/salary
                 ,      ,    
#4、url      API   
    https://www.bootcss.com/api/mycss    
    http://www.luffycity.com/api/v2/salary
    http://api.luffycity.com/v1/salary
    api             ,       ,            。
#5、 url       Https  ,         
    https://www.bootcss.com/v1/mycss?page=3
    https://www.luffycity.com/api/v2/salary
    (Https Http    , HTTP   SSL ,HTTPS      SSL,            SSL(       ))
#6、          
    200  :  
    300  :     301       302     
    400  :  
    500  :    
        :return HttpResponse('asdadw',status=300)
#7、url            
    https://www.bootcss.com/v1/mycss?page=3
    https://www.luffycity.com/api/v2/salary?page=1&size=10
#8、             
    https://www.luffycity.com/api/v2/salary
        GET:       
            {
                code:10000,
                data:[
                    {'id':1, 'title':'  '},
                    {'id':2, 'title':'   '}
                ]
            }
        POST:       
            {'id':3, 'title':'  '}
    https://www.luffycity.com/api/v2/salary/1/
        GET:       {'id':1, 'title':'  '}
        PUT:     {'id':1, 'title':'  '}
        PATCH:      {'id':1, 'title':'  '}
        DELETE:  
#9、      (           )
    {
        code:100001,
        error:'xxx  '
    }
    
#10、RESTful API    Hypermedia,          ,    API  ,        ,           
                     URL
      ret = {
            code: 1000,
            data:{
                id:1,
                name:'  ',
                depart_id:https://www.luffycity.com/api/v1/depart/8/
            }
        }

(2) 왜 django rest 프레임워크를 사용합니까?
        RESTful     API

1.   REST API    ,               ,
      、 、 、          ,          
2.          ,         ,          ,           

REST framework                ,    REST API     

(3)django rest 프레임워크 프레임워크에 구성 요소가 있습니까?
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     ,            

(4)django rest 프레임워크 프레임워크의 보기는 어떤 종류를 계승할 수 있습니까?
class View(object):

class APIView(View): 
    #    view,       request,        

class GenericAPIView(views.APIView):
    #           , 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):
    #    mixins     ,   list,create,update   ,    GenericViewSet

(5)django rest 프레임워크의 인증 절차를 약술한다.
1、        APIView dispatch  , dispatch       ,     self.initial(request, *args, **kwargs),    、  、    。

2、initial   ,      
def initial(self, request, *args, **kwargs):
  """    """
    # Ensure that the incoming request is permitted
    #     
    self.perform_authentication(request)

3、perform_authentication    request.user,    Request    user    
def perform_authentication(self, request): request.user

(6)django rest 프레임워크는 어떻게 사용자 접근 주파수 제어를 실현합니까?
  IP/       ,           ,           ,   ,                  ,
      ,                    。 
    :  IP  ,        ,         IP
: , ,

(7) 인터페이스란?
 Python     URL。
  c++/java ,       。
    #              IFoo    
    # java        ,        
    interface IFoo:
        def func(self):pass

    class Foo(IFoo):
        def func(self):pass

3. Django ORM 프레임워크
(1)django orm에서 sql 문장을 쓸 수 있는 세 가지 방법을 열거한다.
Django        (performing)   SQL  :

(1) Manager.raw() :             

(2) Executing custom SQL directly :       SQL,              ,         SQL  。

(2)django orm에서 어떻게 읽기와 쓰기 분리를 설정합니까?
#1.      :  .using(db_name)          
#2.      :
#    1.   : Router
#    2.  Router
#        settings.py   DATABASE_ROUTERS
#        DATABASE_ROUTERS = ['myrouter.Router',] 
#      :        ,     ,    。        
#  app        :    

(3)django orm의 모든 방법 열거(QuerySet 대상의 모든 방법)
ORM “  -  -  ”   。              。

<1> all():                        
<2> filter(**kwargs):                        
<3> get(**kwargs):                         ,          ,
                                                     。
<4> exclude(**kwargs):                       
<5> order_by(*field):              
<6> reverse():                       
<8> count():                          (QuerySet)     。
<9> first():                       
<10> last():                        
<11> exists():                QuerySet    ,   True,    False
<12> values(*field):            ValueQuerySet——     QuerySet,            
                            model      ,            
<13> values_list(*field):     values()    ,           ,values          
<14> distinct():                        

<15>delete():                   ,delete()     QuerySet     ,       Manager   。
<16>update():            (QuerySet)   ,              。
                    update()           ,          。

(4)django orm을 사용하여 데이터를 대량으로 만드는 방법은?
(5)django에서 orm표에 데이터를 추가할 때 로그 기록을 만드는 방법.
(6) orm과 원생 ql를 사용하는 장점과 단점은?
ORM   :
  : 
1)      ,       
2)         
3)    
4)                    
  : 
1)                     。            ,          。 
2)       、where          ,ORM        。

SQL   :
  :
     、   。
  :
     

(7) orm에서dbfirst와codefirst의 의미를 설명합니까?
 
 
10. 미분양
4,django의 내장 구성 요소를 열거합니까?
1.admin  :      web      ,                   。
2.auth  :      , session        
3.forms  :1)  HTML  ;2)      (      )3)HTML Form           4)         
4.ModelForm  : model form    ,        ,        
5.paginator : ,

 
7,django의 Request 대상은 언제 만들었습니까?
#   wsgi.py  :
application = get_wsgi_application()

#      get_wsgi_application()    
def get_wsgi_application():
    django.setup(set_prefix=False)
    return WSGIHandler()

#   WSGIHandler  
class WSGIHandler(base.BaseHandler):

    # __call__()                 ,              
    def __call__(self, environ, start_response):
        request = self.request_class(environ)
        response = self.get_response(request)

#     WSGIHandler    ,  __cell__  , environ    request

 
21.django에서 csrf의 실현 메커니즘은?
Django                     。       CSRF    POST    ,           csrf_token     。

#   :django                ,        token ,   token   SESSION   ;  ,     token  cookie       ;
#   :          (    )      token              ,      ;Cookies:{csrftoken:xxxxx}
#   :            token SESSION  token    ;

22.django는 어떻게 웹소켓을 실현합니까?
               ,         ,    websocket   , django      websocket ,
django-channels

23.django 기반으로ajax로post 요청을 보낼 때 csrf token을 휴대할 수 있는 방법은 무엇입니까?
  1:   csrftoken    ,  post          
$.ajaxSetup({
    data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});

  2:  form      csrftoken ,            :
data: {
    csrfmiddlewaretoken:$('[name="csrfmiddlewaretoken"]').val()
},

  3:cookie   csrftoken, csrftoken       

$.ajax({ 
    headers:{"X-CSRFToken":$.cookie('csrftoken')},
})

 
 
25.django 캐시는 어떻게 설정합니까?
Django          setting     CACHES       。           ,             。

        ,   settings.py       :
CACHES = {
    'default': {
        #        
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        #              
        'LOCATION': 'my_cache_table',
    }
}

              :
python manage.py createcachetable

26.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")

27.django 루트 시스템에서name의 역할은?
urlpatterns = [ 
  url( , views , , ),
]
name: URL , Django , 。 URL , , Django 。

28.django의 템플릿 중 Filter와 단순tag의 차이?
simple_tag:       ,        ,    if    

filter:     1   (       ,       ),   ,   return true  false,   if      .
{{ var
|foo:"bar" }} , foo var bar。

29.django-debug-toolbar의 역할은?
# django       , django       
#    sql  ,db    ,request,headers 

30.django에서 어떻게 단원 테스트를 실현합니까?
 
34. MVC 및 MTV 개요
MVC   Web      (M),   (C)   (V)  ,           、           。
                   (ORM)
              (  )
                            

Django MTV    :
       Model(  ):             (ORM)
       Template(  ):            
       View(  ):      ,         Model Template
      ,Django    urls   ,         URL           view  ,
view Model Template。

35.django의 콘텐츠 type 구성 요소의 역할은?
 django ,           model     ,  ContentType,
              model,        ContentType  id        id      ,
    ContenType  id      model,   model id       。

37. 인터페이스의 멱은 무슨 뜻입니까?
 
 
38. RPC란 무엇입니까?
       (RPC)      ,                            。
RPC     /     。           ,              。

  :
      ,                          ,        。
         ,                  。
             ,         ,    ,      ,           ,
      ,             ,      ,          。

39, Http와 Https의 차이점은?
1、  Https Http    , HTTP   SSL   Https;
2、       ,Http 80  ,Https 443  ;
3、Http        ,       ,       ,          ,           ;
4、  https  server    CA                   .           server    ,        .

4. Flask 프레임
45. Flask 프레임워크의 장점은?
 
 
46. Flask 프레임워크는 구성 요소에 의존합니까?
 
 
47. Flask 청사진의 역할은?
 
 
48. 사용한 Flask 타사 구성 요소 나열?
 
 
49. Flask 컨텍스트 관리 프로세스를 간략하게 설명합니까?
 
 
50, Flask의 g 역할은?
 
 
51. Flask에서 상하문 관리는 주로 관련 클래스와 관련이 있습니까?그리고 묘사류의 주요 역할은?
 
 
52. 왜 Flask는 Local 대상의 값을 하나의 목록으로 유지합니까?
 
 
53. Flask의 멀티 앱은 어떻게 완성됩니까?
 
 
54. Flask에서 WebSocket을 실현하려면 어떤 구성 요소가 필요합니까?
 
 
55. wtforms 구성 요소의 역할은?
 
 
56, Flask 프레임워크 기본session 처리 메커니즘?
 
 
57. Flask 프레임워크의 Local 대상과threading을 설명한다.local 대상의 차이?
 
 
58. Flask에서 blinker는 무엇입니까?
 
 
59, SQLAlchemy의 세션 및 scoped세션의 차이?
 
 
60. SQLAlchemy는 기본 SQL을 어떻게 수행합니까?
 
 
61. ORM의 실현 원리는?
 
 
62, DBUtils 모듈의 역할은?
 
63. 다음 SQLAlchemy 필드가 올바른가요?잘못된 경우 수정:
fromdatetime importdatetime

fromsqlalchemy.ext.declarative
importdeclarative_base

fromsqlalchemy importColumn, Integer, String, DateTime



Base = declarative_base()


classUserInfo(Base):
  
    __tablename__ ='userinfo'
  
    id=Column(Integer, primary_key=True, autoincrement=True)

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

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

   
64. SQLAchemy에서 어떻게 표에 엔진과 문자 인코딩을 설정합니까?
65. SQLAchemy에서 유일한 인덱스를 어떻게 설정합니까?
5. Tornado 프레임워크
66. Tornado 프레임워크의 특징을 약술한다.
67. Tornado 프레임워크에서 Future 대상의 역할을 약술합니까?
68. Tornado 프레임워크에서 WebSocket 프로그램을 어떻게 작성합니까?
69. Tornado에서 정적 파일은 어떻게 처리됩니까?
 여:
70, Tornado 작업 MySQL에 사용되는 모듈?
71. Tornado에서 Redis를 조작할 때 사용하는 모듈은?
72. Tornado 프레임워크의 적용 장면을 약술합니까?
여섯
73.git의 일반적인 명령 기능:
74. 다음git에서stash 명령의 작용과 관련 기타 명령을 약술한다.
75.git에서merge와rebase 명령의 차이
76. 회사는 어떻게git를 바탕으로 하는 협동 개발을 합니까?
77.git를 바탕으로 코드review를 어떻게 실현합니까?
78.git 어떻게 v1.0 、v2.0 등 버전 관리?
79.gitlab는 무엇입니까?
80,github와gitlab의 차이는?
81.github에 강요된 개원 프로젝트에 어떻게 기여 코드를 사용합니까?
82.git 중.gitignore 파일의 역할은?
83. 민첩한 개발은 무엇입니까?
84. 제인킨스 도구의 작용을 약술할까?
85. 회사는 어떻게 코드 발표를 실현합니까?
86. RabbitMQ, Kafka, ZeroMQ의 차이를 약술할까?
87. RabbitMQ는 어떻게 소비자가 임무를 얻은 후에 처리가 끝나기 전에 끊을 때 데이터가 분실되지 않도록 보증합니까?
88. RabbitMQ는 어떻게 메시지의 지속성을 유지합니까?
89, RabbitMQ는 어떻게 정보가 소비되는 순서를 통제합니까?
90, 이하 RabbitMQ의 exchange type은 각각 무슨 뜻입니까?예: fanout,direct,topic.
91. 약술celery는 무엇이고 응용 장면은?
92.celery 운영 메커니즘을 약술한다.
93.celery는 어떻게 정시 임무를 실현합니까?
94.celery 멀티퀘스트 구조 디렉터리를 약술합니까?
95,celery 인테리어 @app.task 및 @sharedtask의 차이?
8. 알고리즘과 디자인 모델
116, B Tree와 B+ Tree의 차이점은?
117, 흔히 볼 수 있는 정렬을 열거하고 코드를 통해 임의의 세 가지를 실현하십시오.
118, 흔히 볼 수 있는 검색을 열거하고 코드를 통해 임의의 세 가지를 실현하십시오.
119、당신이 익숙한 디자인 모델을 열거해 주시겠습니까?
         、   ,                       。
                              。
  ,        ,                     。

               :

    ,        ,                 。
     ,             ,               。
    ,             ,             ,        。

120、leetcode를 칠한 적이 있습니까?
121. 익숙한 Linux 명령을 열거한다.
122 회사 온라인 서버는 어떤 시스템입니까?
123. PV, UV의 의미를 설명합니까?
#1.pv:     ,       PV  +1,      
#2.UV:     ,           

124, QPS의 의미 설명?
125, uwsgi와 wsgi의 차이는?
126, 슈퍼바이저의 역할은?
127, 무엇이 역방향 대리입니까?
128. SSH의 전체 과정을 약술한다.
129, 문제가 있으면 모두 해결 방안을 찾으러 갑니까?
130、어떤 기술류에 관심을 가진 공식 번호가 있습니까?
131、요즘 무슨 신기술을 연구하고 있습니까?
132, 영역 구동 모델을 이해한 적이 있습니까?
전재 대상:https://www.cnblogs.com/xiugeng/p/9716134.html

좋은 웹페이지 즐겨찾기