底层系统设计[访谈视角] | Low Level System Design [An interview perspective]
通过解决系统设计一轮编程面试中提出的问题,在低级设计面试中脱颖而出。
你将会学到的
- 准备系统设计[低级设计]面试
- 学习解决问题的不同方法并强调关键点
- 与面试官讨论权衡并发挥自己的优势
- 根据场景使用更好的数据结构优化代码
- 洞察问题的可扩展性,并以此为最终目标开始编码。
- 学会从问题定义中剔除不必要的信息,识别牵引力,并用它创建一个类图
- 学习在需要时为问题编写测试用例
- 为代码可持续性而对 API 进行必要的公开和修改
- 在需要时使用封装并生成所需的访问器和修改器
- 在适当的面试时间内学习代码完成。深入了解紧急情况下的后备计划
要求
- 熟悉一门编程语言
- 了解面向对象编程的基础知识
说明
软件工程面试侧重于面试中的编码和软件设计技能。这些分别被亲切地称为算法和设计回合。算法轮通过应用数据结构和算法来检查候选人的原始编码技能,而设计轮则测试系统设计技能,可以是高级设计 [HLD] 或低级设计 [LLD] ]。
低级设计也称为面向对象设计 [OOD] 或面向对象分析和设计 [OOAD]。从实习生到高级软件工程师,顶级公司在整个面试过程中至少会专门进行一轮系统设计。对于经验不足 3 年的应聘者,低级设计起着最关键的作用,因为这些应聘者缺乏经验,因此不应该具备高级设计的知识。具有 3 年以上经验的候选人通常会面临 HLD 和 LLD 混合的系统设计面试。
本课程低级系统设计 侧重于设计的低级方面。要想在面试中做得更好,唯一的办法就是练习很多类似的问题。在本课程中,根据我的研究,编制了面试中最常见的问题列表。这不仅对面试有用,而且对一般问题解决和应用程序设计也有用。
每个问题都进行了全面的分解和讨论:
- 使问题陈述清楚地消除任何歧义。解释了与问题相关的术语,并很好地提出了期望。
- 类图构造用作对问题进行编码的路线图
- 编码以最优雅的方式完成,以便用户学会自上而下地解决问题。这一点很重要,因为即使有类图,也必须知道程序中类构建的顺序,才能获得流畅的体验。
- 在适用的情况下,代码会进一步优化。还讨论了与优化相关的权衡。
- 最后,测试用例的构建被证明使候选人对编写好的测试用例及其对应用程序的影响保持警惕。
所有这些都是在遵循行业最佳实践的同时完成的。面试期间的适当时间利用也被间歇性地谈论,以及当候选人长时间卡在一个问题上时的处理方法。编码是用 C++ 完成的,但代码在很大程度上与语言无关。
该课程还为所有视频提供隐藏式字幕 [英文字幕]。它们是手工制作的,不是自动生成的。当学生有口音问题,存在大量背景噪音,或者当您想从解释中做详细的笔记时,此功能很有帮助。
学完这门课,你
- 将在更好的地方面对 LLD 面试。
- 可以参与与此类问题相关的设计讨论
- 写出比以前更好的代码
- 有一个合适的剧场将问题分解成碎片并独立处理
保证外卖
- 如果您了解本课程中提出的所有问题,就不会害怕解决 LLD 问题。您将针对该问题提出正确的问题,并有信心抨击任何设计。
此课程面向哪些人:
- 软件工程师
- 有抱负的软件工程师
声明:本站所有资源、素材等全部来源于互联网,赞助VIP仅用于对IT资源服务器带宽等费用支出做支持,从本站下载资源,说明你已同意本条款。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
TheItzy » 底层系统设计[访谈视角] | Low Level System Design [An interview perspective]
TheItzy » 底层系统设计[访谈视角] | Low Level System Design [An interview perspective]