面试没有经验,面试被问期望工资资不是低了就是高了,没有合适的工作怎么办

入职谷歌向来是可遇不可求的呮有那最为顶尖的万分之一的人才,才有资格收到谷歌的橄榄枝因此,就算应聘谷歌失败了也很正常。重要的是从失败经历中不断學习,砥砺前行

去年换工作的时候,面试了一下 Google (这里说的是 Google 中国)来了个 Google 面试六轮游,结果是没通过现在分享下我参与面试的具体流程以及个人认为应该注意的事项, 希望对大家有所帮助。

ps:文末有Google面试题专场(美国)

先介绍下自己相关背景:985 本科op2硕士(其实大公司都比較看重第一学历的)。在校期间科研也没啥能拿得出手的论文社招时4 年多工作经验,面试时为大疆后端开发TL(带3~4个人而已)

Google 整体面试流程上基本如下:

我一共经历了 1 轮电话面试,5 轮 onsite如果算上前面的HR 的预筛选的话,就是 7 轮.

之前校招其实也参加过无奈门槛太高、竞争压力太大, 連面试流程都木有进 当初校招时直接网上刷题,这个网站上其实还能看到往年的一些题目情况:Google Code Jam 基本上分几轮每轮 top xx 的选手才有机会进叺面试

第一次换工作的时候,其实也有找在 Google 的同学内推填了不少内推推荐理由呀等等,最后简历都没过当然,简历没过肯定也有多种原因啦这个其实跟各个公司都一样。比如人家需求是招聘 P7以你的工作年限经验等最多就 P6,肯定不行还有比如希望是招聘机器学习等楿关经验的等等,岗位信息等不匹配也不行当然还有一种,岗位描述等都相关确实简历没啥亮点,太平庸也直接被 HR 给筛选掉了

这次其实刚开始是没有考虑过面 Google 的,机缘巧合在 linkedin 在有 Google 的 HR 联系说要不要试试 Google 的机会。当然就抱着 “试试就试试” 的想法跟进面试流程啦既然偠尝试,当然还是需要认真对待修改简历、防止手生肯定需要提前准备”刷题”的。

发简历给HR 小姐姐后HR 小姐姐会给你一些准备材料供伱参考,这份材料还相对比较丰富直接会告诉你面试涉及到的知识点,推荐书籍还有一些推荐参考的视频等

其实时间有限“刷题”准備不够,当初预感估计面试面不下来不过真正走完所有面试流程,发现其实面试题目没有想象中的那么难(然而我仍然没有过实力不够啊),积极准备还是有希望的因为面试题目比较敏感不能直接分享原题哈,不过我会根据我的理解找类似知识点和类似难度的题目分享┅下

对,第一轮就是 HR 面试上面流程中的 “Recruiter Prescreen”,其实就是一些计算机相关基础的填空题和选择题几分钟的时间,十几道题目面试过程Φ不需要给予明确的解释,知道就是知道不知道就不知道。题目可能会涉及到比如:快排的时间复杂度是多少? 选择排序是稳定的排序算法吗? 等等之类的

这也是我参与的所有面试当中,HR 直接参与的”技术”面的我理解就通过这一轮面试可以用比较少的成本把一些不合适嘚候选人直接排除了,当然这种方法可能不一定适用于所有公司

电话面试要求直接用 Google doc 共享写代码,需要要求你有一个稳定的网络环境這轮面试我理解应该不会太难,从我面试的经验来看也确实如此

相比 onsite,电话面试不能在一个很好的沟通环境下不能面对面和面试官进荇交流。当初我面试的一道题目和二叉树的遍历相关当然题目不会是直接写二叉树的先序/中序/后序/层次之类的遍历,会有一个具体的业務场景在里边需要你分析这个具体的业务场景,能够抽象出题目本质上就是 二叉树的遍历方法这道题目算是拿下了,实际 coding 后面试官可能会根据你写的 code 去提问一些边界条件以及让你提优化方案。

HR 小姐姐介绍的电话面试时 1-2 轮我想这应该是需要看第一轮的面试官的反馈,昰否犹豫是否再安排一轮电话面试毕竟和 onsite 相比,电话面试成本相对更低一些在线 code 其实在面试过程中,还是蛮重要的环节从你 code 的细节包括 code style、边界条件的判断,哪怕是注释情况都能看出一些编程习惯。我认为这个环节对于招聘一个写代码的工程师来说肯定是一个必不鈳少的环节(google 整个就搞了五六轮)。

电话面试通过后HR 会很快跟你反馈沟通面试结果,是否通过以及 onsite 的安排。因为现场面试是 4-5 轮平均1 轮一尛时的话需要 4-5 个小时,其实还是蛮耗费精力的一般会沟通可以约 2 个半天或者 1 整天,两个半天的好处是时间不会那么紧张前两轮后,中途可以过几天再休整调整下再继续我当初就选择”快刀斩乱麻/早死早超生” 的方案直接约了 1 天时间搞定。

onsite 也基本上是在电脑上 coding你和面試官一人一个笔记本,code 时共享屏幕有时候题目面试官会在白板上写出onsite 的题目,明显就要比电话面试的题目难度高一些呢但实际上比我想象中的要简单些,因为曾经想 Google 这样的公司面试恐怕连理解题目意思都要理解大半天吧可能也是社招的缘故,社招整体感觉在算法的要求比校招就要低一些

我记得其中有一道题目就跟 leetcode 上的类似(再次声明不是原题,也不 share 原题)Leetcode 上那个题目应该是二维矩阵,最短路径相关的用 dp 可以解决,只不过一般题目会分为好几个小问题难度一般从易到难。

同时也考察到了二叉树仍然围绕着二叉树的遍历进行。需要熟知二叉树的各种遍历方式非递归的方法(递归比较容易一般不会让写这个)。 在遇到二叉树相关问题的时候是否可以联想到二叉树的遍曆上来。

另外有一道系统设计的问题“知识图谱”的概念围绕着”图”的相关算法这个要求在白板上写出设计方案和伪代码,同时面试官会不断 push 你让你提出更优的解决方案有足够多的计算资源,并行去跑以及具体怎么实现。这道题目我回答的不好(当初也知道不好后媔 HR 反馈也印证了这一点)。

还有一道题目是解决生活中的场景题目。需要你抽象出这个问题用代码来解决。一般这种题目就需要反复哏面试官去沟通和确认其中的场景, 怎样把业务抽象成算法 记得之前面试 Amazon 的时候也有类似的题目(只不过当初面 Amazon 考察的是 OO Design而本题是具体算法实现).

onsite 一共聊了 5 轮,上午 2 轮下午 3 轮,其中有两轮是英文面试(英文面试后面会说)整体来说,工程师岗位面试会围绕如下几个方面进行(以丅参考 HR 提供的面试指南):

  • Coding:用熟悉的编程语言(不限)实现给定的题目会重点关注解题目过程中的理解和沟通能力;
  • 算法:涉及到 排序/搜索/分治/动态规划/贪心/递归,具体数据结构也有可能会涉及到 Dijkstra 和 A* 等算法,需要会算法复杂度的分析;
  • 排序:常见的排序算法时间/空间复杂度,唎如 快排/归并/堆排序/插入/基数排序等等;
  • 数据结构:数组/连表/堆/栈/hash/数/二叉树等;
  • 数学:可能会涉及到离散数学组合数学,例如 N个中选k 个的方法等;
  • 图:图的表达(例如矩阵/邻接表)bfs/dfs 等;
  • 递归:递归和迭代的转换;
  • 其他:设计和操作系统等;

以上这部分摘自 HR 提供的 Google 工程师面试指南.pdf

中午 HR 小姐姐会安排一个 Google 的工程师,带你吃饭跟你聊天。有任何疑问都可以跟他沟通不得不说,Google 的伙食还是蛮不错的我当初就跟小哥哥聊了下怹在 Google 工作的感受。

英文面试单独拿出来说一下,建议还是提前准备练习一下基本的口语。不要因为面试过程中突然让你只用英语沟通,让气氛变得紧张起来导致发挥不好自我介绍之类的肯定你可以提前准备,然后就是你可以尝试比如拿其中的题目自己模拟一下面试場景主要是可能需要提前熟悉一下基本的计算机相关词汇,不要到时候想表达却表达不出

整体来说,Google 的面试确实很难但确实也没我想象中的那么难。但要求确实是很高的基本上一些边界 case 等也都是在考察范围内的。onsite 面试完后在第二天我就得到结果通知:面试没通过 倳实来看没通过的结果反馈比通过反馈更快。HR 会反馈你哪里表现得不够好然后如果想进 Google就加油刷题,说 1 年后可以再次尝试保持联系哦。哈哈!以上就是我这次完整的 Google 面试之旅虽然失败(实力还不够)了,但还是有收获的

笔者有个朋友进了美国Google,下面是他在Google整理的面试真題专场:

图片太大上传不了,感兴趣的朋友可以帮忙转发文章后关注私信回复【学习】来免费获取

笔者还给大家准备了左程云左神的算法书籍、视频,帮助大家更好的学习算法

目录(算法有分 将、校、尉、士四个等级来表示难易程度)

设计一个有getMin功能的栈(士★)

由两个栈組成的队列(尉★★)

如何仅用递归函数和栈操作逆序一个栈(尉★★)

用一个栈实现另一个栈的排序(士★)

用栈来求解汉诺塔问题(校★★★)

生成窗ロ最大值数组(尉★★)

求最大子矩阵的大小(校★★★)

最大值减去最小值小于或等于num的子数组数量(校★★★)

限于篇幅原因同时也为了大家更恏的阅读,只截取了部分目录感兴趣的朋友可以帮忙转发文章后,关注私信回复【学习】来免费获取

设计一个有getMin功能的栈(士★)

左程云针對大厂头条、京东、腾讯、阿里算法面试题而讲解的视频感兴趣的朋友可以关注我来领取一份

我要回帖

更多关于 面试被问期望工资 的文章

 

随机推荐