虽说年年都在喊互联网寒冬,最难就业季,但是今年确实有点不一样,年前年后一波又一波互联网公司宣布『人员调整,结构优化』, 这是往年没发生过的。 是不是面试机会就少了很多呢?不是的。
搜索招聘网站我们可以发现,一些发展迅猛的大厂和很多不差钱的小而美的互联网公司依旧积极招聘开发人才。Python 这几年大火,可以说是增长最快的明星编程语言。Python 可以做很多事,web 开发、数据分析、网络爬虫、运维开发、桌面软件、机器学习等,是一个用途非常广泛的胶水语言。加上其轮子多、易上手的特性,成为很多开发者亲睐的编程语言。 大部分Python 开发者是自学成才,学习和面试的过程中难免走一些弯路,分享下我个人的学习和面试经验,希望对大家有所帮助。
一、基础越来越重要。什么是基础呢?不是你能写多少种编程语言,会使用多少 web 开发框架。编程语言那么多,每种语言都有一堆开发框架,我们是学不完的。最近几年,开发者人数越来越多,竞争也是越来越激烈,面试难度也逐渐增大。 最近几年的招聘趋势是加强对基础和原理的考察。比如对于 web 开发者来说,基础就是编程语言、算法和数据结构、计算机网络、数据库等,这些成为考察的重点。对于一个合格的开发者来说,即使是一个新语言或者框架也能够快速上手。其中数据结构和算法非常重要,前几年可能对开发者的要求也就是能够写一些高级排序算法,像是归并排序和快速排序等,但是这几年很多公司开始直接使用 leetcode 真题进行面试考察。如果没有参加过算法竞赛或者长时间没有刷题,这一块就会非常吃亏。比如最近某个从大厂出来的人吐槽面试小公司挂在了算法这一块,想去一些好公司的朋友可以去 leetcode 刷一些基础题,提升一下算法能力。
二、面试讲究技巧。俗话说得好,面试造核弹,工作拧螺丝。互联网公司一般会有技术面试和 HR 面试,一般技术面试又有两轮或者三轮,涉及到的内容有计算机基础、手写算法题、项目经验等。对于一些中高级的工程师,还会考察一些系统设计的题目,比如如何设计一个短网址服务、feed 流系统、评论系统等,需要面试者具备一定的设计经验,同时对 web 后端基础组件比如数据库、缓存、消息队列等比较熟悉,甚至需要一定的架构设计能力。当然不同公司和面试官考察重点也不一样,有时候也比较碰运气,一般一个合格的面试官会针对你简历的内容问问题。我的经验就是复习基础+刷常见算法题+看面经。基础很重要,虽然内容很多,但是常考的也就那么多,多看看提升面试成功的几率。如果想去一些比较好的公司就需要多刷题,很多大公司喜欢考算法题,这一块需要重视。最后就是看看面试公司的面试经验,网上能够搜到一些面经,了解下这个公司喜欢问什么,有的放矢去准备。叉车配件
三、选对公司跟对人。很多技术人员在公司的时候只关心技术,对业务不管不问,一旦业务被砍掉了裁员轮到自己了可能才突然感到『冬天来了』。今年就是最好的例子,很多互联网公司开始了变相裁员,削减年终奖。发展了这么多年,互联网最大的红利期也过去了,有些不挣钱的业务或者试水业务可能就会被砍掉。所以尽量能够去一个公司的核心业务部门,如果你不知道什么是核心业务,其实判断方式也比较简单,能挣钱的就是核心业务。找工作除了薪资待遇,团队的管理水平、平台大小、工作强度、上升空间、学习氛围、技术业务是否感兴趣等很多问题都是需要考虑的,尽量能够多面试几家公司,多拿几个 offer,面试的时候了解清楚对方所做的业务,自己是否感兴趣等,争取选择一个综合来看较为满意的公司。干得开心,和同事们合作愉快我们才能有更好的发展。
四、居安思危,走出心理舒适区,提升个人竞争力。很多人工作久了,每天做一些重复的事情,比如很多后端天天做一些没有特别多技术含量的增删改查,慢慢计算机基础和个人能力不仅不会提升,可能还会下降。要想保持持续竞争力,要坚持学习计算机基础原理,了解自己目前使用到的技术的底层原理,而不是仅仅会用,熟悉各种后端基础组件。对于一些想跳槽到大平台的同学,最好能够坚持刷一定量的算法题,保持手感,防止面试的时候挂在了算法这一块。在国内,很多公司还是倾向于招年轻人,都说国内程序员吃青春饭,很多公司还是996,大小周,年纪大点的还真不一定能受得了。所以没事的时候思考下自己的职业规划,是要坚持搞技术还是想往管理发展,甚至当个自由职业者,每种岗位需要哪些硬技能和软技能,定好自己的目标,朝着希望的方向发展,保持个人竞争力。
这些就是给大家的一些学习和面试经验,综合了这几年的学习经验和最近的面试心得,我都总结到了这一门面试课程里,希望寻求 Python 相关职位的朋友们都能拿到自己期望的 offer!