虽说年年都在喊互联网寒冬,最难就业季,但是今年确实有点不一样,年前年后一波又一波互联网公司宣布『人员调整,结构优化』, 这是往年没发生过的。 是不是面试机会就少了很多呢?不是的。

搜索招聘网站我们可以发现,一些发展迅猛的大厂和很多不差钱的小而美的互联网公司依旧积极招聘开发人才。Python 这几年大火,可以说是增长最快的明星编程语言。Python 可以做很多事,web 开发、数据分析、网络爬虫、运维开发、桌面软件、机器学习等,是一个用途非常广泛的胶水语言。加上其轮子多、易上手的特性,成为很多开发者亲睐的编程语言。 大部分Python 开发者是自学成才,学习和面试的过程中难免走一些弯路,分享下我个人的学习和面试经验,希望对大家有所帮助。

一、基础越来越重要。什么是基础呢?不是你能写多少种编程语言,会使用多少 web 开发框架。编程语言那么多,每种语言都有一堆开发框架,我们是学不完的。最近几年,开发者人数越来越多,竞争也是越来越激烈,面试难度也逐渐增大。 最近几年的招聘趋势是加强对基础和原理的考察。比如对于 web 开发者来说,基础就是编程语言、算法和数据结构、计算机网络、数据库等,这些成为考察的重点。对于一个合格的开发者来说,即使是一个新语言或者框架也能够快速上手。其中数据结构和算法非常重要,前几年可能对开发者的要求也就是能够写一些高级排序算法,像是归并排序和快速排序等,但是这几年很多公司开始直接使用 leetcode 真题进行面试考察。如果没有参加过算法竞赛或者长时间没有刷题,这一块就会非常吃亏。比如最近某个从大厂出来的人吐槽面试小公司挂在了算法这一块,想去一些好公司的朋友可以去 leetcode 刷一些基础题,提升一下算法能力。

二、面试讲究技巧。俗话说得好,面试造核弹,工作拧螺丝。互联网公司一般会有技术面试和 HR 面试,一般技术面试又有两轮或者三轮,涉及到的内容有计算机基础、手写算法题、项目经验等。对于一些中高级的工程师,还会考察一些系统设计的题目,比如如何设计一个短网址服务、feed 流系统、评论系统等,需要面试者具备一定的设计经验,同时对 web 后端基础组件比如数据库、缓存、消息队列等比较熟悉,甚至需要一定的架构设计能力。当然不同公司和面试官考察重点也不一样,有时候也比较碰运气,一般一个合格的面试官会针对你简历的内容问问题。我的经验就是复习基础+刷常见算法题+看面经。基础很重要,虽然内容很多,但是常考的也就那么多,多看看提升面试成功的几率。如果想去一些比较好的公司就需要多刷题,很多大公司喜欢考算法题,这一块需要重视。最后就是看看面试公司的面试经验,网上能够搜到一些面经,了解下这个公司喜欢问什么,有的放矢去准备。叉车配件

三、选对公司跟对人。很多技术人员在公司的时候只关心技术,对业务不管不问,一旦业务被砍掉了裁员轮到自己了可能才突然感到『冬天来了』。今年就是最好的例子,很多互联网公司开始了变相裁员,削减年终奖。发展了这么多年,互联网最大的红利期也过去了,有些不挣钱的业务或者试水业务可能就会被砍掉。所以尽量能够去一个公司的核心业务部门,如果你不知道什么是核心业务,其实判断方式也比较简单,能挣钱的就是核心业务。找工作除了薪资待遇,团队的管理水平、平台大小、工作强度、上升空间、学习氛围、技术业务是否感兴趣等很多问题都是需要考虑的,尽量能够多面试几家公司,多拿几个 offer,面试的时候了解清楚对方所做的业务,自己是否感兴趣等,争取选择一个综合来看较为满意的公司。干得开心,和同事们合作愉快我们才能有更好的发展。

四、居安思危,走出心理舒适区,提升个人竞争力。很多人工作久了,每天做一些重复的事情,比如很多后端天天做一些没有特别多技术含量的增删改查,慢慢计算机基础和个人能力不仅不会提升,可能还会下降。要想保持持续竞争力,要坚持学习计算机基础原理,了解自己目前使用到的技术的底层原理,而不是仅仅会用,熟悉各种后端基础组件。对于一些想跳槽到大平台的同学,最好能够坚持刷一定量的算法题,保持手感,防止面试的时候挂在了算法这一块。在国内,很多公司还是倾向于招年轻人,都说国内程序员吃青春饭,很多公司还是996,大小周,年纪大点的还真不一定能受得了。所以没事的时候思考下自己的职业规划,是要坚持搞技术还是想往管理发展,甚至当个自由职业者,每种岗位需要哪些硬技能和软技能,定好自己的目标,朝着希望的方向发展,保持个人竞争力。

这些就是给大家的一些学习和面试经验,综合了这几年的学习经验和最近的面试心得,我都总结到了这一门面试课程里,希望寻求 Python 相关职位的朋友们都能拿到自己期望的 offer!

互联网寒冬,Python 程序员如何准备面试的更多相关文章

  1. Python程序员的10个常见错误(转)

    add by zhj:虽然学Python也有两年了,但这些问题的确容易犯,看来对Python的理解还有些地方不深入.先转了,有时间再好好看 译文:http://blog.jobbole.com/682 ...

  2. Python程序员的10个常见错误

    关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Applicatio ...

  3. Python程序员的进化史

    各种程序员所写的阶乘算法代码 # -*- coding: utf-8 -*- #新手程序员(递归) def factorial(x): if x == 0: return 1 else: return ...

  4. 介绍Python程序员常用的IDE和其它开发工具

    概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...

  5. 腾讯Java程序员第二轮面试11个问题,你会几个?

    此前,分享了阿里巴巴.网易.百度等多家名企的JAVA面试题. 这也引来了不少程序员网友们的围观. 其中,也有相当一部分网友是已经从事Java开发好多年的程序员,当他们阅读完JAVA面试题的反应是:一个 ...

  6. Python程序员去上海工作有多难?

    我只能说,也要看你掌握的技术可以打多少分.技术熟练度跟找工作的难易程度是成正比的:你掌握得越好,找工作就越容易(难度系数越低):反之越高. Python程序员这种技术类的工作岗位,当然还是要有扎实的技 ...

  7. 做为一个Python程序员的基本素养

    今天在学习的过程中,明白了一些不是Python标准所必须要做的事情,二是做为一个合格的Python程序员应该所遵从的一些规范 分享给大家,有不足的地方请大家指正,此下是我学习的一点心得: 1.在给变量 ...

  8. Python程序员常用的IDE和其它开发工具

    概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE的全称是Integration Development Environment(集成开发环境),一 ...

  9. 5款Python程序员高频使用开发工具推荐

    很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...

随机推荐

  1. 读高性能JavaScript编程 第四章 Duff's Device

    又要开始罗里吧嗦的 第四章  Summary 了. 这一次我尽量精简语言. 如果你认为 重复调用一个方法数次有点辣眼睛的话 比如: function test(i){ process(i++); pr ...

  2. 【8】python文件的读写方法

    (1).读文件的步骤: (1)打开文件 open(path,flag,encoding,[errors]) path:打开路径 flag:打开方式 r(只读) rb(二进制格式) r+(可以读写) w ...

  3. MySql详解(六)

    MySql详解(六) MySql事务 一.含义 事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行 二.特点(ACID) A 原子性:一个事务是不可再分割的整体,要么都执 ...

  4. jquery attr处理checkbox / select 等表单元素时只能使用一次的坑

    先上html结构 <body> <form action=""> <input type="checkbox" id=" ...

  5. HBase概念学习(九)HTablePool为何弃用?

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiq408694711/article/details/36526433 转载请注明出处:jiq•钦 ...

  6. 虚拟主机ip配置,nginx.conf文件配置及日志文件切割

    今天粗略整理了一下虚拟主机配置,nginx.conf文件的配置,及日志文件的切割,记录如下: nginx虚拟主机配置:1.IP地址配置,2.绑定ip地址和虚拟主机详情:1.ip地址的配置:ifconf ...

  7. numpy 的排序

    import numpy as np # 1.快速排序 ''' 1.np.sort(),不改变原先值的顺序,但是在运行时占内存 2.ndarry.sort(),改变原先值的顺序,不占用内存 ''' # ...

  8. C++的技术探究

    C++深究 函数指针 double pam(int, double); // prototype double (*pf)(int, double); // declare function poin ...

  9. oracle 创建create user 及授权grant 查看登陆的用户

    show user; select sys_context('userenv','session_user') from dual; select user from dual; 查看所有登录的用户必 ...

  10. android 自定义listview无法响应点击事件OnItemClickListener

    如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我 ...