1.简历列举要点
使用Y实现了X,从而达到了Z效果。
2.编程语言
Java(熟练),C/C++(熟练),JavaScript(有过使用经验)
3.语言
找一位以英语为母语的人审阅你的简历
4.准备工作
项目1~4
最难的部分、有什么收获、最有意思的部分、最难解的bug、最享受的过程、与团队成员的冲突
将小故事浓缩成关键字
5.回答问题,主题先行
S.A.R,Situation,Action,Result,情景,行为与结果
例:讲一讲你必须说服一群人做出大幅度调整的事例
在一堂研究生英语课上,大家都不愿意用英语进行讨论,我提出建议,让每个人想出一个问题,用英语去问右边的同学,然后依次接力下去
先描述情景,然后解释你采取的行动
7.需要掌握的数据结构知识:
数据结构:链表,二叉树,单词查找树,栈,队列,向量/数组列表,散列表
算法:广度优先搜索,深度优先搜索,二分查找,归并排序,快速排序,树的插入/查找等
概念:位操作,单例设计模式,工厂设计模式,内存(栈和堆),递归,大O时间
对于上述问题,务必掌握他们的具体实现和用法、应用场景、空间和时间复杂度如何等
8.2的幂表
128
256
1 024 1 K
65 536 64K
1 048 576 1MB
1 073 741 824 1GB
4 294 967 296 4GB
1 099 511 627 776 1TB
9.向面试官提问
设计一种列表排序算法
Q:哪种列表?数组还是链表?
A:数组
Q:数组里放的是什么?
A:数字
Q:都是整数?
A:是的
Q:数字来自何处?是身份证号码还是别的什么数值?
A:顾客年龄
Q:总共有多少个顾客?
A:100万
总结:对一个包含一百万个整数的数组进行排序,这些整数在0~130之间,该如何解决这些问题呢?
只需要创建一个130个元素的数组,然后计算每一个元素出现的次数。