程序员面试高概率会遇到的技术问题
本篇只列举会问到的技术问题。其他的问题会在另一篇文章多年职场老狗的面试经验提到。
1. TCP三次握手和四次挥手的过程
2.HTTP协议的状态码
3.讲一下自己用过的设计模式
4.python的多线程,多进程,什么是协程?
扩展:都在什么情况下使用?
什么是GIL?
你都是怎么使用他们的?
5.都用过什么数据库,缓存?
扩展:讲一下B+树。
都了解什么数据库引擎?
缓存都用过什么?
redis都有什么数据类型?
redis的hash实现原理?
redis怎么数据持久化?怎么做数据更新的?数据更新策略都有哪些?
redis的缓存穿透,缓存雪崩的问题怎么解决?
6.都用过什么框架?
扩展:都有什么区别?
讲一下django的请求全过程?
django 信号说一下,都在什么场景用?
django基类视图是怎么通过as_view()处理请求的?
django中间件写过吗?怎么用?
flask是怎么区分不同请求的?
7.nginx高并发的原理?
你都用nginx干什么?
nginx做过什么配置?
8.python怎么垃圾回收?
怎么内存管理?
9.写一个python装饰器
10.开发中都遇到过哪些困难?怎么解决的?
11.工作中的开发流程?代码怎么管理的?