LCPython/google.md at master · VincentUCLA/LCPython · GitHub
// 今天刚完成面试,还不确定结果,如果只看面经的话可以止步了,之后写的都是我个人的经验总结,只给大家作为借鉴,实力不够不敢误人子弟。 . visit 1point3acres for more. 首先我要详细的阐述一下我个人的答题流程(目前只针对google). 1point3acres 1.repeat question 2.clear question. From 1point 3acres bbs 3.confirm input data / output result. Waral 博客有更多文章, 4.abstract question 5.ALGO+DataStructure 6.time/space 7.write code 7.1 keep communcation 7.2 summary code 8 explain 9 run test case. Waral 博客有更多文章, 10 think about unit test case . From 1point 3acres bbs 解释一下我的答题流程希望对大家有帮助, 首先我们一定要知道google不是只要你写好看的代码,同时考察你思考的方式和过程,这需要靠交流来展现,所以交流很重要(我的两个google recruiter都跟我说要注重交流 交流 交流) 之前面试的人说面试第一步是要跟面试官针对问题深入探讨,讨论各种情然后再写代码,我不是非常同意,我个人认为,第一步不是讨论这个问题,而是你去重复这个问题!他说的问题你用自己的话简单的总结 然后告诉他我们现在面对一个什么问题,之后我们再跟面试官对细节进行讨论 这就是第二步讨论问题。 第三步是确定输入输出的参数,这个很重要,相同的问题不同的入参导致的结果就是解题算法可能不一样,如果他没有确定要求那我会按照我喜欢的来,如果面试官说输入的参数只可以是什么 . 1point3acres 第四步 抽象化这个问题,题刷多了你就会发现 什么最少的钱招聘工人,连接岛屿,最短路径,乱七八糟的描述 都是图 树 数组的问题,包装的很炫酷而已, 快速的删除那些没用的形容词 不要受到打扰(每个人思维逻辑不一样,你跟我说我们有几个飞机场 有飞机航班 几点起飞,求最快的到某个机场的时间,当我听见飞机 我快速的联想到各种飞机 空姐什么的,跳跃性思维,给我一个跳板我能飞出这个宇宙) 第五步 当我们抽象化问题之后,基本上就锁定了一部分算法,然后试想这个算法是否可行,(比如一个图 dfs bfs unionfind 哪个可以需要什么数据结构 这要靠多刷题自我积累) 第六步 如果可以的话,写代码之前 简单的说一下时间 空间复杂度 前六步 每一步都不是自己站在那里想,每一步你都要跟面试官交流,对话内容 以我面经第一题为例子 展示我打流程. more info on 1point3acres 1.我:"我想简单的重复一下我们的问题, 我们有一个blabla 还有一个blabla 想要输出一个blabla 对么?" 面试官"对的宝贝/不对亲爱的 我们有..... 没有...." "ok 那我们有....." 2.我:"那如果输入的参数是这个样 我们怎么办,会不会有空字符串啊 亲爱的, 会不会字典里有一样的单词呢? 宝宝" 面试官"可能有哦,你说的都有可能/ 放心不存在的" 3.我:"honey 输入参数我可以自己定么? list可以不,还是一定要什么。。。。" 面试官"你长得帅听你的/ 不行我说是什么就是什么" 456.我: 好的,我们现在的有这个和那个,我们要找subsequence 我们问题的重点是找.... 我决定用hashmap<Integer List> 删选我们的字典 然后将长度大于target的单词作为我们的候选单词 然后每个单词compare 因为我们可能存在相同的单词 我们可能需要一个hashset 时间大约是O(xxx) 空间大约是O(xxx) 你觉得可以么 宝贝?" 面试官 "你真帅·完美答案/可以不错 但是有没有更好的 或者其他的解法么?" . 一亩-三分-地,独家发布 我: "当然有,亲爱的 我们可以用Trie数据结构 blabla 但是代码多时间复杂度差不多,我们可以在第一种解法上优化代码 你想要什么姿势?啊不对,是你想要什么算法 我都会哦" 面试官"我要。。。。。".本文原创自1point3acres论坛 7. 写代码,完成大部分代码才解释 或者完成一部分代码才解释, 最好的方法是你写某些功能之前就提前说了 我现在要干嘛******** 我创建这个HashMap是为了什么 这个变量名是代表什么. 围观我们@1point 3 acres 面试官点头 或者微笑 或者么么哒你 你就可以写了,他要是不理你,你不要生气(他可能在想晚上要吃什么,不是每个面试官都很专业的,不要因为他的行为 影响你的思路和节奏).1point3acres网 8.完成每一步之后,黑板上就有你的完整代码了,按照顺序 简单的描述一下你的算法流程,这里是什么 那里是什么 9.跑例子 10 提出多种不同的例子 其实就那么几种,字符串很长,字符串很多,字符串空,重复的单词,单词里有特殊字符*&……%¥
Read full article from LCPython/google.md at master · VincentUCLA/LCPython · GitHub
No comments:
Post a Comment