第一轮:在bst找LCA,我的做法是递归找路径,然后问能不能不要递归,写了个不要递归的开始分析时间复杂度,然后问如果不是bst就是普通二叉树复杂度怎么样。第二轮:给两个string,在string1中找到所有符合stri
么区别。之后问什么是Polymorphism。
遇到完不成的ddl该怎么办
首先问的是数据结构 问数组和链表有什么不同 我就扯了一堆什么插入时间复杂度 存储形式不同之类的 总之就是毫无逻辑的说了一大堆
然后问了一下数组和链表 查找 和添加元素所需要的时间复杂度
之后问了一个特别奇怪的问题 说是要在一台内存较小的移动设备上存储大量数据 究竟是应该用数组还是链表 我当时直接懵了 后来胡乱答了一通 说用链表 不然的话本来内存就很小 用数组得连续分配内存 容易external fragmentation 面试官说cool 但是给我的感觉是我没有答出他想要的答案但是讲的很有道理的样子(事后经过同学提醒应该是用数组 链表得多存一个指针)
我在实习中需要gather information and make a decision的例子
BQ:过了下简历,如何lead课程项目的 + ddl处理;
数据结构:BST和二叉树区别、hashtable和BST查找复杂度、什么时候用BST什么时候用hashtable;
问我什么是LinkedList, 什么是HashMap,如果HashTable有Collision怎么解决,都是基础题。
1) 自我介绍
2) BQ: 举一个例子,当你的peer在学业或者工作上陷入困难时,你是怎么做帮助他的,最后结果如何?
a situation or tast you have to dive in. a situation you have to take a risk.
mistake you made, most interesting, limited time project
有没有ddl紧迫,必须做出一些牺牲的时候?有没有虽然不是你的任务,你帮别人做了的经历?
introduce yourself, recent project, most challenging project
来先让我简单的自我介绍,然后两个BQ:第一,自己做决定的经历;第二,帮助struggle队友的经历
三个bq:有没有为了deadline comprimise的经历?有没有学习新东西的经历?有没有没能完成的目标?大叔还说第三个好像和第一个有点重复,如果希望的话可以给你换一题。
1. dealine很紧怎么办 2. 你事先没有发现问题的例子
challenge, out of your responsibility
1. 最困难的proect
2. ddl
3. 受到强烈质疑该怎么办
4. 有没有为了project深入理解package运作的经验
5. 违背过的承诺
你以前实习的manager有没有对你失望过?楼主好说歹说展现了正能量,面试官追问:那后面manager就没有对你失望过了
project 的 deadline 快到,做了什么trade-off
deadline 过后有没有做什么 improvement,怎么做
第二题,问怎么对待ddl
第三题,问自己哪个project哪个部分最challenge。
最challenge project
讲述一个没有克服的困难
遇到新问题且无法搜集相关资料怎么办
讲述一次放弃的经历