不同的互联网公司面试环节不尽相同,总体而言,一般有技术面(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. React全家桶构建一款Web音乐App实战(六):排行榜及歌曲本地持久化

    上一节使用Redux管理歌曲相关数据,实现核心播放功能,播放功能是本项目最复杂的一个功能,涉及各个组件之间的数据交互,播放逻辑控制.这一节继续开发排行榜列表和排行榜详情,以及把播放歌曲和播放歌曲列表的 ...

  2. easypoi 版本依赖关系

    <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactI ...

  3. 使用Quartus进行功能仿真时出现“testbench_vector_input_file option does not exist”的解决方法

    环境:本人使用的Quartus 18 Prime Standard Edition 1.新建一个vmf文件 ​ 添加Node或者Bus ​ 2.点击Processing->Start->S ...

  4. PHP类知识----foreach

  5. 生成CA免费证书

    环境 OpenSSL 1.0.2k FireFox 60.0 64位 Chrome 66.0.3359.181 (正式版本)(32位) Internet Explorer 11.2248.14393. ...

  6. [sdoi 2010][bzoj 1925]地精部落(神仙dp)

    Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi, ...

  7. Open_Read_Write函数基本使用

    先来一个小插曲,我们知道read函数等是系统调用函数,应该在第二页的手册里头,可是我man 2 read的时候却找不到,由此到/usr/sharead/man/man2目录下查看的时候发现此目录为空, ...

  8. 3.Linux系统文件名字体不同的颜色都代表什么

    在Linux中,文件的颜色都是有含义的.其中, Linux中文件名颜色不同,代表文件类型不一样.如下所示: 白色:表示普通文件浅蓝色:表示链接文件: 灰色:表示其他文件: 绿色:表示可执行文件: 红色 ...

  9. Python实现telnet命令测试防火墙

    Python实现telnet命令测试防火墙 telnet主要用于测试主机端口是否开通 ping主要是用来测试网络是否畅通和主机是否正在使用 使用Python实现Telnet测试主机端口是否开通的功能. ...

  10. 04.重建二叉树 (Java)

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...