程序员面试流程

2023-05-16

程序员面试流程

  • 1 面试的三种形式
    • 1.1 电话面试
    • 1.2 共享桌面远程面试
    • 1.3 现场面试
  • 2 现场面试的具体流程
    • 2.1 行为面试环节
    • 2.2 技术面试环节
    • 2.3 应聘者提问环节

1 面试的三种形式

应聘者通过简历筛选以及笔试后,接下来便进入面试环节。现场面试是所有公司都有的环节,电话面试国内大IT公司几乎都有,共享桌面远程面试只有少数几家大公司会有。大概流程是:电话面试–>共享桌面远程面试–>现场面试。

1.1 电话面试

顾名思义,电话面试是面试官以打电话的形式考查应聘者,有时会提前预约有时会突然打过来,所以应聘者最好在投出简历或者通过笔试后一两个礼拜内尽量别去嘈杂的地方,而且手机尽量备足电。电话面试时声音是唯一的沟通手段,应聘者应尽可能用形象的语言把细节说清楚,如果在英语面试时没有听清或者没有听懂面试官的问题,应聘者要敢于说pardon.

1.2 共享桌面远程面试

共享桌面远程面试是指利用一些共享桌面的软件,应聘者把自己的桌面共享给远程的面试官,然后面试官就能观看应聘者编程和调试的过程。此种方式主要考查应聘者的编程习惯以及调试能力,包括以下几点

  • 思考清楚后再开始编码;
  • 良好的代码命名和缩进对齐习惯;
  • 能够进行单元测试。

1.3 现场面试

现场面试是整个面试流程中的重头戏,在于考察应聘者的沟通能力、学习能力、编程能力等综合实力,所以应聘者面试之前得做足准备,具体细节在下一节介绍。除此之外,当天参加面试前还得做好以下几点准备:

  • 规划好路线并估算好时间;
  • 穿着得体的衣服;
  • 注意面试流程,有可能有很多轮,这时就得备好食物及提神的饮料;
  • 准备好问面试官的问题。

2 现场面试的具体流程

现场面试通常会有好几轮,每一轮面试分为3个环节:首先是行为面试,面试官参照简历了解应聘者的过往经验;然后是技术面试,这一环节很有可能会要求应聘者现场写代码;最后一个环节是应聘者问几个自己感兴趣的问题

2.1 行为面试环节

面试开始的5~10分钟通常是行为面试环节,此环节面试官会注意应聘者的性格特点,深入了解简历中列举的项目经历。最开始面试官一般会叫应聘者做一个简短的自我介绍,这时我们只需用30秒到1分钟介绍自己的主要学习、工作经历即可,之后面试官一般会从以下几点了解应聘者的过往:

  • 应聘者的项目经验
    在介绍项目经验(包括在简历上介绍和面试时口头介绍)时,应聘者不必详述项目的背景,而要突出介绍自己完成的工作及取得的成绩。具体的每一个项目一般可由以下4部分组成:
    • 简短的项目背景,最好一句话概括;
    • 自己完成的任务,注意区分“参与”和“负责”;
    • 为了完成任务自己做了哪些工作,是怎么做的;
    • 自己的贡献,比如按时完成了多少功能,性能提高了多少,修改了多少Bug
      另外,面试官最常问的问题有以下3类:
    • 你在该项目中碰到的最大的问题是什么,你是怎么解决的?
    • 你从这个项目中学到了什么?
    • 什么时候会和其他团队成员有什么样的冲突,你们是怎么解决冲突的?
  • 应聘者掌握的技能
    不管是简历上还是口头上都要注意使用“了解”、“熟悉”和“精通”。
    • “了解”指对某一个技术只是上过课或者看过书,但没有做过实践的项目。通常不建议在简历中列出只是肤浅地了解一点的技能,除非这项技术应聘的职位的确需要。
    • 简历中我们描述技能的掌握程度大部分应该是“熟悉”。如果我们在实际项目中使用某一项技术已经有较长的时间,通过查阅相关的文档可以独立解决大部分问题,我们就熟悉它了。
    • 如果我们队一项技术使用得得心应手,在项目开发过程中当同学或者同事向我们请教这个领域的问题时我们都有信心也有能力解决 ,那就可以说自己“精通”这门技术。
  • 回答“为什么跳槽”
    对于还未参加过工作的同学可以将这个问题换成“为什么选择这个公司/岗位”。已经参加过工作的应聘者回答这个问题时不要抱怨,也不要流露出负面情绪,尽量避免以下4个原因:老板太苛刻、同事太难相处、加班太频繁、工资太低。注意回答这个问题以及进入后面应聘者提问环节之前应聘者都应该做足准备,包括了解公司近况、项目情况、这个岗位的具体内容与作用等。建议回答的时候尽量说以前的岗位成长有限、没兴趣继续深入下去、目前做的事情已经无法让自己成长了等等,然后说说贵公司的贵岗位主要做啥的(这个就要提前做好调查否则容易适得其反)并且该岗位刚好是自己想要挑战和成长的方向。

2.2 技术面试环节

一轮1小时的面试通常技术面试会占据40~50分钟,对面试的结果起决定性作用。面试官主要关注应聘者5方面素质:

  • 扎实的基础知识,包括编程语言、数据结构、算法等
    编程语言以C++为例,面试官会经常问到指针与const、传入值参数与传入引用参数、多态等;数据结构上需要熟练掌握链表、树、栈、队列和哈希表等数据结构;算法上则主要考察查找、排序类基础算法,重点掌握二分查找、归并排序和快速排序。
  • 能写出正确的、完整的、鲁棒的高质量代码
    面试过程中,面试官总会格外关注边界条件、特殊输入(如空指针、空字符串等)、错误与异常处理等看似细枝末节但实质至关重要的地方。通常越是简单的问题,面试官的期望值就越高。最好在动手写代码之前想好测试用例,把各种可能的输入想清楚,然后在代码里对各种情况都做了相应的处理,写完后先在心里默默运行,确定之前的各种测试用例都能得到合理输出时,再交给面试官。
  • 能思路清晰的分析、解决复杂问题
    相比于给出完整答案,面试官通常更看重应聘者能否短时间内形成清晰的思路并解决问题。遇到复杂问题,首先可以用几个简单的具体例子让自己理解问题,甚至可以想想自己之前是否遇到类似的问题;其次可以试着用图表分析问题,将抽象的问题具现化;最后可以尝试把复杂的问题分解成若干简单的子问题,也可以先用几个最简单的输入与输出看看是否能找出规律。
  • 能从时间、空间复杂度两方面优化算法效率
    想要优化时间或者空间效率,我们需要知道如何分析算法效率;熟知各种数据结构的优缺点,并能选择合适的数据结构解决问题;熟练掌握常用算法,如查找和排序。
  • 具备优秀的沟通能力、学习能力、发散思维能力等
    在面试过程中,面试官会通过多种途径考查应聘者的综合能力:
    • 观察应聘者在介绍项目经验或者算法思路时是否观点明确、逻辑清晰来以此考查其沟通能力的强弱;
    • 从应聘者说话的神态和语气来判断其是否有团队合作意识;
    • 询问应聘者最近看什么书、学到了哪些新技术或者抛出一个新概念看应聘者如何理解来考查应聘者的学习能力;
    • 先通过问简单问题然后问一个复杂但和前面相关的问题来考查应聘者的知识迁移能力;
    • 出一些抽象的算法题目来考查应聘者抽象建模能力和发散思维能力。

2.3 应聘者提问环节

在结束面试前的5~10分钟一般会进入应聘者提问环节。面试官让应聘者问问题主要是想了解应聘者最关心的问题有哪些,合适的问题能够增加印象分。有些问题不适合在这个环节提出,比如和自己职位无关的问题,薪水问题,面试结果等。推荐的问题是与招聘的职位或者项目相关的问题,这可通过提前收集或者面试过程中留心面试官说过的话获得。
以下是几个问题可作参考:

  • 你们团队组建多久了?有多少人?新人占比怎么样?
  • 你们项目具体做啥?处于啥阶段?面临啥挑战?有啥技术前进方向?我进去具体做啥?

参考文章:

  • 剑指Offer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员面试流程 的相关文章

  • 学习笔记

    八种基本排序及其时间复杂度 https blog csdn net yang03 26 article details 80773280 参照上述文章中快速排序算法的源代码进行验证 在在线编程网站http www bccn net run
  • 杂记

    在线键盘敲击练习 xff1a https www dazima cn flash 127 html 有道云笔记网页网址 xff1a http note youdao com Android使用RenderScript实现图片的高斯模糊效果
  • ubuntu开机后桌面显示空白的问题

    原文 xff1a ubuntu开机只显示空白桌面解决方案 摘自 xff1a http www 2cto com os 201305 214687 html ubuntu开机只显示空白桌面解决方案 重新安装如下 xff1a sudo apt
  • 在ubuntu中安装编译工具mingw

    原文 xff1a Mingw xff1a 在Linux系统下编译Windows的程序 链接 xff1a http www sudu cn info html edu 20071227 87635 html Ubuntu下可以直接安装 xff
  • Spring Boot常用注解(绝对经典)

    x1f3c6 作者简介 xff1a 哪吒 xff0c CSDN2022博客之星Top1 CSDN2021博客之星Top2 多届新星计划导师 博客专家 x1f4aa xff0c 专注Java硬核干货分享 xff0c 立志做到Java赛道全网T
  • linux下deb包如何安装

    原文 xff1a 怎么安装deb软件 链接 xff1a http zhidao baidu com link url 61 w 6LOuxz 97ZrSjEDIZemmLBsQTsseXJCRe1qE5PkmFKhF3o8tRmAkBloU
  • ubuntu下用apt-get时一直报[正在等待报头]

    原文 xff1a ubuntu下用apt get是总是出现0 正在等待报头 链接 xff1a http blog csdn net nevasun article details 6268332 分类 xff1a Linux系统管理 201
  • Android软键盘弹出时把布局顶上去的解决方法

    原文 xff1a 解决Andriod软键盘出现把原来的布局给顶上去的方法 xff08 转 xff09 链接 xff1a http blog sina com cn s blog 9564cb6e0101g2eb html 决方法 xff0c
  • 一个android列表的适配器数据异步加载的问题

    一个android列表的适配器数据异步加载的问题 问题现象 xff1a 当点击一个ListView的子项 xff0c 等更新ListView完成时 xff0c 再点击一下ListView的子项 xff0c 程序运行良好 xff1b 当点击一
  • MHA高可用配置及故障切换

    MHA概述 传统的MySQL主从架构存在问题 单点故障 MHA概述 一套优秀的MySQL高可用环境下故障切换和主从复制的软件 MySQL故障过程中 xff0c MHA能做到0 30秒内自动完成故障切换 MHA的组成 MHA Manager
  • setenforce: SELinux is disabled解决方案

    解决方案 第一步 修改配置文件 root 64 www vi etc selinux config SELINUX 61 disabled 该为SELINUX 61 1 第二步 重启nginx服务 systemctl restart ngi
  • OpenStack

    文章目录 OpenStack概述OpenStack简介什么是云计算IaaSPaaSSaaSDaaS OpenStack发展历程OpenStack发展趋势OpenStack工作流程OpenStack管理流程QEMULibvirt OpenSt
  • 利用wget命令获取FTP资源

    wegt命令作用 xff1a 可以从对方的ftp服务器上直接下载现存的软件包 命令格式 xff1a wget ftp IP 软件包名称 若是防止网站上面现在相关软件包可以使用该命令 xff1a wget http IP 软件包名称 验证 x
  • 部署OpenStack架构

    文章目录 OpenStack环境部署部署思路基础环境配置配置OpenStack系统环境配置 Keystone 组件的搭建小结 Glance组件的搭建 OpenStack环境部署 虚拟机设备信息及需求 控制节点 xff08 ct xff09
  • FTP服务与DNS域名解析服务

    文章目录 FTP原理FTP匿名账户的部署过程 xff1a FTP本地用户的部署过程 xff1a 指定用户的宿主目录路径DNS 域名解析服务 DNS正向解析DNS反向解析DNS主从复制 FTP原理 ftp使用场合 xff1a 用于文件的传输
  • 【Redis 1】Redis基础知识概述

    一 Redis简介 1 Redis xff08 Remote Dictionary Server 远程字段服务 xff09 是一个开源的使用ANSI C语言编写 支持网络 科技与内存亦可持久化的日志型 key value数据库 xff0c
  • PXE高效批量网络装机

    文章目录 PXE概述PXE部署kickstart无人值守部署 PXE概述 PXE批量部署的优点 规模化 xff1a 同时装配多台服务器 自动化 xff1a 安装系统 配置各种服务 远程实现 xff1a 不需要光盘 U盘等安装介质 PXE x
  • Firewalld防火墙基础

    Firewalld概述 Firewalld 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具 支持IPv IPv6防火墙设置以及以太网桥 支持服务或应用程序直接添加防火墙规则接口 拥有两种配置模式 运行时配置 xff1a 即
  • iptables防火墙

    文章目录 Linux包过滤防火墙概述iptables的表 链结构iptable安装iptables的管理选项规则的匹配条件 Linux包过滤防火墙概述 netfilter 位于Linux内核中的包过滤功能体系 称为Linux防火墙的 内核态
  • PX4之commander剖析解读-2

    首先 xff0c 感谢 阿木社区 小伙伴们在PX4 方面做出的贡献 在学习px4的过程中 xff0c 我也是个小学生 xff0c 以下作为个人的小心得 xff0c 纰漏蛮多 xff0c 还望各位同仁包涵 期待批评指正 但我们的目的只有一个

随机推荐

  • BAT2021年最新一二三 面试问题,挑战一下你能走到哪一步

    背景 今年实在太难了 xff0c 从去年3月份开始我就选择离职然后单干 xff0c 刚开始和几个同事一起投资开公司 xff0c 想着做近几年比较火的知识付费 xff0c 好歹科班出身的程序猿 xff0c 难不成我还不能给人家讲讲Java课收
  • Python程序员在面试中如何展示自己的基本功?

    当前Python语言的上升趋势非常明显 xff0c 随着大数据和人工智能领域的发展 xff0c Python语言未来的应用前景还是非常值得期待的 xff0c 另外 xff0c Python语言在Web开发 嵌入式开发和各种后端服务开发中也扮
  • 如何修改mysql root密码

    如何修改mysql root密码 忘记MySQL ROOT密码是在MySQ使用中很常见的问题 xff0c 可是有很多朋友并不会重置ROOT密码 xff0c 那叫苦啊 xff0c 特写此文章与大家交流 xff1a 1 编辑MySQL的配置文件
  • c++和Java哪个比较好入门

    方向比努力更重要 对于初学编程的人来说选择一门合适的编程语言关系到自己以后的职业发展 c 43 43 和Java那个更适合作为入门语言 今天就听小编来讲一讲 C 43 43 语言 它是正宗的C语言的嫡系 xff0c 由C语言发展而来 C 4
  • 大数据和人工智能未来发展趋势

    随着前段时间召开的全国互联网大会 xff0c 将大数据和人工智能作为未来发展的新方向 xff0c 那2018年大数据和人工智能会有怎样的发展趋势 xff1f 更多关注零售 在近期的大数据和人工智能的应用热潮中 xff0c 几乎没有哪个领域像
  • 大数据学习路线图(技术+项目双管齐下)

    随着大数据技术产业的不断发展 xff0c 越来越多的互联网公司开始高薪聘请大数据技术人才 而大数据人才培养无论是对于企业还是对于自己来说都至关重要 xff0c 千锋教育作为国内大数据培训的先头兵 xff0c 视人才培养为己任 xff0c 始
  • 说一下 jvm 有哪些垃圾回收器?

    一 串行垃圾回收器 在JDK1 3之前 xff0c 单线程回收器是唯一的选择 它的单线程意义不仅仅是说它只会使用一个CPU或一个手机线程去完成垃圾收集工作 而且它进行垃圾回收的时候 xff0c 必须暂停其它所有的工作线程 xff08 Sto
  • java从入门到精通学习路线

    目前Java在许多行业的客户端方面的应用非常多 xff0c 比如OA 邮箱 投票 金融 考试 物流 医疗 矿山等信息方面的系统 Java开发者在这方面的需求也非常大 xff0c 待遇也相当不错 xff0c 工资水平可能和Java互联网方向的
  • 程序员经常逛得网站有哪些

    对于程序员而言非常值得收藏的网站有很多 xff0c 我将从技术学习类 业余放松类两个大的方向进行分享 xff08 篇幅可能有点偏长 xff0c 耐心阅读哦 xff0c 或者点赞收藏之后慢慢品味 xff09 一 程序员进行技术学习需要收藏的网
  • 大数据全套视频教程完整版

    大数据1 0时代 社会大数据成就了Google xff0c yahoo xff0c 百度 大数据2 0时代 消费大数据造就了亚马逊 xff0c Ebay xff0c 阿里巴巴 xff0c 腾讯 大数据3 0时代 xff0c 把关注焦点转到了
  • 云计算工程师必备技能

    随着信息现代化的发展 xff0c 人们对信息资源的需求不断地增长 xff0c 虽然现在的信息充斥着整个网络 xff0c 但是如何能快速的获得我们所需的有效的资源才是重点 xff0c 云计算技术工程师就是在这个需求下产生的 在云计算工作中 x
  • go语言有哪些劣势?

    作者 xff1a 茹姐 链接 xff1a https www zhihu com question 300163211 answer 654447355 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商
  • go语言有哪些好的debug方法?

    作者 xff1a Davie 链接 xff1a https www zhihu com question 40980436 answer 655067839 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c
  • 学习编程的过程中可能会走哪些弯路,有哪些经验可以参考?

    先说结论 xff1a 没有少走的弯路 走过的弯路最终都会成为自身的财富 前言 xff1a 如果在开始学习之前 xff0c 就想着能少走弯路 xff0c 那多半会走不少弯路 因为关注的重点错了 xff0c 把本来是踏踏实实学习编程知识的时间
  • 【OpenGL-矩阵】OpenCV相机内参(Intrinsics)与OpenGL投影矩阵(ProjectionMatrix)

    参考博客 xff1a https blog csdn net AIchipmunk article details 41489825 spm 61 1001 2014 3001 5502 https blog csdn net xx7804
  • nginx是以多进程的方式来工作的

    nginx是以多进程的方式来工作的 nginx在启动后 xff0c 会有一个master进程和多个worker进程 master进程主要用来管理worker进程 xff1a 包含 xff1a 1 接收来自外界的信号 xff0c 向各work
  • Maven环境的搭建与idea配置

    Maven环境的搭建与 idea 配置 Maven 下载 xff1a http maven apache org download cgi Maven 中央仓库地址 xff1a http search maven org 配置maven 环
  • Java基础知识总结(2021版)

    x1f345 作者简介 xff1a 哪吒 xff0c CSDN2021博客之星亚军 x1f3c6 新星计划导师 博客专家 x1f4aa x1f345 技术交流 xff1a 定期更新Java硬核干货 xff0c 不定期送书活动 x1f345
  • 枚举(enum)

    一 什么是枚举 我们学习过单例模式 xff0c 即一个类只有一个实例 而枚举其实就是多例 xff0c 一个类有多个实例 xff0c 但实例的个数不是无穷的 xff0c 是有限个数的 例如word文档的对齐方式有几种 xff1a 左对齐 居中
  • 程序员面试流程

    程序员面试流程 1 面试的三种形式1 1 电话面试1 2 共享桌面远程面试1 3 现场面试 2 现场面试的具体流程2 1 行为面试环节2 2 技术面试环节2 3 应聘者提问环节 1 面试的三种形式 应聘者通过简历筛选以及笔试后 xff0c