面试:
最后问问题的时候要 一定要抓住最后一个问题,因为从这个问题,可以获取这次面试反馈以及团队研究方向。
参考提问:
1.对我此次面试的评价,哪里答得不好、有什么建议?
2.团队是偏向业务还是偏向基础技术?(简单地讲,业务就是用轮子、基础技术就是造轮子,各有各的好,看各人爱好了)
- 实现一个LazyMan,可以按照以下方式调用:
LazyMan(“Hank”)输出:
Hi! This is Hank!
LazyMan(“Hank”).sleep(10).eat(“dinner”)输出
Hi! This is Hank!
//等待10秒..
Wake up after 10
Eat dinner~
LazyMan(“Hank”).eat(“dinner”).eat(“supper”)输出
Hi This is Hank!
Eat dinner~
Eat supper~
LazyMan(“Hank”).sleepFirst(5).eat(“supper”)输出
//等待5秒
Wake up after 5
Hi This is Hank!
Eat supper
题目考点:
1. 方法的链式调用
2. 类的使用和面向编程的思路
3. 设计模式的使用
4. 代码的解耦
5. 最少知识原则,即 迪米特原则
6. 代码的书写结构和命名
思路:
从题目看,可以确定是拟人化的输出;
首先,应该是一个类来描述这一类人,它具有吃饭,睡觉等行为;
然后,从三个例子来看,都需要调用LazyMan来进行初始化;
最后,调用顺序是按次序来执行的,所以这是一个队列;
- 情景题:
有12个球,外形相同,其中一个小球的质量与其他11个不同,给一个天平,需要几次把这个小球找出来并且求出这个小球是比其他的轻还是重
分析:首先 将十二个球编号为 1-12。
第一次,先将1-4号放在左边,5-8号放在右边。
称量结果有3种可能:1右重,2平衡,3左重。
下面分别叙述每种可能下的第二步和第三步称量。
---------------------------------------------------
1.如果右重 则坏球在1-8号当中。9-12全为好球
第二次将2-4号拿掉,将6-8号从右边移到左边,把9-11号放在右边。就是说,把1,6,7,8放在左边,5,9,10,11放在右边。
1.如果右重则坏球在没有被触动的1,5号。如果是1号,则它比标准球轻;如果是5号,则它比标准球重。
第三次将1号放在左边,2号放在右边。
1.如果右重则1号是坏球且比标准球轻;
2.如果平衡则5号是坏球且比标准球重;
3.这次不可能左重。
2.如果平衡则坏球在被拿掉的2-4号,且比标准球轻。
第三次将2号放在左边,3号放在右边。
1.如果右重则2号是坏球且比标准球轻;
2.如果平衡则4号是坏球且比标准球轻;
3.如果左重则3号是坏球且比标准球轻。
3.如果左重则坏球在拿到左边的6-8号,且比标准球重。
第三次将6号放在左边,7号放在右边。
1.如果右重则7号是坏球且比标准球重;
2.如果平衡则8号是坏球且比标准球重;
3.如果左重则6号是坏球且比标准球重。
---------------------------
2.如果第一次的称量结果是 天平平衡,则1-8号全为好球,坏球在9-12号。
第二次将1-3号放在左边,9-11号放在右边。
1.如果右重则坏球在9-11号且坏球较重。
第三次将9号放在左边,10号放在右边。
1.如果右重则10号是坏球且比标准球重;
2.如果平衡则11号是坏球且比标准球重;
3.如果左重则9号是坏球且比标准球重。
2.如果平衡则坏球为12号。
第三次将1号放在左边,12号放在右边。
1.如果右重则12号是坏球且比标准球重;
2.这次不可能平衡;
3.如果左重则12号是坏球且比标准球轻。
3.如果左重则坏球在9-11号且坏球较轻。
第三次将9号放在左边,10号放在右边。
1.如果右重则9号是坏球且比标准球轻;
2.如果平衡则11号是坏球且比标准球轻;
3.如果左重则10号是坏球且比标准球轻。
-----------------------------
3.如果第一次称量的结果是 左重, 则坏球在1-8号。9-12号均好球。
这种情况与 右重 的情形是对称的。剩下的步骤可以对称执行。不一一列出。
- DOMContentLoaded 与 onLoad 的区别