简历筛选->机试/笔试->面试
简历筛选
一些公司的HR能力差,为了完成指标,不惜海推简历。
为了提高效率,需要预先整理HR能看懂的筛选条件。比如
后面初筛时,同时满足下列可以优先推荐:
计算机/软件工程专业
>=4年python全栈/后台管理开发经验
有独立开发/负责项目
熟悉/精通 django,docker,k8s/Kubernetes , redis,mysql
机试
开发者最终的产出是有用户价值的代码,talk is cheap,show me code!
# 笔试题
## 用py实现
### 功能:
- 用户注册(至少包含账号,密码,头像)
- 用户登录
- - 限制同一账户
- - - 每分钟最多尝试登录(**不论是否登录成功**)2次
- - - 每天最多登录**成功**2次
- 用户登出
- 框架不限
### 交付物:
- 包含readme,依赖清单等项目完整代码
- 可根据readme成功部署和运行
- 容器化编排和完成UT是加分项
# 场景题
## 一个任务耗时近2h,设计一个调度系统,支持任务
- 按时间顺序执行
- 优先执行
- 取消排队
- 中断执行
## 交付物
- 图文表达清楚思路(**及格**)
- 实现(**优秀**)
面试
由浅入深。面试者大部分是有备而来,但八股文记得在牢,没法体验出实际开发的水平。
因此,一些场景题很有必要。
# 基础
## python
- 数据类型
- - str/list反转
- - 列表去重
- 装饰器/上下文管理器原理
- 类
- - 对象实例化过程
- - 列举熟悉的魔术方法和用途
## linux
- 列举常用的10命令
- 如何查看一个log文件最后10行
- 如何停止某一个进程
- 如何判断某个端口是否可用
- 如何切换root?如何添加用户?如何赋予sudo权限?
## docker
### 基础
- 查看运行中容器端口映射
- - docker ps/port
- 如何修改运行中容器的文件
- - docker exec -it bash
- - 映射宿主机磁盘
- 遇到的问题
- - gitlab log 占用41G
### 镜像优化
- 镜像分层
- 阶段化构建
## DB
- 范式
- 高并发读写优化策略
- - 分库分表
- - 读写分离
- - - 2
- - 事务隔离级别
- - 锁粒度
- sql优化策略
- - 合适的数据类型/not null/索引/避免索引失效/避免回表
## Redis
- 数据类型
- 秒杀如何实现不超发
---
# 场景
## 异步串行任务方案
A任务发起者->B调度服务->C任务执行(一次2h),3个服务都通过API方式交互,A随时可以发起任务,C按时间顺序,每次只执行一个任务,B如何实现
### 事件驱动
- 任务队列
- 执行中队列
- 考虑C水平扩展
### 异步框架
- celery
- - broker,worker如何配置
## 日志收集,查看和管理
- ELK
- 没有运维,安排你来部署
- - 是否愿意?
- - 需要什么支持?
- - - 避免手把手实习生模式
- - - 肯定会遇到报错和未知问题
- - - - 技术探索的热情和毅力
- - - - 基本的英文读能力