大家好,
精心整理的 Python 相关的基础知识,用于面试,或者平时复习,都是很好的!废话不多说,直接开搞
-
基础篇
-
1. 为什么学习 Python
-
2. 解释型和编译型语言的区别
-
3. 简述下 Python 中的字符串、列表、元组和字典
-
4. 简述上述数据类型的常用方法
-
5. 简述 Python 中的字符串编码
-
6.一行代码实现数值交换
-
7. is 和 == 的区别
-
8.Python 函数中的参数类型
-
9.`*arg` 和 `**kwarg` 作用
-
10.一行代码实现1-100之和
-
11.获取当前时间
-
12.PEP8 规范
-
13.Python 的深浅拷贝
-
14.查看下面代码的输出
-
15.可变类型与不可变类型
-
16.打印九九乘法表
-
17.filter、map、reduce 的作用
-
18.re 的 match 和 search 区别
-
19.面向对象中`__new__` 和 `__init__` 区别
-
20.三元运算规则
-
21.生成随机数
-
22.zip 函数用法
-
23.range 和 xrange 的区别
-
24.with 方法打开文件的作用
-
25.什么是正则的贪婪匹配
-
26.为什么不建议函数的默认参数传入可变对象
-
27.字符串转列表
-
28.字符串转整数
-
29.删除列表中的重复值
-
30.字符串单词统计
-
31.列表推导,求奇偶数
-
32.一行代码展开列表
-
33.实现二分法查找函数
-
34.字典和 json 转换
-
35.列表推导式、字典推导式和生成器
-
36.简述 read、readline、readlines 的区别
-
37.打乱一个列表
-
38.反转字符串
-
39.单下划线和双下划线的作用
-
40.新式类和旧式类
-
41.Python 面向对象中的继承有什么特点
-
42.super 函数的作用
-
43.类中的各种函数
-
44.如何判断是函数还是方法
-
45.isinstance 的作用以及与 type()的区别
-
46.单例模式与工厂模式
-
47.查看目录下的所有文件
-
48.计算1到5组成的互不重复的三位数
-
49.去除字符串首尾空格
-
50.去除字符串中间的空格
-
51. 字符串格式化方式
-
52. 将"hello world"转换为首字母大写"Hello World"(不使用 title 函数)
-
53. 一行代码转换列表中的整数为字符串
-
54. 合并两个元组到字典
-
55. 给出如下代码的输入,并简单解释
-
56. Python 中的反射
-
57. 实现一个简单的 API
-
58. metaclass 元类
-
59. sort 和 sorted 的区别
-
60. Python 中的 GIL
-
61. 产生8位随机密码
-
62. 输出原始字符
-
63. 列表内,字典按照 value 大小排序
-
64. 简述 any() 和 all() 方法
-
65. 反转整数
-
66. 函数式编程
-
67. 简述闭包
-
68. 简述装饰器
-
69. 协程的优点
-
70. 实现一个斐波那契数列
-
71. 正则切分字符串
-
72. yield 用法
-
73. 冒泡排序
-
74. 快速排序
-
75. requests 简介
-
76. 比较两个 json 数据是否相等
-
77. 读取键盘输入
-
78. enumerate
-
79. pass 语句
-
80. 正则匹配邮箱
-
81. 统计字符串中大写字母的数量
-
82. json 序列化时保留中文
-
83. 简述继承
-
84. 什么是猴子补丁
-
85. help() 函数和 dir() 函数
-
86. 解释 Python 中的`//`,`%`和`**`运算符
-
87. 主动抛出异常
-
88. tuple 和 list 转换
-
89. 简述断言
-
90. 什么是异步非阻塞
-
91. 什么是负索引
-
92. 退出 Python 后,内存是否全部释放
-
93. Flask 和 Django 的异同
-
94. 创建删除操作系统上的文件
-
95. 简述 logging 模块
-
96. 统计字符串中单词出现次数
-
97. 正则 re.complie 的作用
-
98. try except else finally 的意义
-
99.反转列表
-
100. 字符串中数字替换
-
-
综合篇:网络编程
-
101. 简述 OSI 七层协议
-
102. 三次握手、四次挥手的流程
-
103. 什么是 C/S 和 B/S 架构
-
104. TCP 和 UDP 的区别
-
105. 局域网和广域网
-
106. arp 协议
-
107. 什么是 socket?简述基于 TCP 协议的套接字通信流程
-
108. 简述 进程、线程、协程的区别以及应用场景
-
109. 如何使用线程池和进程池
-
110. 进程之间如何进行通信
-
111. 进程锁和线程锁
-
112. 什么是并发和并行
-
113. threading.local 的作用
-
114. 什么是域名解析
-
115. LVS 是什么及作用
-
116. Nginx 的作用
-
117. keepalived 及 HAProxy
-
118. 什么是 rpc
-
119. 从浏览器输入一个网址到展示网址页面的过程
-
120. 什么是cdn
-
-
综合篇:数据库和框架
-
121. 列举常见的数据库
-
122. 数据库设计三大范式
-
123. 什么是数据库事务
-
124. MySQL 索引种类
-
125. 数据库设计中一对多和多对多的应用场景
-
126. 简述触发器、函数、视图、存储过程
-
127. 常用 SQL 语句
-
128. 主键和外键的区别
-
129. 如何开启 MySQL 慢日志查询
-
130. MySQL 数据库备份命令
-
131. char 和 varchar 的区别
-
132. 最左前缀原则
-
133. 无法命中索引的情况
-
134. 数据库读写分离
-
135. 数据库分库分表
-
136. redis 和 memcached 比较
-
137. redis中数据库默认是多少个 db 及作用
-
138. redis 有哪几种持久化策略
-
139. redis 支持的过期策略
-
140. 如何保证 redis 中的数据都是热点数据
-
141. Python 操作 redis
-
142. 基于 redis 实现发布和订阅
-
143. 如何高效的找到 redis 中的某个 KEY
-
144. 基于 redis 实现先进先出、后进先出及优先级队列
-
145. redis 如何实现主从复制
-
146. 循环获取 redis 中某个非常大的列表数据
-
147. redis 中的 watch 的命令的作用
-
148. redis 分布式锁
-
149. http 协议
-
150. uwsgi,uWSGI 和 WSGI 的区别
-
151. HTTP 状态码
-
152. HTTP常见请求方式
-
153. 响应式布局
-
154. 实现一个简单的 AJAX 请求
-
155. 同源策略
-
156. 什么是 CORS
-
157. 什么是 CSRF
-
158. 前端实现轮询、长轮询
-
159. 简述 MVC 和 MTV
-
160. 接口的幂等性
-
161. Flask 框架的优势
-
162. 什么是 ORM
-
163. PV、UV 的含义
-
164. supervisor 的作用
-
165. 使用 ORM 和原生 SQL 的优缺点
-
166. 列举一些 django 的内置组件
-
167. 列举 Django 中执行原生 sql 的方法
-
168. cookie 和 session 的区别
-
169. beautifulsoup 模块的作用
-
170. Selenium 模块简述
-
基础篇
1. 为什么学习 Python
Python 语言简单易懂,上手容易,随着 AI 风潮,越来越火
2. 解释型和编译型语言的区别
编译型语言:把做好的源程序全部编译成二进制的可运行程序。然后,可直接运行这个程序。如:C,C++ 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!如:Python, (Java 有些特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。)
3. 简述下 Python 中的字符串、列表、元组和字典
字符串(str):字符串是用引号括起来的任意文本,是编程语言中最常用的数据类型。列表(list):列表是有序的集合,可以向其中添加或删除元素。元组(tuple):元组也是有序集合,但是是无法修改的。即元组是不可变的。字典(dict):字典是无序的集合,是由 key-value 组成的。集合(set):是一组 key 的集合,每个元素都是唯一,不重复且无序的。
4. 简述上述数据类型的常用方法
字符串:
-
切片 mystr='luobodazahui' mystr[1:3] output 'uo'
-
format mystr2 = "welcome to luobodazahui, dear {name}" mystr2.format(name="baby") output 'welcome to luobodazahui, dear baby'
-
join 可以用来连接字符串,将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。mylist =