不同的互联网公司面试环节不尽相同,总体而言,一般有技术面(1-3轮)、leader面(组长/总监/CTO/CEO...)、hr面,面试轮数视公司规模和公司实际具体情况而定。下文将就面试的不同环节阐述下这些年来个人作为一个两方面角色的参与者的一些体会,希望能够有所裨益。

一、技术面:

技术面这块考察的内容主要分为两部分:专业能力和综合素质。

1. 专业能力

专业能力又分为基础知识点广度和深度、逻辑思维能力、实战经验(实际中部分公司并不一定三个方面都会问到)。

不同的应聘岗位基础知识点略有不同,Python类岗位大体会包括Python基础相关、数据库相关、Linux相关、网络相关等;另外具体岗位会有具体领域的知识点问题,如爬虫会问反爬相关,测试有测试相关等;

逻辑思维能力大体会通过两种方式考察:算法和场景设计,场景设计指面试官假设一个实际应用场景,考察应聘者面对全新问题的思维和解决问题的思路,逻辑思维这块颇为忌讳面试者直接不会,此部分思路重要性远大于结果

实战经验这块一般指过往项目经验和从业经历。不同的开发岗位此部分在面试中所占用的比重不一样。对于初中级开发岗而言,该模块要求不高(实际占比可能不超过20%)。主要旨在考察候选人在以前的工作中做过什么,是否是在打杂,遇到过什么问题,面试官以此在一定程度上判断应聘者是否能在之后的工作中胜任具体的项目。问法有”讲一下你过往中的一个项目...“, ”你印象最深刻的一个项目/一个问题是什么...“ ”你觉得最能体现你能力的一件事是...“ ”你在XXX项目中做了什么...“等等;

2. 综合素质

该部分一般是从面试中整体感觉来评判,主要考察面试者整体的精神面貌、沟通表达能力、潜在的协作能力、是否符合该公司的价值观文化等。综合素质对面试结果的影响很大,很多时候会有一票否决的作用。谦逊低调(不要质疑面试官)、主动积极向上、流畅沟通、尊重他人是该部分的关键。当有多轮面试时,越往后的面试该部分比重越大。

二、leader面

技术面后,一般会有一个leader(组长/总监/CTO/CEO...)面,该部分具体基础知识通常涉及较少,主要集中在场景设计及综合素质考评这块,大多为开放性问题;如”讲一下你过往中遇到的你印象深刻的问题...“、”你的职业规划是什么...”等等。综合素质是重点

三、hr面

hr面分两种情况。一种是前面技术面或leader面结果不理想,hr负责让面试者回去,此种情况很容易识别。第二种是真正的面试考察,hr旨在考察应聘者的人品是否有问题、是否弄虚作假、是否符合该公司的价值观文化,以及薪资是否超出该岗位的上限。该部分面试者不犯大错即可(如候选人说因为和上家公司leader不和而离职,非议前公司,跳槽原因直说因为薪水、被hr发现造假、要求薪资明显过高等等)。

四、常见面试题

不同的公司、不同的面试官差异较大,即使同一个面试官两次面试问题也经常颇多不同,随兴而问较为常见。下面简单陈列一下各方面的常见面试题(实际面试中没被面到勿怪)。

1. 自我介绍

自我介绍部分一般是用来面试官阅读应聘者简历时的过渡阶段(面试官避免冷场尴尬),该部分候选人需要注意的点:

  • 时间尽量控制在30s-两分钟左右(略大于面试官阅读简历时间即可);
  • 自我介绍时切忌卡顿(非停顿),同时不要给面试官在背书的感觉,可眼睛注视面试官;

2. 专业能力--知识点广度和深度(深度部分针对于广度中的具体知识点回答情况追问)

Python相关:

  • Python3特性和变化
  • GIL
  • 解释器
  • 循环引用
  • 内存回收
  • 进程、线程、协程
  • LEGB

 DB相关:

  • MySQL存储引擎
  • MySQL索引机制
  • MySQL使用场景
  • 事务特性
  • 事务隔离
  • MVCC
  • Gap Lock 
  • Redis使用场景
  • Redis数据类型
  • Redis存储机制
  • zset存储机制
  • Redis持久化方式
  • MongoDB和MySQL差异
  • MongoDB使用场景

web相关:

  • TCP握手挥手及原理
  • TCP连接状态
  • 一次完成的HTTP请求详细流程
  • Django具体知识点
  • Flask具体知识点(如g对象用法)
  • 同步和异步
  • 阻塞和非阻塞
  • 多路复用
  • Nginx作用及使用场景

Linux相关:

  • shell命令(查看端口、负载、内存等)
  • 正则
  • SYN FLOOD
  • Centos和Ubuntu差异

其他(和具体岗位及应聘者简历内容相关):

  • MQ
  • rabbitmq
  • kafka
  • celery
  • 爬虫
  • Devops

3. 专业能力--逻辑思维能力

算法相关:(此部分变化很多)

  • 洗牌算法
  • 链表相交
  • 链表逆转
  • 树最短路径
  • 开方实现
  • ...

场景设计:(和具体应聘公司的岗位及工作内容有关)

  • 设定一个待爬取的业务需求,如何爬取
  • 设定一个系统业务场景,考察架构设计思路
  • 假定一个开发中遇到的问题,考察解决思维
  • ...

4. 专业能力--实战经验(可能会根据应聘者回答深入知识点细问)

  • 阐述你的一个项目
  • 过往工作中解决的最难的问题
  • 过去中最能体现你水平的事情是什么

5.  综合素质

价值观:

  • 加班意愿(大多不会直接问是否接受加班,间接问比如“我们这边初期会比较辛苦/我们大概x月份上线,...”)
  • 职业规划
  • 过往离职原因(考察应聘者是否浮躁,此处切忌非议之前公司)

公司认同:

  • 你对我们公司了解多少
  • 你有什么要问我们的吗
  • 你的期望薪资是多少(考察和该岗位的匹配度及应聘者自我认知)

个人素质:

沟通表达能力(无问题,面试过程整体体现)

协作能力(无问题,考察应聘者性格是否过于高傲,是否可能存在不合群,切忌面试过程中质疑面试官)

学习能力(无问题,体现在专业能力面试中及面试整体感觉)

主动性和内驱力(无具体问题,体现在面试整体流程中)

Python程序猿面试杂谈的更多相关文章

  1. HR筒子说:程序猿面试那点事(转)

    小屁孩曾经有过4年的招聘经验,期间见识了各种类型的程序猿:有大牛.有菜牛:有功成名就,有苦苦挣扎不知方向.等后来做了一枚程序猿之后发现,HR眼中的程序猿和程序猿中的HR都是不一样的.有感与此,从HR的 ...

  2. 《Java程序猿面试笔试宝典》之Java与C/C++有什么异同

    Java与C++都是面向对象语言,都使用了面向对象思想(比如封装.继承.多态等),因为面向对象有很多非常好的特性(继承.组合等),使得二者都有非常好的可重用性. 须要注意的是,二者并不是全然一样,以下 ...

  3. HR筒子说:程序猿面试那点事

    小屁孩曾经有过4年的招聘经验,期间见识了各种类型的程序猿:有大牛.有菜牛:有功成名就,有苦苦挣扎不知方向.等后来做了一枚程序猿之后发现,HR眼中的程序猿和程序猿中的HR都是不一样的.有感与此,从HR的 ...

  4. leetcode:程序猿面试技巧

    起因 写在开头,脑袋铁定秀逗了,历时20多天,刷完了leetcode上面151道题目(当然非常多是google的),感觉自己对算法和数据结构算是入门了,但仍然还有非常多不清楚的地方,于是有了对于每道题 ...

  5. 《Java程序猿面试笔试宝典》之组合与继承有什么差别

    组合和继承是面向对象中两种代码复用的方式. 组合是指在新类里面创建原有类的对象,反复利用已有类的功能.继承是面向对象的主要特性之中的一个,它同意设计人员依据其他类的实现来定义一个类的实现. 组合和继承 ...

  6. 《Java程序猿面试笔试宝典》之Java程序初始化的顺序是如何的

    在Java语言中.当实例化对象时.对象所在类的全部成员变量首先要进行初始化,仅仅有当全部类成员完毕初始化后,才会调用对象所在类的构造函数创建对象.    Java程序的初始化一般遵循以下三个原则(以下 ...

  7. 《Java程序猿面试笔试宝典》之 什么是AOP

    AOP(Aspect-Oriented Programming.面向切面编程)是对面向对象开发的一种补充,它同意开发者在不改变原来模型的基础上动态地改动模型从而满足新的需求.比如.在不改变原来业务逻辑 ...

  8. GEEK学习笔记— —程序猿面试宝典笔记(二)

    所谓笔记,就是比較个人的东西,把个人认为有点意思的东西记录下来~~ 程序猿面试宝典笔记(一)基本概念 程序猿面试宝典笔记(二)预处理.const和sizeof 程序猿面试宝典笔记(三)auto_ptr ...

  9. GEEK学习笔记— —程序猿面试宝典笔记(三)

    所谓笔记,就是比較个人的东西,把个人认为有点意思的东西记录下来~~ 程序猿面试宝典笔记(一)基本概念 程序猿面试宝典笔记(二)预处理.const和sizeof 程序猿面试宝典笔记(三)auto_ptr ...

随机推荐

  1. 查看python包的安装目录

    步骤二: 如果是从python 的command line 里面查看,可以使用如下命令(python 3.x) import sys print(sys.path)   1 2

  2. 记一次Python导包经历

    最近由于需要写一个脚本调用另一个文件里面的一个方法,试了很久都导包失败,特此记录一下 问题背景 1)脚本文件为send_reward.py,要调用public_model_func.py里面的一个类方 ...

  3. jquery bind()方法 语法

    jquery bind()方法 语法 作用:bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数. 说明:规定向被选元素添加的一个或多个事件处理程序,以及当事件发生时运行 ...

  4. 灰度图像--图像增强 非锐化掩蔽 (Unsharpening Mask)

    学习DIP第35天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...

  5. matplotlib中 plt.plot() 函数中**kwargs的参数形式

    plt.plot(x, y, **kwargs) **kwargs的参数大致有如下几种: color: 颜色 linestyle: 线条样式 marker: 标记风格 markerfacecolor: ...

  6. android自定义键盘(解决弹出提示的字体颜色问题)

    最近准备要做一个项目,需要用到自定义小键盘来确保安全,而且还需要精确获得用户点击键盘时的落点位置.力度.指尖接触屏幕的面积等参数. 在写自定义键盘的时候,用到了国内网上的一些代码,出处是 向先人致敬! ...

  7. 进程间通信之管道--pipe和fifo使用

    匿名管道pipe 函数原型: #include <unistd.h> int pipe(int fildes[2]); 参数说明 fildes是我们传入的数组,也是一个传出参数.filde ...

  8. kubernetes集群搭建

    工作环境: 主机名 IP 系统 master 192.168.199.6 rhel7.4 node1 192.168.199.7 rhel7.4 node2 192.168.199.8 rhel7.4 ...

  9. What makes a good feature

    import numpy as np import matplotlib.pyplot as plt greyhounds = 500 # 灰猎犬500只 labs = 500 # 拉布拉多犬500只 ...

  10. C++的重载(overload)与重写(override)

    C++的重载(overload)与重写(override) 成员函数被重载的特征:(同一层级类中来实现)(1)相同的范围(在同一个类中):(2)函数名字相同:名称和返回类型相同(3)参数不同:(4)v ...