非常全面的一本关于程序员面试的书
“调杆员”(bar raiser)的概念来自亚马逊美国总部。这个词原指在跳高比赛中一次次将杆调高的工作人员。亚马逊的调杆员则是一群在招聘过程中负责从企业文化以及行为准则的角度考查应聘者,从而维护招聘质量的人。在招聘中,调杆员会用很苛刻的眼光考查应聘者是否在至少一点上高过亚马逊的平均水准,如果是,那么雇用这样的人实际上就等于在提升公司的能力,这就起到了“拾杆”的作用。
学术界用大O、大θ(theta)和大Ω(omega)来描述运行时间。
O(big O):学术界用大O描述时间的上界。
Ω(big omega):在学术界,Ω描述时间的下界。
θ(big theta):学术界用9同时表示O和Ω,即如果一个算法同时是O(N)和Ω(N),它才是θ(N),θ代表的是确界。这也许是我找到的优化问题最有效的方法了。BUD 是以下词语的首字母缩写:
瓶颈(bottleneck);
无用功(unnecessary work);
重复性工作(duplicated work )。有些人把自上而下的动态规划称为“记忆模式”,他们认为只有自底向上的才可称为“动态规划”。本书不作这样的区分,两者都可称为动态规划。