JavaRush /Java 博客 /Random-ZH /喝咖啡休息#49。每个开发人员都应该看到的代码示例。如何准备面试

喝咖啡休息#49。每个开发人员都应该看到的代码示例。如何准备面试

已在 Random-ZH 群组中发布

每个开发人员都应该看到的代码示例

来源:Medium 有时在空闲时间我会在 GitHub 存储库中闲逛。当我开始学习新的程序、工具或实用程序时,我会尝试看看它们的实际效果。为此,我研究了他们的代码:这有助于了解一切如何工作、有哪些模块和外部依赖项。沉浸在技术中会给您带来难以置信的感觉,并让您获得新知识。喝咖啡休息#49。 每个开发人员都应该看到的代码示例。 如何准备面试 - 1在我的文章中,我想分享我在浏览存储库时遇到的最令人印象深刻的代码示例。

阿波罗11号控制程序

阿波罗11号是载人登上月球的宇宙飞船。机载控制计算机(AGC)仅用 4 KB 物理内存来控制飞行操作。AGC软件用汇编语言编写,存储在特殊的只读存储器(绳索存储器)中。几年前,该源代码的扫描纸质副本被发布在互联网上。然后有人将几个模块写成文本文件并上传到GitHub存储库喝咖啡休息#49。 每个开发人员都应该看到的代码示例。 如何准备面试 - 2阿波罗 11 号工程团队经过艰苦努力才取得了这一令人惊叹的成果。他们用汇编语言编写了很多行代码,尽管 20 世纪 60 年代的编程比现在困难得多。当时,编程语言的抽象级别较低。此外,由于硬件功耗低,开发人员必须编写高度优化的代码。

雷神之锤 III 竞技场

《雷神之锤 III Arena》是一款由 id Software 制作的第一人称射击游戏。该游戏出现于 20 世纪 90 年代,当时 3D 游戏行业才刚刚起步。其开发采用了游戏引擎id Tech 3,与阿波罗11号登月计划一样,由于硬件资源的限制,对渲染图形的代码进行了大量优化。许多游戏编程计算需要向量归一化的概念,这需要计算平方根的倒数。由于开发人员需要选择最有效的计算机图形算法,Quake III Arena 采用了一种巧妙的方法,使用位级计算快速计算平方根倒数。喝咖啡休息#49。 每个开发人员都应该看到的代码示例。 如何准备面试 - 3您看到的一些代码的优化水平,甚至是 20 世纪 90 年代用于创建游戏的所有代码的优化水平,简直令人惊叹。如今,视频游戏开发人员通常不在这个级别进行计算,因为许多功能是在游戏引擎级别执行的。

GNU 编译器集合

C 编程语言可以称为现代编程之父,因为它非常接近硬件,但同时提供了人类可以理解的良好抽象级别。GNU C 编译器是一个引导编译器。也就是说,它是使用编译器展开的概念用 C 语言编写的。在 GitHub 上的 GNU Compiler Collection 代码中,我找到了我见过的最长的 C 源文件(可能还有更长的文件,但这是我找到的)。喝咖啡休息#49。 每个开发人员都应该看到的代码示例。 如何准备面试 - 4

Google Chrome、Microsoft Edge 和 Opera 等流行浏览器均基于开源 Chromium 项目。该项目有两个主要依赖项:Blink 引擎(Webkit 团队的 WebCore 库的一个分支)和 Chromium 项目团队开发的 V8 JavaScript 引擎。当然,Chromium 的代码相当广泛,包含许多第三方模块,例如gRPCSkia。但 Chromium 开发人员成功地完美地构建了所有这些组件。代码库巧妙地将内部功能逻辑与用户界面逻辑分开。这确保了对整个项目的良好支持。喝咖啡休息#49。 每个开发人员都应该看到的代码示例。 如何准备面试 - 5此外,项目代码包含 Chromium Android 和 iOS 应用程序的源代码。构建高度可扩展的跨平台应用程序可能具有挑战性。然而,Chromium 在 Linux、Windows 和 Mac 上的代码分离确实令人印象深刻。

吉特克

如今,每个团队都使用 Git 来管理代码版本。该版本控制系统由 Linus Torvalds(GNU/Linux 操作系统内核的创建者)开发。Git 代码库包括 Gitk 源代码。Gitk 是一个 GUI 应用程序,通过提交提供可视化导航。要查看两次提交有何不同,可以使用以下命令:
$ git diff <commit hash> <commit hash>
但由于 Gitk 是一个可视化工具,我们可以用它更快地看到差异。喝咖啡休息#49。 每个开发人员都应该看到的代码示例。 如何准备面试 - 6所有 Gitk 源代码都适合一个. 该代码是使用 Tk UI 工具包(Tcl 扩展)以 Tcl 脚本语言编写的。将整个 GUI 应用程序压缩为一个文件是一项艰巨的任务。

开发人员如何准备面试?

来源:Hackernoon 我记得我的第一次采访。我刚刚完成学位,正在申请马德里一家金融公司的实习机会。我非常紧张,因为我不知道面试会如何进行,也不了解当前软件开发的趋势。那是复活节过后,我才21岁,如果能和朋友们在海滩上度过时光,我会更开心。但我没有享受乐趣,而是必须准备面试。喝咖啡休息#49。 每个开发人员都应该看到的代码示例。 如何准备面试 - 7每次面试前的第一步都是互相了解。他们会询问您的姓名、地址、专业等。此后,您将接受个人面试,可以是面对面的,也可以通过视频链接进行。无论如何,这次面试将测试您对于所申请职位的经验、知识和技能。然后,您可能会被要求编写代码,以证明您解决问题的能力。此外,您可能需要与项目经理或公司总监进行面谈。这取决于您申请的职位。面试过程可能需要很长时间。因此,您需要保持耐心并保持冷静。关于这个问题,我为您准备了一些提示和技巧。

研究该职位以确保它适合您。

有时,当我们找工作时,我们只是去参加面试,而没有查看有关该职位的所有信息。最好提前明确你的职责清单和工作时间表。还要检查公司和职位是否符合您的要求

尝试及时了解您的职业趋势。

一个大错误就是在工作中没有遵循趋势和新技术。您可能是一名开发人员或项目经理,您在当前角色中有自己的工作方式,并且所有项目都使用相同的技术。但请尝试每天花一点时间学习新技术。这对我们的职业生涯非常重要。您需要随时了解新框架、新方法等。这将对你的面试产生很大的影响。

在面对面面试或视频通话中:尽量保持良好的形象并放松

您的外观与应用程序的设计同样重要。您可能有一个完美的后端,但如果您的应用程序的前端很差,您将很难销售您的产品。你的外表也是如此:在面试时,你应该看起来即使不正式,至少也要得体。这将表明您愿意遵守公司规则。我知道这里有些人会想, “嘿,我是个天才,我为什么要关心自己的外表呢?” 好吧,如果你是一个天才并且长得好看,那么你一定会给人留下深刻的印象!

慢慢来

面试前需要做好准备,研究话题,练习算法和问题解决,准备演讲。其中一些过程很漫长并且需要时间。所以确保你在这里有优势。

实践

这取决于你的经验,但我在这里的建议是,如果你必须在面试中编写代码,请正确编写。为此,您需要学习如何清理和审查代码。这将帮助您重新组织或改进其某些功能。

通过面对面面试或代码展示您的经验

尝试展示经验。面试是向面试官解释公司为什么要雇用你的最佳场所。在面试之前,请熟悉基本的编程概念、方法和最佳实践。

面试前一天保证充足的睡眠。

尽量保证充足的睡眠。这将帮助您在第二天保持专注。如果您不知道任何面试问题的答案,请不要撒谎——诚实地说,这将有助于避免将来出现许多复杂情况。这将帮助您看到自己需要改进的弱点。

相信你的答案

不要怀疑自己。绝不。

在面试过程中,您必须向每个人展示安全和信心。

如果您不具备这项技能,您可能需要努力学习。自信就是当你回答“我不知道答案,但我可以查一下并稍后回答”时。这个答案选项显示了安全性和信心。

分析采访

每次采访都是不同的,但都有一些相似的特征。因此,面试结束后,你应该反思一下,哪些方面对你来说是好的,哪些是差的。面试是从外部审视自己、了解自己的优点和缺点的好时机。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION