点击上方“程序人生”,选择“置顶公众号”
第一时间关注程序猿(媛)身边的故事
秋招的时候 Python 的岗位确实不多,尤其是像 BAT 这样的一线公司,基本上 Python 岗位都是运维开发和测试开发。二三线互联网还是有不少 Python 岗位的,例如饿了么、爱奇艺、头条等,而且因为投的人不多,所以竞争力比较小。
但是只会 Python 肯定是不行的,面试的过程中基本上没有问过 Python 语言的相关东西,如果是面的后端开发,可能会问一下用的后端框架的源码,然后就是各种 CS 的基础知识:算法与数据结构、操作系统、计算机网络、数据库,这些问得比较多,然后就是简历中的项目了。
除了 Python 外,最好还要懂一门静态语言(Java/C++),一门函数式语言(Haskell/Lisp/Scala),大厂的面试其实对语言的要求不是很高,比如面过某 C++ 岗位,全程算法都是用 Python 写的,还和面试官讨论了一下 range() 为什么设计成左闭右开的形式。
想要用 Python 找到一份好工作(后端方向)
可以给一点小小的建议:
-
科班出身的话,各种基本知识应该是没问题的,不是科班的话可能这一块需要补一补(* 为备选);
-
算法&数据结构:《算法》、*《算法导论》(搭配 MIT 6.006 食用更加)
-
操作系统&计算机组成原理:《深入理解计算机系统》
-
计算机网络:《自顶向下方法》、*《TCP/IP 协议(卷一)》、《UNIX 网络编程(卷一)》(强烈推荐,基本上和网络相关的比较难的一些问题这本书都有讲,可以挑一部分看)
-
编译原理:这个我没具体看书,直接写了几个解释器然后了解了个大概,书的话好像有《30天自制编译器》比较浅显易懂
-
数据库:《MySQL 必知必会》、《高性能 MySQL》(从此各种数据库优化面试题手到擒来)
-
Linux:《鸟哥的私房菜》、*《Linux 命令行与 Shell 脚本编程大全》
-
和面试官扯淡:《程序员修炼之道——从小工到专家》
-
Python 语法虽然很简单,但是要看的东西其实很多
-
基本的语法看官方的 Tutorials 就可以了,Python 2 和 Python 3 都要会,之间的一些主要的区别要知道
-
学会了语法可以看《Python Cookbook》、《Fluent Python》,这两本书相当于进阶的书,学完功力 double,当然可能看一遍是不能完全吸收的,以后可以用到的时候再回去刷一下
-
看完上面两本书并刷过一些代码之后应该对 Python 的一些常用标准库比较熟悉了,然后可以开始系统看一下标准库(慢慢刷吧,这是个大工程)
-
熟悉某一个后端框架,我选的是 Flask,因为比较简单,代码也不多,花一点时间把源代码看懂,知道一个 Flask app 从头到尾的运行过程,有时间可以自己写一个 web framework,实现基本的路由和 context 功能,当然还有 bottle 更简单,原理大同小异,读一下 PEP 3333 -- Python Web Server Gateway Interface v1.0.1
-
一般科班出身的在学 Python 前肯定会 Java/C++,这一部分也有很多的推荐,就不说了
-
其实面试过程中会问很多项目和设计类的问题,这种东西只能慢慢学习了,平时可以刷一刷 PyCon、各种博客、演讲之类的来提高姿势。
可以看到,要真的把上面所有的东西都学完不是一两个月能搞定的,这还不包括准备项目的时间。如果真的能学得不错了(70%)的样子,应该拿个一线二线大厂的 offer 还是没问题的。
本文来源:https://www.zhihu.com/question/60787862/answer/255204018
已经原作者授权,未经允许任意形式的转载均视为侵权
点击图片get往期内容
文章评论