记一次失败的 ThoughtWorks 面试经历 面试者分享了自己参加 ThoughtWorks 公司的面试经历,这家公司以高难度面试著称。面试流程包括家庭作业、结对编程和面对面面试三个部分。面试者选择了一个会议追踪管理的题目作为家庭作业,虽然通过了初筛,但后来意识到设计上存在问题。在结对编程环节,面试者面临了沟通和重构代码的挑战,这部分表现得不够好。面对面面试中,面试者遇到了开放型问题,需要系统性思考和清晰的表达。面试者提出了一些建议,包括关注编程风格、语言特性、设计模式、TDD、工程能力、沟通能力和学习能力等。最终,面试者没有通过面试,主要是由于在结对编程环节的重构做得不好和沟通不够大胆。面试者决定继续提升自己的技能,包括系统性思考、背单词和练习口语,以提高自己的技术水平和沟通能力。
一道 HashSet 面试题引发的蝴蝶效应 在这篇文章中,作者通过解读 HashSet 的源代码,介绍了 HashSet 去重的原理以及与 IEqualityComparer<T> 接口的关系。进一步讨论了在排序和去重操作中的接口应用,包括 IEquatable<T>、IComparable/IComparable<T> 和 IComparer<T> 接口的作用。通过对 HashSet、Dictionary 和去重操作的探讨,展示了这些数据结构和接口之间的联系,强调了在处理排序和去重时的重要性。整体上,文章通过解答一个关于 HashSet 的面试问题,深入探讨了涉及数据结构和接口的相关知识点,展示了技术知识体系中的连锁效应。
剑指 Offer 读书笔记(1)