云社区 博客 博客详情
云社区 博客 博客详情

IT 工程师面试指北

技术火炬手 发表于 2020-10-23 10:04:53 10-23 10:04
技术火炬手 发表于 2020-10-23 10:04:53 2020/10/23
0
1

【摘要】 金九银十之际,IT工程师如何拿到更好的Offer,让自己薪资翻倍,这个面试指北讲清楚了。

一、面试完整流程一览

根据本人多年面试程序员的经验来看,技术人员的面试流程一般分为这么几步:

1) 简历投递

2) 人事筛选简历

3) 技术小组筛选简历

4) 技术面试 2~5 轮

5) 人力/综合面试

image.png

当前轮次通过,进入下一轮候选人清单

二、如何翻倍自己的面试机会

1.拿到面试机会的几个重要前提

image.png

image.png

1) 有相应的岗位;

2) 符合投递条件(学历、工作年限);

3) 有多个投递渠道(招聘网站、猎头、内推、技术群);

4) 简历符合要求且有亮点;

5) 才华横溢且名声在外;

2.扩展投递渠道

1) 现有的投递渠道:招聘网站、公司官网

2) 可以扩展的投递渠道:猎头、内推

3) 独特的方式:优秀的作品(软件产品、开源项目、文章、出版物)、实习

其中,可以合理运用几种成功率较高的方式:

1) 优秀的作品

2) 内推(论坛、技术社区、交流群)

3) 猎头(仅限于高端人才)

4) 实习

3.如何编写或者优化自己的简历

我们来看下,在写简历时,经常会遇到哪些令人头疼的问题:

1) 没有实践经验(应届生)

2) 不确定哪些信息该写哪些不该写

3) 不知道如何在简历上展现自己的优势

4) 不知道如何编写项目经验一栏

5) 为了高大上写上了自己不熟悉的技术名词

三、简历编写与优化

我们以一位大数据开发工程师的求职者简历,来具体看下优化前后的对比:

优化前:

image.png

体现的问题:

1) 简历很简短,没有具体事项;

2) 照片应当用个人纯背景证件照;

3) 个人信息有遗漏项且有不必要项;

遗漏项:求职意向、个人状态、工作年限;

不必要:政治面貌、出生年月、民族、地址;

4) 工作经验的描述太短、太宽泛;

5) 自我评价并没有什么意义;

6) 教育背景太细,很多无意义的信息;

7) 没有就职的岗位信息;

8) 工作经验没有具体量化的数据体现;

简历编写原则

1) 写别人关注的信息;

2) 照片应当用个人纯背景证件照;

3) 工作经验要用数字量化体现;

4) 工作经验描述要具体;

5) 名校毕业,校名靠前放,反之靠后;

6) 有价值的项目或者奖项靠前放;

7) 博文和开源仓库靠前放;

8) 简历不止给人力资源看,还给技术看;

优化后:

image.png

四、 如何为自己的面试做准备?

1.我应该看哪些资料?

1) 根据领域必备知识

2) 根据招聘要求

3) 计算机基础知识

4) 别人的面试经验

下面以【爬虫工程师】这个岗位为例,详细说明一下面试时可能问到的问题。

image.png

image.png

1) 编程语言的熟悉度:你说说 Python 的垃圾回收机制、装饰器

2) 算法和数据结构:请你写出链表反转、请你写出归并排序

3) 计算机基础知识:  HTTP KeepAlive 代表什么

4) 计算机基础知识:描述一下 TCP 握手过程

5) 工作经验和知识覆盖面:假如有数据丢失,你应该如何排查

6) 岗位特定要求:根据条件设计一款分布式应用,你会怎么设计

7) 岗位特定要求:APP 逆向当中遇到自定义协议应该如何处理

8) 岗位特定要求:说说你会的几种 hook 技术

9) 简历上提到的:我看你提到你监控过请求信息,监控的目的是什么

10) 连环炮问题示例:监控具体怎么实施?怎么知道监控哪些项?

11) 连环炮问题示例:为什么监控的是请求数,但耗时却不监控?

12) 连环炮问题示例:监控到的数据一般哪些部门会用?怎么用?

13) 连环炮问题示例:你选择哪款监控软件?为什么不选其他的?

通过阅读别人的面试经验可以推测这个岗位的面试难度、面试节奏、面试偏好和关注点,进而补充自己的知识。

2.我该为交流做哪些准备?

1) 一段约 100 字的开局介绍和一段约 100 字的离职原因;

2) 面对人力资源:几个关于岗位和公司整体情况的问题;

3) 面对技术:几个关于工作氛围、加班情况、团队组成的问题。

以本人的情况作为简短示例

你好,我叫韦世东,是一名Python开发者。

我有3年的Python开发经验和一年的Golang开发经验,平时主要的工作方向是爬虫,但也会用Go写一些服务。另外,我在反爬虫和深度学习方面有一些研究,能够独立解决Js逆向方面的问题。”

这次来应聘贵司的爬虫工程师岗位,希望有机会加入团队。

我在上一家公司工作了2年,在那边的主要工作是业务代码的编写,偶尔有一些难度比较高的任务。我自己学习能力强,学东西也比较快,想让自己的能力更上一个等级。出来前和领导交流过,感觉继续呆在公司已经没有合适的进步空间,所以就想着换工作了。

我会咨询HR和业务主管的问题

我面试的这个岗位有几位同事?

公司对我们小组这边的期望是什么?例如需要小组承担所有数据源?

小组这边的人员搭配是怎么样的?高级工程师和初、中级工程师有几个?小组在公司或者在部门内的定位是什么?重要程度如何?

假如加入团队的话,日常主要是负责哪些工作?

一些技术难点有比较强的同事解决吗?如果没有,那怎么办?咱这边平时上下班节奏怎么样,加班多吗?

咱这边获取到数据之后,通常是给哪些小组的同事使用?存到数据库还是消息队列?如果表现突出,有升职的空间吗?

五、 我与面试官的正面交锋

1.如何面对面试官的连环问题?

1) 连环问题是一定会有的;

2) 在准备阶段假设几种连环问题,通过问题反推自己要突击的知识;

3) 不熟悉的知识尽量不要写在简历上,例如分布式;

4) 不会的问题可以说“这个我也没有深入去了解过”,但如果你有其他思路,你可以提出来“但我觉得可以这样”;

5) 如果答不上,赶紧用笔记下来。

Q—面试官提问丨NA-不恰当的回答丨OA-恰当的回答

Q:我看你在简历里写用过消息队列设计分布式爬虫?NA:对

OA:对的,之前有考虑过用Redis,后来经过小组评估,改成了消息队列;

Q:为什么不用Redis?你们评估的时候主要考虑哪些因素?NA:我也不太清楚,领导说选这个;

OA:这是我们的业务特性决定的,我们需要将同一份数据给多个下游使用,例如编辑组、数据分析组、深度学习组,消息队列的Work模式很适合这样的场景,而Redis要满足需求就很麻烦;

Q:消息队列数据丢失的问题你们怎么处理的?

NA:我记得消息队列都有重传机制,那个就能解决;

DA:一般会在几个地方丢数据,例如消息生产时、消息存储时、消息消费时,消息生产时的丢失可以借助重传手段解决、消息存储时的丢失可以借助消息队列提供的多点同步策略解决、消息消费时的丢失可以在消费成功后手动确认,改掉默认的自动确认;

Q:消息队列多点同步策略有哪些?是怎么样的过程?NA:有All, Once之类的具体过程不知道;

DA:消息队列提供的多点同步策略一般有All. Once之类的,另外还有两个忘记了,同步过程我也没有深入去了解过,但我觉得比较稳妥应该是借用分布式领域的“大多数”原则来确保消息存储到集群中,然后由内置的同步算法同步到全部节点

Q:消息队列的去重应该怎么做?

NA:呃,通过Redis这些软件进行去重,然后只要经过Redis的都是不重复的; (牵强地联想)OA:这个我没有接触过,不知道怎么回答. (用笔记下来)

2.反问时刻,展现你的才智

1) 什么不该问?

和公司或者工作无关的问题,例如“听说上次公司出了个漏洞,影响很大啊!

让别人很难回答的问题,例如“哎,我看新闻说副总裁有花边新闻,这是什么情况?”

难度较高的技术问题,例如“我上次看一篇论文,说可以用深度学习辅助文本的提取,你有研究吗? ”人事变动问题,例如“我听你们公司同事说大领导准备换,你知道会换谁吗?”

2) 该问什么?

和工作相关的问题,例如“这边在取得数据后是不是还要做一些预处理才会交给下游?”

技术相关的问题,例如“你们用Logstash同步数据,有没有尝试过Filebeat?如果好用的话可以切换吗? ”行政相关的问题,例如“能说一下加班情况吗?弹性上下班还是固定时间打卡?”

3) 你的连环问题?

当时他问你,但你答不上的问题,顺着这个话题横向或者纵向延伸,例如“消息队列的去重该怎么做? 、“一般是选择RabbitMQ还是Kafka呢? ",但要注意,最多连环3个;

六、人事手上那张神秘清单写了啥?

1) 说说你近五年的工作规划?

2) 你结婚了吗?家人跟你一起在这边还是?

3) 你上一份工作为什么离职?

4) 如果这边的工资比你上一份少一些,你能接受吗?

5) 如果面试通过,你大概多久能到岗?

前面四个问题都是旁敲侧击的试探你的稳定性;后面一个问题可能是常规问题,也可能是有分数相当的候选人。

决定你能否进入下一轮的评分表

1) 评分表是为了量化面试结果,为后续的筛选提供决策基础;

2) 评分表是为了更好地观察应聘者的属性;

3) 评分表是面试生命周期的物理体现;

4) 每个面试官负责填写对应自己的一部分;

image.png

七、如何选择心仪的 Offer

1) 看谁给到手的现金最多?

2) 看谁给的现金+股票更有竞争力?

3) 看工作环境和研究方向?

image.png

插个大厂活动,一年一度,精彩不容错过!

华为云1024程序员节,向云而生 

直播盛典:邀请华为云云原生开源负责人、华为云DevCloud首席技术布道师等10+大咖现身,剖析云原生的行业趋势,倾授云原生实战秘籍。点击观看直播

干货直通车:大佬级别专家手把手教学,经验和技术分享必不可少,还有在线互动答疑,带你揭晓大厂最深层代码技术,点击查看各技术会场,挖掘更多干货!

本文根据《Python3 网络爬虫宝典》、《Python3 反爬虫原理与绕过实战》作者韦世东在“华为云1024程序员节”技术分论坛的直播内容整理而成,感兴趣的开发者们可点击回看直播。


登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 1
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您还没有评论的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消