python笔试知识点_python知识点及面试面试大集合
一、基礎(chǔ)篇
1. 為什么學(xué)習(xí)Python?
通過什么途徑學(xué)習(xí)的Python?
Python和Java、PHP、C、C#、C++等其他語言的對比?
簡述解釋型和編譯型編程語言?
Python解釋器種類以及特點(diǎn)?
位和字節(jié)的關(guān)系?
b、B、KB、MB、GB 的關(guān)系?
請至少列舉5個 PEP8 規(guī)范(越多越好)。
通過代碼實現(xiàn)如下轉(zhuǎn)換:
二進(jìn)制轉(zhuǎn)換成十進(jìn)制:v = “0b1111011”
十進(jìn)制轉(zhuǎn)換成二進(jìn)制:v = 18
八進(jìn)制轉(zhuǎn)換成十進(jìn)制:v = “011”
十進(jìn)制轉(zhuǎn)換成八進(jìn)制:v = 30
十六進(jìn)制轉(zhuǎn)換成十進(jìn)制:v = “0x12”
十進(jìn)制轉(zhuǎn)換成十六進(jìn)制:v = 87
請編寫一個函數(shù)實現(xiàn)將IP地址轉(zhuǎn)換成一個整數(shù)。
如 10.3.9.12 轉(zhuǎn)換規(guī)則為:
10 00001010
3 00000011
9 00001001
12 00001100
再將以上二進(jìn)制拼接起來計算十進(jìn)制結(jié)果:00001010 00000011 00001001 00001100 = ?
python遞歸的最大層數(shù)?
求結(jié)果:
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or Flase and 1
ascii、unicode、utf-8、gbk 區(qū)別?
字節(jié)碼和機(jī)器碼的區(qū)別?
三元運(yùn)算規(guī)則以及應(yīng)用場景?
列舉 Python2和Python3的區(qū)別?
用一行代碼實現(xiàn)數(shù)值交換:
a = 1
b = 2
Python3和Python2中 int 和 long的區(qū)別?
xrange和range的區(qū)別?
文件操作時:xreadlines和readlines的區(qū)別?
列舉布爾值為False的常見值?
字符串、列表、元組、字典每個常用的5個方法?
lambda表達(dá)式格式以及應(yīng)用場景?
pass的作用?
*arg和**kwarg作用
is和==的區(qū)別
簡述Python的深淺拷貝以及應(yīng)用場景?
Python垃圾回收機(jī)制?
Python的可變類型和不可變類型?
求結(jié)果:
v = dict.fromkeys(['k1','k2'],[])
v[‘k1’].append(666)
print(v)
v[‘k1’] = 777
print(v)
求結(jié)果:
列舉常見的內(nèi)置函數(shù)?
filter、map、reduce的作用?
一行代碼實現(xiàn)9*9乘法表
如何安裝第三方模塊?以及用過哪些第三方模塊?
至少列舉8個常用模塊都有那些?
re的match和search區(qū)別?
什么是正則的貪婪匹配?
求結(jié)果:? a. [ i % 2 for i in range(10) ]? b. ( i % 2 for i in range(10) )
求結(jié)果:? a. 1 or 2? b. 1 and 2? c. 1 < (2==2)? d. 1 < 2 == 2
def func(a,b=[]) 這種寫法有什么坑?
如何實現(xiàn) “1,2,3” 變成 [‘1’,’2’,’3’] ?
如何實現(xiàn)[‘1’,’2’,’3’]變成[1,2,3] ?
比較: a = [1,2,3] 和 b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的區(qū)別?
如何用一行代碼生成[1,4,9,16,25,36,49,64,81,100] ?
一行代碼實現(xiàn)刪除列表中重復(fù)的值 ?
如何在函數(shù)中設(shè)置一個全局變量 ?
logging模塊的作用?以及應(yīng)用場景?
請用代碼簡答實現(xiàn)stack 。
常用字符串格式化哪幾種?
簡述 生成器、迭代器、可迭代對象 以及應(yīng)用場景?
用Python實現(xiàn)一個二分查找的函數(shù)。
談?wù)勀銓﹂]包的理解?
os和sys模塊的作用?
如何生成一個隨機(jī)數(shù)?
如何使用python刪除一個文件?
談?wù)勀銓γ嫦驅(qū)ο蟮睦斫?#xff1f;
Python面向?qū)ο笾械睦^承有什么特點(diǎn)?
面向?qū)ο笊疃葍?yōu)先和廣度優(yōu)先是什么?
面向?qū)ο笾衧uper的作用?
是否使用過functools中的函數(shù)?其作用是什么?
列舉面向?qū)ο笾袔聞澗€的特殊方法,如:new、init
如何判斷是函數(shù)還是方法?
靜態(tài)方法和類方法區(qū)別?
列舉面向?qū)ο笾械奶厥獬蓡T以及應(yīng)用場景
1、2、3、4、5 能組成多少個互不相同且無重復(fù)的三位數(shù)
什么是反射?以及應(yīng)用場景?
metaclass作用?以及應(yīng)用場景?
用盡量多的方法實現(xiàn)單例模式。
裝飾器的寫法以及應(yīng)用場景。
異常處理寫法以及如何主動跑出異常(應(yīng)用場景)
什么是面向?qū)ο蟮膍ro
isinstance作用以及應(yīng)用場景?
寫代碼并實現(xiàn):
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would
have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1]
json序列化時,可以處理的數(shù)據(jù)類型有哪些?如何定制支持datetime類型?
json序列化時,默認(rèn)遇到中文會轉(zhuǎn)換成unicode,如果想要保留中文怎么辦?
什么是斷言?應(yīng)用場景?
有用過with statement嗎?它的好處是什么?
使用代碼實現(xiàn)查看列舉目錄下的所有文件。
簡述 yield和yield from關(guān)鍵字。
二、網(wǎng)絡(luò)編程
簡述 OSI 七層協(xié)議。
什么是C/S和B/S架構(gòu)?
簡述 三次握手、四次揮手的流程。
什么是arp協(xié)議?
TCP和UDP的區(qū)別?
什么是局域網(wǎng)和廣域網(wǎng)?
為何基于tcp協(xié)議的通信比基于udp協(xié)議的通信更可靠?
什么是socket?簡述基于tcp協(xié)議的套接字通信流程。
什么是粘包? socket 中造成粘包的原因是什么? 哪些情況會發(fā)生粘包現(xiàn)象?
IO多路復(fù)用的作用?
什么是防火墻以及作用?
select、poll、epoll 模型的區(qū)別?
簡述 進(jìn)程、線程、協(xié)程的區(qū)別 以及應(yīng)用場景?
GIL鎖是什么鬼?
Python中如何使用線程池和進(jìn)程池?
threading.local的作用?
進(jìn)程之間如何進(jìn)行通信?
什么是并發(fā)和并行?
進(jìn)程鎖和線程鎖的作用?
解釋什么是異步非阻塞?
路由器和交換機(jī)的區(qū)別?
什么是域名解析?
如何修改本地hosts文件?
生產(chǎn)者消費(fèi)者模型應(yīng)用場景及優(yōu)勢?
什么是cdn?
LVS是什么及作用?
Nginx是什么及作用?
keepalived是什么及作用?
haproxy是什么以及作用?
什么是負(fù)載均衡?
什么是rpc及應(yīng)用場景?
簡述 asynio模塊的作用和應(yīng)用場景。
簡述 gevent模塊的作用和應(yīng)用場景。
twisted框架的使用和應(yīng)用?
三、前端及框架
談?wù)勀銓ttp協(xié)議的認(rèn)識。
談?wù)勀銓ebsocket協(xié)議的認(rèn)識。
什么是magic string ?
如何創(chuàng)建響應(yīng)式布局?
你曾經(jīng)使用過哪些前端框架?
什么是ajax請求?并使用jQuery和XMLHttpRequest對象實現(xiàn)一個ajax請求。
如何在前端實現(xiàn)輪訓(xùn)?
如何在前端實現(xiàn)長輪訓(xùn)?
vuex的作用?
vue中的路由的攔截器的作用?
axios的作用?
列舉vue的常見指令。
簡述jsonp及實現(xiàn)原理?
是什么cors ?
列舉Http請求中常見的請求方式?
列舉Http請求中的狀態(tài)碼?
列舉Http請求中常見的請求頭?
看圖寫結(jié)果:
看圖寫結(jié)果:
看圖寫結(jié)果:
看圖寫結(jié)果:
看圖寫結(jié)果:
看圖寫結(jié)果:
django、flask、tornado框架的比較?
什么是wsgi?
django請求的生命周期?
列舉django的內(nèi)置組件?
列舉django中間件的5個方法?以及django中間件的應(yīng)用場景?
簡述什么是FBV和CBV?
django的request對象是在什么時候創(chuàng)建的?
如何給CBV的程序添加裝飾器?
列舉django orm 中所有的方法(QuerySet對象的所有方法)
only和defer的區(qū)別?
select_related和prefetch_related的區(qū)別?
filter和exclude的區(qū)別?
列舉django orm中三種能寫sql語句的方法。
django orm 中如何設(shè)置讀寫分離?
F和Q的作用?
values和values_list的區(qū)別?
如何使用django orm批量創(chuàng)建數(shù)據(jù)?
django的Form和ModeForm的作用?
django的Form組件中,如果字段中包含choices參數(shù),請使用兩種方式實現(xiàn)數(shù)據(jù)源實時更新。
django的Model中的ForeignKey字段中的on_delete參數(shù)有什么作用?
django中csrf的實現(xiàn)機(jī)制?
django如何實現(xiàn)websocket?
基于django使用ajax發(fā)送post請求時,都可以使用哪種方法攜帶csrf token?
django中如何實現(xiàn)orm表中添加數(shù)據(jù)時創(chuàng)建一條日志記錄。
django緩存如何設(shè)置?
django的緩存能使用redis嗎?如果可以的話,如何配置?
django路由系統(tǒng)中name的作用?
django的模板中filter和simple_tag的區(qū)別?
django-debug-toolbar的作用?
django中如何實現(xiàn)單元測試?
解釋orm中 db first 和 code first的含義?
django中如何根據(jù)數(shù)據(jù)庫表生成model中的類?
使用orm和原生sql的優(yōu)缺點(diǎn)?
簡述MVC和MTV
django的contenttype組件的作用?
談?wù)勀銓estfull 規(guī)范的認(rèn)識?
接口的冪等性是什么意思?
什么是RPC?
Http和Https的區(qū)別?
為什么要使用django rest framework框架?
django rest framework框架中都有那些組件?
django rest framework框架中的視圖都可以繼承哪些類?
簡述 django rest framework框架的認(rèn)證流程。
django rest framework如何實現(xiàn)的用戶訪問頻率控制?
Flask框架的優(yōu)勢?
Flask框架依賴組件?
Flask藍(lán)圖的作用?
列舉使用過的Flask第三方組件?
簡述Flask上下文管理流程?
Flask中的g的作用?
Flask中上下文管理主要涉及到了那些相關(guān)的類?并描述類主要作用?
為什么要Flask把Local對象中的的值stack 維護(hù)成一個列表?
Flask中多app應(yīng)用是怎么完成?
在Flask中實現(xiàn)WebSocket需要什么組件?
wtforms組件的作用?
Flask框架默認(rèn)session處理機(jī)制?
解釋Flask框架中的Local對象和threading.local對象的區(qū)別?
Flask中 blinker 是什么?
SQLAlchemy中的 session和scoped_session 的區(qū)別?
SQLAlchemy如何執(zhí)行原生SQL?
ORM的實現(xiàn)原理?
DBUtils模塊的作用?
以下SQLAlchemy的字段是否正確?如果不正確請更正:
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())
SQLAchemy中如何為表設(shè)置引擎和字符編碼?
SQLAchemy中如何設(shè)置聯(lián)合唯一索引?
簡述Tornado框架的特點(diǎn)。
簡述Tornado框架中Future對象的作用?
Tornado框架中如何編寫WebSocket程序?
Tornado中靜態(tài)文件是如何處理的??如:
Tornado操作MySQL使用的模塊?
Tornado操作redis使用的模塊?
簡述Tornado框架的適用場景?
git常見命令作用:
簡述以下git中stash命令作用以及相關(guān)其他命令。
git 中 merge 和 rebase命令 的區(qū)別。
公司如何基于git做的協(xié)同開發(fā)?
如何基于git實現(xiàn)代碼review?
git如何實現(xiàn)v1.0 、v2.0 等版本的管理?
什么是gitlab?
github和gitlab的區(qū)別?
如何為github上牛逼的開源項目貢獻(xiàn)代碼?
git中 .gitignore文件的作用?
什么是敏捷開發(fā)?
簡述 jenkins 工具的作用?
公司如何實現(xiàn)代碼發(fā)布?
簡述 RabbitMQ、Kafka、ZeroMQ的區(qū)別?
RabbitMQ如何在消費(fèi)者獲取任務(wù)后未處理完前就掛掉時,保證數(shù)據(jù)不丟失?
RabbitMQ如何對消息做持久化?
RabbitMQ如何控制消息被消費(fèi)的順序?
以下RabbitMQ的exchange type分別代表什么意思?如:fanout、direct、topic。
簡述 celery 是什么以及應(yīng)用場景?
簡述celery運(yùn)行機(jī)制。
celery如何實現(xiàn)定時任務(wù)?
簡述 celery多任務(wù)結(jié)構(gòu)目錄?
celery中裝飾器 @app.task 和 @shared_task的區(qū)別?
簡述 requests模塊的作用及基本使用?
簡述 beautifulsoup模塊的作用及基本使用?
簡述 seleninu模塊的作用及基本使用?
scrapy框架中各組件的工作流程?
在scrapy框架中如何設(shè)置代理(兩種方法)?
scrapy框架中如何實現(xiàn)大文件的下載?
scrapy中如何實現(xiàn)限速?
scrapy中如何實現(xiàn)暫定爬蟲?
scrapy中如何進(jìn)行自定制命令?
scrapy中如何實現(xiàn)的記錄爬蟲的深度?
scrapy中的pipelines工作原理?
scrapy的pipelines如何丟棄一個item對象?
簡述scrapy中爬蟲中間件和下載中間件的作用?
scrapy-redis組件的作用?
scrapy-redis組件中如何實現(xiàn)的任務(wù)的去重?
scrapy-redis的調(diào)度器如何實現(xiàn)任務(wù)的深度優(yōu)先和廣度優(yōu)先?
簡述 vitualenv 及應(yīng)用場景?
簡述 pipreqs 及應(yīng)用場景?
在Python中使用過什么代碼檢查工具?
簡述 saltstack、ansible、fabric、puppet工具的作用?
B Tree和B+ Tree的區(qū)別?
請列舉常見排序并通過代碼實現(xiàn)任意三種。
請列舉常見查找并通過代碼實現(xiàn)任意三種。
請列舉你熟悉的設(shè)計模式?
有沒有刷過leetcode?
列舉熟悉的的Linux命令。
公司線上服務(wù)器是什么系統(tǒng)?
解釋 PV、UV 的含義?
解釋 QPS的含義?
uwsgi和wsgi的區(qū)別?
supervisor的作用?
什么是反向代理?
簡述SSH的整個過程。
有問題都去那些找解決方案?
是否有關(guān)注什么技術(shù)類的公眾號?
最近在研究什么新技術(shù)?
是否了解過領(lǐng)域驅(qū)動模型?
總結(jié)
以上是生活随笔為你收集整理的python笔试知识点_python知识点及面试面试大集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小产权房是什么(什么叫小产权房产)
- 下一篇: 什么食物含锌多(想要补锌,这些食物别错过