1

数据结构与算法:

  1. 数组与链表(手写 定义一个栈或队列 写出入队与出队的方法) 树与图
  2. 快速排序 (考虑递归增加调用栈的深度, 应区分for循环与递归的使用场景)
  3. 二叉树 广度优先搜素(封装成一个类,实现前/中/后序遍历搜素)
  4. Python字典的实现原理(典型的散列表数据结构,可以用数组及链表来实现)

数据库

  1. 分表分库的场景(根据具体的业务场景来划分)
  2. 动态查询优化问题(redis缓存 mysql的view视图)
  3. 索引的原理及何时需要增加索引(b+tree数据结构的考场)
  4. 数据库的ACID(注意事务隔离机制的实现原理,级别,场景配置)
  5. 高并发情况下,怎么调用阿里短信服务接口(加入消息队列中异步调用)
  6. 针对非关系型数据库mongodb,怎么查询缺失字段的记录 {fieldname: {$exists: false}}
  7. 数据库的样式
  8. redis数据库的实现原理
  9. 关系型数据库与非关系型数据库的区别

web框架

  1. django与flask关于多对多的数据模型设计
  2. flask关于全局上下文变量 g session request current_app的作用
  3. 关于flask请求隔离机制的处理(ThreadLocal实现)
  4. django与flask查询 querySet的优化问题(sqlalchemy自带limit 但django的filter没有limit 大部分情况下用sql去实现 )
  5. flask怎么实现跨域请求
  6. 关于 WSGI uWSGI uwsgi的区别
  7. gunicorn与celery原理的了解程度(celery的broken常用组件)
  8. 常见的中间件的实现(手写 过滤特定请求--ip限制 请求频率控制)

网络编程

  1. tcp怎么实现实现通信安全?
  2. 怎么判断服务器响应的资源不同呢?
  3. 怎么在服务器端管理不同的进程呢?比如消息队列的进程死掉了,怎么解决?(用supervisor监控进程的存活状态)

Python语言

  1. 手写 装饰器(注意类装饰器) 单例模式 快速排序(递归) 嵌套数组及字典的排序问题
  2. 异步 async的了解程度(可以类比 JS中的Promise)
  3. 进程 线程 协程
  4. 关于对象引用的认识(常考题 定义一个函数,其缺省参数如一个空列表的情况)
  5. 手写一个with语句

关于项目

  1. 项目的技术栈(一般不会深入聊业务,TA更关注你的技术栈--会针对这个深入的问一下问题,一直到答不上来)
  2. 项目的独立服务程度
  3. 项目遇到最难的问题是什么?怎么解决

阿呆
16 声望1 粉丝