因为不是科班出身,最近面试被问到计算机基础的时候总是很苦恼,比如 HTTP 状态码代表什么意思,防止跨域请求到底是哪里做的,后面还问了如何防止两个用户同时修改同一资源的时候资源加锁的问题。
以及 python 的异步高并发(说白了就是 tornado,回来看了 tornado 的文档我估计他想让我答的就是这个)
最后按照惯例还是来了个算法。
所以面试究竟在考查哪些东西?为什么要考查这些东西?到底是如何考查的?怎么确认面试者就一定不懂 /懂这些东西?
就我的归纳,面试大概是这些问题:
1. 计算机基础这一类,因为 python 和 java 不太一样,涉及到的内存管理,垃圾回收之类的不多。
2. HTTP 协议方面 HTTP 规范,各个 header 的含义,状态码意义等
3. Python/对应语言的语法,我遇到过问装饰器的用处,yield,还有字符的翻转方法,class 这种继承什么的很少,我经常用而且还很好用的 @
property 用法反而从没见过。
4. 性能优化方面,多线程,异步,协程的框架,Python 的话比较著名的 tornado 和 asyncio
5. web 框架方面,比如实现某个接口如何实现,用框架的哪个组件实现,用 middleware ? decorator ?
6. 算法方面。
面试官为什么要问这些问题?答案很简单就是要给公司招来能干活的人。
面试官怎么样确认这个人就能干活....?
😳我仔细想了想,这些文档里的问题答不上来的人,有可能也能干活,但是如果这些文档里的问题能答上的人,是一定能干活。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/546084
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.