Python 基础
- 基础t:语法是否熟悉?介绍一下 。
- 有哪些关键字?解释其作用 。
- 有哪些内置方法?解释其作用 。
- 解释一下什么是动态语育 7 动态强类型是指什么 ?
- 是否有编码规范的概念?采用的是哪种编码规范?
- 解释一下深拷贝利浅拷贝 。
- l ambd a 的用法以及使用场景 。
- 解释一下闭包及其作用 。
- 实现一个简单的装饰器,用来对某个函数的结果进行缓存 。
- Pyth o n 中几种容器类型的差别及使用场景有|哪些?
- 列表推导式的使用和场景有|那些?
- 介绍一下 y i e ld 的用法 。
- 常用的内置库有|那些?举例说明它们 的用法 。
- 介绍一下你了解的 magic method (魔法方法)及其作用 。
- 解释一下面向对象的概念及其在编程中的作用 。
- 如何实现单例模式?
- 如何对 Python 对象进行序列化?
- 是否能够熟练编写多线程矛1:1多进程程序?
- 使用 socket 编写一个简单的 HTTP 服务器,成功返回 success 即可 。
- 如何理解 Python 中的 GIL? 这对我们的 日常开发有什么影响 ?
- 解释一下协程、线程和进程之间 的差别 。
Django 基础
整体结构
如何理解设计模式中的 MVC 模式,你平时怎么使用这种模式?
如何理解 Djan go 中的 MTV 模型 ?
介绍一下 Dj ango 中你熟悉的模块及其作用 ?
如何看待 Dj ango 自 带的 admin ,并说说你的使用经验 。
如何理解 WSGI 的作用 ?
如何自己实现 WSGI 协议?
为什么正式部署时不要开启 DEBUG = True 配置?
Model 层
- 如何理解 Dj ango migrations 的作用 ?
- 是否有过于动编辑 m igrat ions 文在|的经历? 原因是什么 ? 有|那些需要注意的 ?
- 介绍一下 ORM 的概念 。
- 如何理解 ORM 在 Dj ango 框架中的作用?
- 介绍一下 ORM 下的 N+ l 问题 、发生 的原因 以及解决方案 。
- 介绍一下 Django 中 Mo d e l 的作用 。
- Model 的 Meta 属性类有|哪些可配置项 ? 其作用是什么 ? 日常怎么使用它?
- 介绍一下 Query Set 的作用以及你常用的 Query S e t 优化措施 。
- 介绍一下 Pag inati on 的用法 。
- 介绍一下 Mode l 中 F i e ld 的作用 。
- 如何定制 Man ager? 什么场景下需要定制 ?
- 原生 SQL 的效率跟 ORM 的效率是否进行过对 比?结果如何 ? 如何理解这种差异?
- Dj an go 内 置提供的权限逻辑以及其粒度 。
View 层
- Dj ango 中 function v i ew 和 cl ass - based v iew 的差别及适用场景 。
- 如何给 clas s-bas ed v i ew 添加 l og in required 装饰器 ?
- midd l eware 在 Django 系统中的作用 。
- settings 中默认配置的 MIDDLEWARE S 有哪些?它们 的作用分别是什么?是否可以移除?
- Dj ango 系统如何判断用户 是否为登录用户 ?
- 对于无 cooki e 的浏览器,如何实现用户登录?
- Dj ango 中的 request 和I HttpRespo口se 的作用是什么?
- 如何处理图片上传的逻辑 以及展示逻辑?
- 介绍一下用过的 Dj an go 缓存粒度
Form 层
- 介绍一下 同 ango 中 Form 的作用 。
- Form 中 的 Fi e l d 跟 Mode l 中的 F i e ld 有何关联 ?
- 如何在 Form 层实现对某个字段的校验 ?
Template 层
- 如何理解 Django 模板对设计师友好的说法 ?
- 日常开发中如何规划 Django 的模板继承和 川elude?
- 常用的标签( tag )和过滤器( filter )有哪些?
- 在模板中如何处理静态文件?
- 在模板中如何处理系统内定义的 URL ?
- 如何自定义标签和过滤器?
Django 进阶
- 如何排查Django项目的性能问题?
- 如何部署Django项目?不同部署方式之间的差别有哪些7
- 部署时如何处理项目中的静态文件?
- 如何实现自定义的登录认证逻辑?
- 如何理解Django中Model、Form、ModelForm和Fi巳ld、widget之间的关系?
- paginator的原理是什么?如何自己实现分页逻辑7
- Mod巳l中Fi巳ld的作用是打么?
- 什么是SQL注入?ORM又是如何解决这个问题的?
- CSRF全称是什么?Django是如何解决这个问题的?
- xss攻击是指什么?在开发时应该如何避免这种攻击?
- signal的作用以及实现逻辑是什么?
- DATABASE配置中CONN_MAX_AGE参数的作用以及使用场景。
- CONN_MAX_AGE的实现逻辑是什么?
- 用Django内置的User模型创建用户时,是再可以直接用User(username=’the5fire',password=’the5fire’).save()?
- 上面的创建方式有什么问题?应该如何处理用户密码?
- 使用django-rest-framework如何实现用户认证登录逻辑?
- 比ssion模块在Django中的作用是什么?
- 如何自定义Django中的权限粒度,实现自己的权限逻辑?
- 如何捕获线上系统的异常?
- 如何分析某个接口响应时间过长的问题?假设响应时间为2s,一次请求会涉及哪些数据库和缓存查向?
部署相关
- 如何自动化部署项目到生产环境?具体流程是什么?
- 介绍一下常用的自动化部署工具。
- 用到哪些监控工具?其作用是什么?使用中有什么不足之处?
- supervisor的作用是什么?为何使用它?
- Gunicorn的作用是什么?为何使用它?
- 如何对系统进行压测?如何进行流量预估?
- Nginx的作用是什么?是否能独立配置?有没有优化经验?
- 发版逻辑是什么?如何保证新版本发生异常时能快速回滚?
Mysql相关
- 如何确定哪些字段需要设置索引?
- 什么情况下需要设定字段属性为m工que=True?
- 如何排查某个SQL语句的索引命中情况?
- 如何排查查询过慢的SQL语句?
常用算法
- Python中字典类型的实现算法。
- 你了解的高级语言中的垃圾回收机制有哪些?Python中用的是什么?
- 介绍一下你知道的缓存相关的算法。
- 介绍一下你知道的负载均衡相关的算法。
- 介绍一下数据库索引相关的算法。