不同的互联网公司面试环节不尽相同,总体而言,一般有技术面(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. [SC] OpenSCManager 失败 5:拒绝访问

    问题:[SC] OpenSCManager 失败 5: 网查这个错误信息指拒绝访问  权限不足 1.解决: 以管理员身份运行cmd,即可 查询这个提示是指什么错误时,看网上有很多文章写用下面这种方法, ...

  2. PHP类知识----值传递和引用传递

    JS中数组是引用传递 PHP除了资源和对象等数据类型,其数据类型是值传递(即使数组也如此) 栈内存(快速内存)中存放标量数据类型,复合数据类型的变量名和数据地址 在内存中,我们可以认为内存中有很多格子 ...

  3. 07 saltstack生产实例-mysql主从

    1.服务部署 .服务部署 抽象:功能模块 redis 安装.配置.启动 mysql 安装.配置(my.cnf可以统一 目录默认配置可以统一) master: server_id slave: serv ...

  4. SpringBoot AOP介绍

    说起spring,我们知道其最核心的两个功能就是AOP(面向切面)和IOC(控制反转),这边文章来总结一下SpringBoot如何整合使用AOP. 一.示例应用场景:对所有的web请求做切面来记录日志 ...

  5. Android_(控件)使用ImageView简单实现图片翻转

    效果图 1)可以把图像的id存放数组中,利用setImageResource()或setImageDrawable()方法(放在数组中便于循环) 2)已经是第一张图像时,再点击“上一页”,应Toast ...

  6. JETSON TK1 ~ 安装Cuda和OpenCV3

    一:安装Cuda6.5 1:下载安装包 Cuda6.5 2.在TK1上安装软件包: cd ~/Downloads sudo dpkg -i cuda-repo-l4t-r21.3-6-5-prod_6 ...

  7. DMA数据传输

    从字面意思上看,DMA即为“直接内存读取”的意思,换句话说DMA就是用来传输数据的,它也属于一个外设.只是在传输数据时,无需占用CPU. 高速IO设备可以在处理器安排下直接与主存储器成批交换数据,称为 ...

  8. C++模板的偏特化与全特化

    模板的声明 类模板和函数模板的声明方式是一样的,在类定义/模板定义之前声明模板参数列表.例如: // 类模板 template <typename T1, typename T2> cla ...

  9. Linux 服务器安装jdk,mysql,tomcat简要教程

    linux服务器是阿里云上买的,学生价9.9/月,拿来学习下. 需要准备软件工具: 1.editplus (编辑服务器上的文件) 2.PuTTY (Linux命令连接器) 3.FlashFXP(上传文 ...

  10. SpringBoot集成prometheus

    1.Prometheus 1)介绍 Prometheus是一套开源的监控&报警&时间序列数据库的组合,基于应用的metrics来进行监控的开源工具 . 架构图: 2)下载 https: ...