侧重的知识
在我参加的后台开发岗位面试中,主要有以下知识是比较侧重
1. 数据库CRUD操作/查询优化以及数据库知识量
2. 框架的对比和了解/项目具体模块的业务逻辑描述
3. 常见排序算法
4. Linux系统的常用命令和Linux系统了解程度考核
5. 项目部署用到的服务器的配置和了解程度
加分项
1.数据库基本功必须掌握但同时更重要的是理解为什么和是如何实现的,拓展自己知识面
2.Linux系统的底层原理和了解程度
3.目前golang在后端中也逐渐流行,有时间还是需要去掌握
4.技术没有终点,保持乐于学习和接受新技术的心态,面试官看重技术能力同时也更看重你的心态
5.自信且好学
面试提问到的问题
1.问题就给大家了,答案自己去查找吧,只有经过自己努力的东西才会格外珍惜。
2.Python相关
3.实现一个单例模式
4.实现一个装饰器
5.用Python实现快排
6.如果系统中需要很多个Python版本,如何进行Python版本的管理
7.如何实现一个全局变量?(除了global,还可以通过单例模式)
数据库相关
1.数据库的数据是实时更新的吗?每点击一次,数据库数据修改一次?
2.Redis hash的个数
3.如何修改Redis数据库的库的个数?
4.Redis数据库如何实现持久化
5.Redis数据库支持的数据类型
6.Redis使用AOF方式持久化,aof文件不断增大,如何处理?
7.Redis数据库如何设置密码
8.hash表是如何生成的
9.MySQL数据库如何使用sql语句插入一条数据
10.MySQL数据库的慢查询有了解过吗
11.MySQL数据库如何进行查询优化
12.如何很多请求同时对Redis的同一个键进行访问,如何保证数据安全
13.说说Redis的淘汰机制
14.我的MySQL数据库每天晚上12点进行全备份。第二天有员工在9点钟误删除了一个数据库,但在10点钟才被发现。问如何进行恢复被误删除的数据库并同时保留9点到10点钟新增的数据同时不影响业务的正常运行?
15.当数据越来越多,如何避免hash槽中key出现相同的情况?
16.MongoDB在哪些场合使用过?
项目部署相关
1.大家都说Nginx快?快的原因是什么?
2.对RPC了解吗?
3.如何在服务器上设置业务进程数?
4.说说正向代理和反向代理
Linux相关
1.如何查看剩余内存
2.如何查看端口是否被占用
3.如何查看一个程序的PID以及它的所有子进程
4.如何为一个目录下的所有文件添加权限
5.如果你对一个目录具有写权限,那么你是否具有对这个目录下的所有文件具有删除权限?
6.对Linux多路复用的理解
7.修改IP地址的方法
前端相关
1.对前端HTML CSS 和 JS了解多少?熟悉吗?
2.对React和bootstrap了解吗?
3.如何进行http优化?(响应头设置Content-Encoding: gzip)
网络编程相关
1.说一下实现TCP建立连接的过程以及当时进入了什么状态?为什么建立连接只需要3次,断开连接需要4次?为什么断开连接时第二次和第三次要分开,不能合在一起吗?
项目相关
1.说一下一个请求过来到返回response的过程
2.如何实现单点登录
3.JWT token是如何进行生成和校验的
4.了解过哪些后端框架?Tornado了解吗?
5.了解过webapp2吗
6.Django如何实现csrf攻击保护
7.说说你项目中遇到的困难以及如何解决
8.说说你认为自己最有成就感或最深刻的项目
9.对KAFKA了解吗?用过哪些消息队列?使用过RabbitMQ吗?
10.项目团队几个人?开发多长时间?