Category: 面试

谷歌面试题: 迷宫随机生成算法

据说这个是谷歌 Google 的第一轮面试题. 一般这种题目就是: 设计一个迷宫算法 (Design a Maze). 面试中应该先问清楚需求 (Ask Clarifying Questions): 迷宫需要有几条出路? (假定至少1条), 多大的迷宫? 多复杂的迷宫等等. 最容易想到的就是随机生成1和0的地图, 其中1是墙, 0是空路, 不过这种方法生成随机的效率实在是太低, 你可以跑了半天也无法生成一个有效的迷宫, 我们假定有效的迷宫是至少含一条路径. def maze(width, height): m = None while …

我的面试谷哥GOOGLE伦敦SRE的经验和教训

今年疫情, 接到了谷哥和FB的面试邀请, 想着试试现在的水平如何便欣然接受. 每年都面试, 并不是说一定要换工作, 这是一个很好的让你在人才市场中保持竞争力, 查看自己不足, 检验你坚持刷题的一个好方法: 阶段性刷题的考核和目标. 谷哥(Google, 狗家 或被称为G家)是很多软件工程师梦寐以求的公司, 可能是媒体宣传他们家的福利有多么多么好: 有免费的员工餐厅, 有各种娱乐休闲的活动, 给的工资还高. 我5年前接到过面试邀请(当时问了一道队列+哈希表的题), 可惜当时水平太差连第一面45分钟的 coding 都没过. 再后来这几年一直投, 甚至去年找朋友内推都没法过简历关. 据统计: Google 面试成功率不到 0.2%(1000人不到2人), 难度甚至比上哈佛更大. 第一面要过一般是要BUG FREE而且不能卡. …

熟能生巧 – 刷题的一些技巧的经验之谈

坚持在 leetcode 刷题已经有近两年了, 刷着刷着就成习惯了, 就像每天刷牙吃饭一样, 不刷会很不自然. 刷题的收获还是有挺多的, 特别是对数据结构和算法有了进一步的了解. 还有一些设计题, OOP面向对象, 甚至是数据库SQL和BASH编程还有就是多线程类型的题都能得到温故而知新. 每天习惯了打卡, 早上起来喝杯咖啡刷个题, 特别是这几个月疫情在家, leetcode有那种每月Challenge, 刷一题得10积分, 还有就是会员题35分一题, 是快速拿积分的好方法(平时每天登陆才得1分, 一件T-shirt 得6000分换, 按照一天10分, 大概不到2年就能换衣服了) 为啥要刷题? 对于搞计算机的码农, 刷题是找到一份好的搬砖工作最廉价最有效的方法了. 很多屌丝能通过刷题进入Big4, 改变命运, 迎娶白富美. 亚麻就有很多年轻的小姑娘(听说狗家的也是), …

程序员能刷题的网站和资源(我的刷题经验之谈)

程序员提高技能的最好的方法就是刷题, 俗话说得好: 刷刷更健康. 这几年我刷了不少题, 比直接看枯燥的算法书效率高得很多. 刷题也有方法. 我的方法是先独立思考, 先自己解题, 即使解出来了, 也要再看一下题解和别人的思路. 最好还要看一下牛人的代码, 看看他们是怎么实现的. 当然, 最重要的是要总结, 写下来就是一个不错的再思考再学习的过程, 我就很喜欢解题后用英文写成博文, 这样有几个好处: 一是解了多少题可以方便统计, 二是可以分享, 三是可以挣广告费. 不一定通过了就马上总结, 可以有时间的时候再回顾写一下, 方便于记忆学习. 有些题你过了几个月, 你解题思路就可能忘记了, 甚至你都不记得你做过这题了, 那么这种情况下就是没有学习彻底. 刷题刷多了, 一定会学到思路, …

离伦敦脸书最近的一次 – 记FACEBOOK伦敦终面经历

每次面试没通过就会有一个面试经历分享, 哎. 不过这次FACEBOOK伦敦终面的收获还是挺多的. FB简历筛选 记得是五月份左右的时候在LINKEDIN上看到FACEBOOK伦敦的招聘广告, 于是就投了, 当时不抱希望的, 因为我听说像FACEBOOK, GOOGLE这种顶级互联网IT公司每周收到的简历有数千封, 所以很有可能就直接被过滤掉了. FB的人才库(talent)世界大公司排名能前5. 大公司都有自己的猎头, 也就是 Technical Recruiter, TR的水平是相当高的, 很多猎头都有计算机背景, 并且读了心理学等, 所以看简历和HR是不一样的. 很多HR看简历就是过滤关键字…… 投了简历很快就接到FB猎头的联系了, 第一轮有一个电话, 只是互相聊了了解一下. 这里说一下FB很大, 猎头负责的阶段也不一样, 比如这个联系我的猎头了解情况后就把我介绍给另一个FB的猎头负责安排第一轮技术面试, 然后通过后又介绍给另一个FB猎头, 有点类似接力棒. FACEBOOK第一轮技术面 …

面试后你不应该做的五件事

面试后的等待是最辛苦最紧张最焦虑的, 你花了大把时间准备, 不过面试之后情况已经不受你控制了, 你能做的就是耐心等待. 就像准备面试一样, 有些事情你应该而且不应该做. 以下是面试后你不应该做的五件事. 不要反复的回想面试情形 除非你的面试很完美, 否则面试完后再去回想面试很容易陷入一种”感觉不好”的消极情绪中. 这样可能会影响你对整个面试的判断, 也许你做的很不错, 只是有一两个不完美并不影响大局. 不要过分联系招聘经理 你可以在面试后24-48小时内发邮件感谢一下, 然后在招聘经理告诉您他们联系你之前不要再联系了. 除非你有一个非常紧急或重大问题, 否则你没有理由再联系招聘经理. 切记不要时不时的联系他们要求更新, 因为这样做很容易招人烦, 也有可能会影响你的申请. 尊重他们告诉你的时间期限, 过了那个时间, 你则可以再联系一下. 不要停止投简历更不要裸辞 不要停止投简历, 直到你拿到了Offer. 更不要裸辞, 再拿到工作合同前, …

记Facebook的第一轮技术面试(伦敦脸书)

由于签了NDA, 所以还是把文章改了一下, 尽量不泄露重要的信息. NDA针对的是信息Information(例如公司重要的一些项目啥的), 而分享个人经验Experience应该不算违反规定吧. 9年前, 当我博士就要毕业时, 当时被美国Facebook的猎头联系上, 当时水平不够, 第一轮技术面试都没有通过. 前几周, 投入Facebook伦敦软件工程师 Software Engineer职位, 很快就被FB的招聘猎头联系上了(大公司都有自己的招人猎头团队 Talent Acquisition). 先是第一轮电话互相了解情况后就安排了和一个在伦敦的FB工程师进行第一轮技术面(coding interview 筛选) 虽然说是电话面试, 但实际上需要在电脑上进行做题, 而且需要开摄像头, 这样和可以和FB的工程师进行更好的交流. 敲代码是在 浏览器中的网站: coderpad.io. 和微软的那次电话面试不同, 这次代码并不能直接在浏览器里编译执行. …