background image

  上面这个列表中的问题需要深思和反省才能回答,所以在下一次面试之前很有必要提
前想一想。有些问题可以有相同的答案。如果问题答案需要讲述一段故事

/经历,你可以按

如下方式来做:
1. 20

秒描述情况。 代码出问题了,整个团队必须找出原因。

2. 30

秒描述你做了什么。 我认为是内存溢出,我注意到

AbstractMemberCreationFactory

本应该只有一个实例,但它有很多实例 。

3. 20

秒描述结果。 我用一行代码解决溢出问题,我们的产品如期上线。后来,我都会先

测试确保不会再有类似问题 。
  在每次面试前,浏览整个列表并大声练习你的回答。这样做让你在面试中更加轻松自
如,你就比其他应聘者有更多的优势。比如,当在回答问题时,其他应聘者可能会先看着

“ ”

天花板说 嗯 ,然后开始回忆过去

5 年中发生的一切。而你则可以微笑地看着面试官的眼

睛,再陈述你的答案。

  二、事先练习最常用的编程算法,以建立自信
  钢琴家在达到下一级水平之前,他们必须先学习一套短曲。这些短曲虽然不曾在聚会
上弹奏,但他们要练习特定的部分,比如右手小指和切分音。同理,尽管有些算法你或许
没有在你的代码中用过,但它们经常在编程面试中出现。比如:
1. 反转单链表;
2. 反转字符串或反转段落中的单词顺序;
3. 利用星号输出画一个任意大小的圆;
4. 整数转换为字符串,数字型的字符串转换为整数;
5. 

写一个函数,返回任意整数对应二进制形式中的

1”的个数;

6. 写一个函数,输出字符串中字符的所有排序。(比如:abc acb bac bca cab cba)
  一般来说,可以先不考虑算法的运行时间,都是先用最简单有效算法。然后再尽量减
少运行时间。能让算法正常跑起来,总比你花大量时间想一步到位要好。(一步到位的想
法虽好,但大部分时候都是事倍功半。)

  提示:做练习时,别自欺欺人看答案。

  我第一次写 反转单链表 算法是利用课间时间。我并不急,从运行时间较长的方案到
优化的方案,我用了半个小时。在验证算法正确无误后,我非常高兴!我知道不看答案我
也能解决问题了。(建立自信了!)在面试中,当遇到从未见过的问题时,我以前的经验
给了我信心。

  三、练习解决问题能力
  有些应聘者认为能解决脑筋急转弯问题就有良好的编程技能。如果你也这么认为,那
你应当培养猜谜这方面的兴趣和技巧。你可以去图书馆或在网上找这方面的书。然后,挑
一些有趣的问题,先别看解答。如果半个小时之内还想不出答案的,才可以查阅解答。

  第四、展现出真正的热情
  另一个技巧就是要把真正的热情展现出来。作为人,我们应该真诚和热情与他人共处
工作。另一方面,我们也要有看穿虚假笑脸的能力(没有这种能力,也需要锻炼出来),
所以活出真我很重要。