如果您是数据科学家,如何不加入有抱负的专家的行列


Habra社区在我们的教育项目中进行了另一次采访:与来自IT部门的人进行实时广播,他们以实时交流的形式回答您的问题。

我们的项目旨在为成功的开发人员的生活创建一套完整的指南和建议:如何建立事业,获得梦想的报价,吸引初创企业投资,不要从事无聊的项目,在企业中成长并在途中在海边买房。

在本周初,Yandex ML工程师Boris Yangel参与了Alice大脑的创建工作,现在正在生产无人驾驶汽车,回答了我们的问题。 

Borya谈到了如何成为一名出色的数据科学家,跳伞如何帮助他的工作,为何ML会议无用,并回答了最近一篇文章。 生气的父亲对爱丽丝(Alice)如何向孩子推荐一段谋杀故事的录像感到愤怒。



我叫Boris Yangel,我在Yandex工作。我是专业的ML工程师,最近我一直在管理ML项目。目前,我正在研究Yandex无人机项目,开发ML堆栈的一部分。以前,他从事Alice的工作,负责模块的开发,该模块可以有条件地称为“大脑”-在识别语音之后,该模块确定用户要说的内容并确定答案。在此之前,我在Yandex神经网络技术小组工作,在此之前,在Microsoft Research的Chris Bishop小组的Infer.net项目中,这是一个贝叶斯输出库。更早以前,我曾在Yandex中负责对图片中的搜索进行排名。

, ? , machine learning ?


这个问题有点奇怪。我将重新说明一下:要求的最低技术技能是什么(取决于您想做什么),接受过通识教育的人可以接受这些技能吗?

可以说,如果“登录”是训练神经网络,不仅可以区分猫和狗,还可以做您个人需要的事情,那么就有很多人可以使用的方法。互联网上有很多代码可以解决常见问题,现在您可以轻松,快速地获取此类代码,将数据放入其中并获得结果。这是最简单的事情,包括编程在内,所需的技能最少。

您只需要了解完成的代码并进行编辑的能力。如果代码结构合理,就很容易。

如果您“登录”,这意味着您自己创建一个神经网络来解决一些琐碎的任务,任务将变得更加复杂,需要更多的技能。

为了自己收集神经网络,您至少需要对数学有一点了解,了解线性代数的基础知识,了解什么是矩阵,向量,张量,可以使用它们做什么,什么是导数和梯度下降。我不能说只有专家能解决这个问题,但是您需要掌握知识,包括神经网络的组成部分以及将它们对接以获得结果的习惯。

现在有相当容易使用的框架来连接神经网络的元素-例如,带有Keras插件的TensorFlow(非常简单,您需要很少的Python知识)。但是Keras对于不重要的操作可能还不够,因此您将不得不使用“裸” TensorFlow-这需要更多技能,尤其是在TensorFlow内部创建自己的操作。您想走的越远,就需要更多的技能。而且,问题恰好在出现问题时才开始:为了找出为什么系统无法按您所需的方式工作,您需要相对较高的技能水平-您需要充分了解“在什么情况下”发生了什么。引擎盖。”

初学者需要什么样的Python数据科学和机器学习书籍?如何实践这些知识?


我不确定我是否可以正确回答这个问题。当我还是一个初学者时,与现在相比,好书要少得多,以方便的形式查找正确的信息就更加困难。

现在有很多关于深度学习的书,例如《Goodfellow》一书 -您需要了解有关神经网络的大多数基础知识以及必要的数学知识。有一些实用的方法书-它们不仅使您熟悉数学方法,而且会立即告诉您如何使用Python进行特定的操作。

Keras的作者Francois Scholl写了一本关于Keras深度学习的书。有很多书,尽管我不能说哪个更好。在我看来,您可以放心地读一些著名作家的书。

如果任务是形成知识的骨干,那么将需要更多基础书籍,例如Chris Bishop的模式识别和机器学习,我建议阅读并从中进行练习。不必全部阅读,但是主要章节(例如,关于概率论的章节)将有助于建立对整个机器学习如何形成单个框架的理解。

另外,学习如何在模型中思考也很重要。我们不仅使用某些方法来获取结果,还对数据进行建模。我们需要采用这种思维方式-例如,克里斯·毕晓普(Chris Bishop)的在线书籍《基于模型的机器学习》将在此方面提供帮助部分免费。本书的每一章都是您需要为其构建模型的任务的示例,并且在本章的过程中,您始终如一地尝试执行此操作,逐渐使模型复杂化,直到获得结果。这有助于采用数据科学所需的思维方式。

至于实践-我已经谈到了了解“幕后”正在发生的事情有多么重要。为此,最好尝试自己收集一些东西。自己编写梯度下降而不是使用现成的框架,或者编写一个图层并将其添加到框架中。尝试提出一个具有有趣结构的相对平凡的任务;在确定您缺少哪些知识和信息的过程中解决它。不断使解决方案复杂化以提高质量。让它成为这样一个任务,解决的结果将使您个人感兴趣。

现在TensorFlow JS有了快速的发展。我正在学习机器学习,想使用这个库。前端的前景如何?


前端中的TensorFlow JS可以用作机器学习的入口点,尽管我不太清楚为什么。如果这是因为您只懂JavaScript,那是错误的动机; Python非常容易学习。

TensorFlow JS有其自己的应用领域:这是机器学习,其中推理直接在浏览器中进行,这使您可以创建交互式深度学习工具。它使您可以为用户提供一个交互式工具,您可以在其中使用算法和模型,进行可视化,从而提高您对主题的理解。可能还有其他有希望的深度学习领域需要交互-例如,创造力工具,您可以在其中实时处理图像或合成音乐。

如何尽快成为任何人工智能领域(例如NLP)的出色专家?


至于第二部分,速度始终取决于现有的知识库。

至于第一部分-在我看来,这里的问题是不正确的。NLP过去有很多不同的技术,您需要了解很多解决问题的方法,但是随后,深度学习专家来到了那里。他们提出了BERT,并进行了逐步改进,现在,要解决NLP任务,除了BERT之外,您无需了解其他任何信息。同时,为了了解BERT,您不需要了解NLP-您需要了解如何将模型应用于符号令牌。您需要成为机器学习的专家,然后您将可以轻松地获得各种应用领域的知识。

如何成为一个很酷的机器学习专家?


首先,您需要在头脑中建立一个关于机器学习中发生的事情的良好概念框架。只要您将其视为一组不同的事实,算法和启发式方法,您就不会走得太远。

粗略地讲,必须理解以下内容:我们要做的就是从某种意义上说是从一组最好的功能中搜索功能。您需要了解最佳功能的含义是什么;可以搜索哪些功能集;为什么我们偏爱一个或另一个功能集;为什么在某些功能中搜索比其他功能更有效;在不同的功能集中搜索存在哪些技巧?您需要了解这些功能是数据模型(至少是我们感兴趣的功能)。

数据模型是使用少量标准技术构建的,对于深度学习和概率编程而言,它们几乎相同;您需要了解如何结合使用这些技术以及在什么情况下。然后您会发现您了解如何在不同主题领域解决任务。

假设有Kalman过滤器-及时对系统动力学进行建模,并且有关于它们的书籍可以阅读。如果卡尔曼滤波器不适合您,则您将无法对其进行任何修改以执行与您的任务相似的操作,但是“不是完全卡尔曼滤波器”。

但是,如果您了解这只是建立在某些相当简单的原则上的概率模型(无论什么地方未知,请添加正态分布,并且直接建模的所有事物都是线性动力学),那么您可以构建一些东西您甚至不需要了解卡尔曼滤波器的一切。

如果您采用这种思维方式,您将发现大多数文章-即使是顶级会议的文章-都没有兴趣。通常,在此处使用您可以应用的标准技术来描述增量改进,这对您来说是显而易见的,并且没有扩展超出所使用数据集范围的可能性。无论如何,您都不会错过展示真正新技术的优秀文章-每个人都将谈论它们,并且您将很快学习它们。事实证明,真正需要的文章很少。

告诉我们您正在使用的堆栈。机器学习新手应该学习哪些库和框架?


我主要与TensorFlow和Keras合作。PyTorch仍然越来越受欢迎-同事们称赞他。

当Keras出现时-也就是说,可以使用其中的那些高级抽象,而无需深入了解-最好使用Keras,这样可以节省时间。当然,您需要了解Keras的工作原理以及在必要时如何超越。

如果Keras本身缺少某些内容,则可以随时向TensorFlow添加一个片段-体系结构允许这样做。

Yandex自动驾驶仪是如何分阶段创建的?为此聘请了什么样的专家,如何构建数据科学/机器学习工作流程?


首先,我将简要介绍“无人驾驶”堆栈的工作原理-有关更多详细信息,请参阅Anton Slesarev 视频报告,它很容易找到。堆栈具有许多组件。感知是对当前机器周围情况的一种看法。 

本地化是通过使用来自传感器和预制地图的信息来了解汽车的位置。

预测是在了解有关现在如何建立世界以及过去如何建立世界的知识的基础上,对接下来几秒钟将发生的事情(即运动中其他参与者的行为方式)进行预测;我只是在这部分工作。

规划-感知和预测之后:您需要选择一个安全的措施序列,以解决问题。 

控制 -将此顺序转换为汽车的说明(方向盘,油刹)。

现在,此堆栈的许多元素都需要ML,或者在最新的解决方案中不使用ML。机器学习工程有很多工作-必须使这项工作迅速进行,因为这样的系统中的延迟非常关键。我们需要学习如何训练模型,了解哪些指标可以使我们了解哪些方面变得更好,哪些指标不允许我们了解如何更有效地收集数据。此外,基础设施工作中有很大一部分经常被低估。需要一个非常强大的基础架构来一起开发所有这些组件。

无人机收集有关其发生的所有事情的大量数据-您需要能够快速处理这些数据,并回答诸如“如果代码中的Y发生变化,情况X会发生什么”这样的问题。这需要简单的工程解决方案和优秀的工程师。

我认为,数据科学/机器学习工作流程与其他地方一样。任何团队目前都应具有需要优化的指标。

对于大多数人来说,通常每天都在寻找改善此指标的方法。而且该指标应与您的目标保持一致-当然,很难立即提出该指标,该指标将逐步发展。

假设您做了一个行人分类器。假设以平均精度找到了周围的行人。您优化了指标,发现它似乎是由于您的更改而增长的,但实际上情况变得更糟。您了解该指标不好。得出的结论是,不必搜索所有行人-那些行进距离较远或落后50米的行人不会对我们产生任何影响。我们需要澄清指标。您只能去附近的行人。然后,您了解到这也是不好的:您只对前面的那些感兴趣。

这就是指标演变的方式。在每时每刻都有一个固定的指标,您可以对其进行改进。这样可以减轻您的认知负担:您只需要考虑如何提高一个数字-团队的一部分就在不断努力寻找需要提高数字的最佳选择。

我沉浸在“强大的AI”主题下。我有两个问题:为什么我们不能以教孩子的方式来学习AI?如果有的话,第一个会在什么领域创造出强大的AI?


我理解第一个问题如下:就好像孩子从简单学习到复杂。最初,他们生活在圣诞老人所在的世界的简化模型中,但逐渐地,他们的世界变得更加复杂,孩子们学会了解决更复杂的问题。应当按照类似的原则来教授AI似乎是合乎逻辑的-托马斯·米克洛夫(Thomas Miklov)(他现在在Facebook AI Research上)甚至提出了这样的建议,即为强大的AI建立培训计划。

此外,在机器学习中,还有一个课程学习领域-即基于“从简单到复杂”原理的模型训练。问题在于,现在一切都在同一任务中运行。寻找狗的任务相同-首先,网络被教导要在看起来完全不像狗的图像中将狗与猫区分开,然后它们会越来越多地与狗相似。这是一种迭代翻译的方法:假定网络将建立简单的概念,然后根据它们建立更复杂的概念。当涉及到不同的概念时,它不起作用。

如果您以前曾经教过另一个系统,然后开始教该系统一些东西,那么它会忘记那些以前记住的概念。这是一个灾难性的遗忘问题;目前还没有人解决。梯度下降会立即更改所有权重,这会破坏旧概念。我们需要找出如何建立新概念而不破坏旧概念的方法。

单发学习和少发学习的研究领域与此相关:学习一项任务的概念,并通过少量示例将其用于解决另一个问题。在这方面还没有根本性的突破,但是需要做出突破才能对强大的AI有一些想法。

我认为将来没有理由不再需要强大的AI。在我们的现代观点中,人脑是执行计算的机器,尽管它是根据其他原理进行的。

创建强大的AI并没有任何基本障碍,但是我无法估计到现在还剩下多少时间-尚不知道需要什么其他步骤。如果我们以克服过去的“白点”的速度进行推断,我们可以称其为“从10到50岁的数字”-但它仍然是“天空的手指”。您可以诉诸摩尔定律,并计算处理器何时具有足够的晶体管密度,以达到大脑的计算能力(也是几十年),这也将成为“天空之手指”。

我认为强大的AI(如果是发明的)不会来自商业。而是由拥有大量资源,从事强化学习基础研究的人员创建的:从机器学习的所有领域来看,这与我们从强大的AI所需要的最接近。如果DeepMind或OpenAI将存在几十年-也许它们会存在。或将取代他们的人。

什么架构最适合用来分类(不是预测,而是分类)时间序列?LSTM还是其他?


近年来,已经观察到这种趋势:在LSTM有用的几乎所有地方,注意力都更好。NLP革命刚刚发生:我们将注意力转移到了循环网络上,并且情况有所改善。对于时间序列,我也建议您尝试关注。这全都取决于任务,但是,总的来说,这是分析序列和汇总序列数据的最有效方法。

从事机器学习,不仅是为了工作,而且是一种昂贵的业余爱好。我正在建立一个网络,它插入了3 GB的存储卡,但有点复杂-它已经消失了。除了CPU,还有其他选择吗?


缺乏铁的资金,对于爱好者来说,甚至对于大学来说,在现代深度学习研究中都能显示出成果的问题。

Google发起了Google Collab计划:在Google的设施中就是这样的IPython,您可以在其中获得12或24小时的高端视频卡功能,并在其TPU上运行某些功能。消费者不使用视频卡,它们具有更多的内存-在我看来,它有130 GB。双手释放。但是,总的来说,这是单个用户买不起的真正大规模的东西。

一些公司正在尝试开发特别适合于深度学习的芯片,这将使神经网络的计算比GPU更快,更便宜-也许在未来几年中出现带有此类芯片的消费者解决方案。

在开发无人机时,为什么要预测运动中其他参与者的行为?


在旅途中这是必要的。做出决定时,除其他外,必须考虑机器的惯性:不可能立即改变方向(即使可能,乘客也必须是坏人)。我们需要制定行动计划,以便在几秒钟之内就不会有其他人-为此,我们需要预测其他参与者的位置和意图。机器的轨迹应尽可能远离其他参与者-这对于安全行驶是必要的。

无人机的方向盘如何旋转?


我不控制自己。我可以说有不同的汽车-有些可以发出命令以转动方向盘。我认为,普锐斯可以。

您使用什么-Scrum,看板,混乱?


混乱组织。

我认为没有必要严格地设计工作流程,尤其是研究工作:很难说一个特定的任务要花多长时间。我们有太多的不确定性,对我而言,为什么要引入一个额外的结构并不清楚。

我们尝试交流很多,我们尝试记录所有实验结果;我们拥有专门的系统来存储实验数据,而不论其规模如何(使用何种代码,从哪个分支组装而成的代码以及启动了什么数据),以实现完全可复制的目的。我们记录所有结论并在彼此之间进行讨论,共享信息,并尝试使所有内容尽可能公开透明。

在冶金,采矿,浓缩等行业中使用ML有任何经验吗?


我知道ML在这些领域得到了积极使用,但是没有个人经验。

最近刊登了一篇令人心碎的文章内容是爱丽丝(Alice)向孩子推荐了一段有关谋杀故事的视频。为什么会发生这种情况,很难过滤内容吗?


过滤内容的任务原则上是可解决的,并且具有很高的准确性。在这种情况下确切发生了什么,我不确定,但我可以反思。

假设系统具有会员内容,并且有一个API,合作伙伴必须在其中使用标记或其他方式标记此内容。该系统最初是基于对合作伙伴的信任而工作的-可能只有不时进行内容检查。随着时间的流逝,这还远远不够,您将挂断一个简单的内容系统,在标题和标签中搜索停用词,并由主持人查看至少一部分内容。

在每个系统中都不可避免地会有一个失败点:有时人们会犯错误,有时合作伙伴没有履行其义务。所有可以做的就是进行进一步的迭代并改善系统,并且这些改进通常是被动的:如果某项工作足够好,通常只有在必要时才会进行改进。

也许当强大的AI出现时,您可以要求他以100%的准确性过滤所有内容。

您是否参加有关神经信息处理系统和机器学习的国际会议?您对这方面的俄罗斯会议有何印象?


我不能说俄罗斯人。有时候我会去国际,但是我越来越不明白为什么。

当然,“科学旅游”是重要而有趣的,但是在我看来,会议本身已经停止履行其职能。他们接受了大量文章,但由于这个原因,不可能为每个作者组织正常的演示文稿。例如,在ICML中,只有最好的论文才有很长的报告,而其余所有论文都只有不到五分钟的聚焦报告。

此外,大量作品-渐进式,可疑的可复制性,以及它们对听众的好处-不。如果会议的工作确实很棒,那么您很可能已经熟悉了它-预印本正在尽早进行。

我认为应该重新设计会议的形式-或至少大大提高了采取的标准。

您返回俄罗斯的动机是什么?


我离开俄罗斯是因为住在新地方并向新人们学习对我来说很有趣。在我看来,对于个人发展,您需要到达人们比我更了解的地方。实际上,这就是发生的事情:在Microsoft Research中,我对您需要变得有条不紊,了解您正在做的事情有多深刻和良好的了解,需要多少了解所发生的事情的了解很多。好吧,尽管有些有趣的任务,但我有时还是很无聊。

然后,我住在剑桥-这是一个几乎没有发生任何事情的小城市,它的社交圈无法与莫斯科相比。我想:现在您可以住在莫斯科,运用所学的知识,然后也许去其他地方。我去了Yandex上班-应用我所学的知识似乎很不错。

在我看来,现在在DeepMind和OpenAI中,他们正在做有趣的事情,在那里我可以学到很多东西。

我听说无人机团队更喜欢使用TensorFlow而不是PyTorch来训练推理模型。这是什么原因呢?


也许是出于历史原因。我不能说为什么TensorFlow比PyTorch更好或更差。

数据集应为多大?5万到6万个培训示例是否足够,还是需要数​​百万个?


取决于使用的模型和任务。数据集应能够配置模型参数并防止重新训练。如果您具有平凡的线性模型,则数据集可能很小。如果这是一个复杂的神经网络,那么6万是不够的。

从头开始从不平凡的事物中学习复杂的神经网络几乎总是需要数以亿计。 “更多数据-更高质量”的原则并未消失。

顺便说一下,关于如何成为NLP专家的问题。现在,最先进的深度学习始终在处理大数据。它们需要进行预处理,然后-有效地流到提供训练的计算节点中。

可以说,深度学习是一项艰巨的工作:要取得成功,您必须尝试很多事情,而不能确定彼此合作的结果。

尽管我还没有遇到一个具有正确直觉的人,也许您可​​以为一些可能的选择开发一个直觉。在一般情况下,所有团队中最成功的团队将是每单位时间进行最多实验的团队。

我的大部分工作是消除学习过程中的“瓶颈”,以期将其“分散”到理论上可能的速度。这需要工程技术,从代码和硬件中挤出性能的能力。

专家与普通数据科学家的不同之处在于,该专家通常还是一名优秀的工程师,能够快速工作,编写代码,处理分布式数据存储和处理系统以及理解计算机和网络的体系结构-从而计算出“漏洞”。在自己中发展这些技能非常重要。

在大数据的主导下,那些知道如何接受培训以快速处理这些数据量的人是业内最成功的人。如果深度学习只在很小的范围内起作用,我会说只需要有关知识,而现在则不需要。

学习编程,学习标准计算机科学算法,开阔眼界。顺便说一句,加密是有用的。

您是否使用AutoML类似物来调整体系结构和参数,或者进行更多的手动实验和直觉?


现在-超过第二个。在通过网格或贝叶斯优化进行扫描时,存在自动调整功能,而AutoML中尚未完成的更复杂的操作。它需要大量的计算资源-如果资源有限,则最好依靠直觉。但是,如果您了解自己曾经随机算命,最好将其委托给流程。

爱丽丝做什么,谷歌助手不做什么?Google和Yandex在这个方向上的团队规模是多少?


我不能谈论Yandex。 Google似乎有数百或一千人。至于Alice的优势,我不确定我最近没有关注Alice的产品开发或Assistant功能。

在我看来,质量问题是不正确的。即使爱丽丝更糟,这是否意味着她没有生存权?产品创造并彼此竞争,因此,它们都可以赢得,发展和扩展。

我不了解“新产品与Google相同”的心态。在业务中,产品是通过这种方式创建的:您以他人的想法为基础,将其付诸实践-有时通常是按原样-但这不是道路的终点,而是起点。然后,您逐渐改变想法,使其变得比竞争对手更好。这就是进步的全部故事!

体育如何在其他领域帮助我们取得更大成就?


在运动方面,尤其是竞技方面,我喜欢模棱两可。如果输了,就输了。您不能将这种情况归咎于情况:您不够出色,做错了什么。

在竞技运动中,直率,诚意和承认错误的能力得到发展。它在其他方面也有帮助-最好承认您需要在X,Y和Z方面变得更好而不是寻找借口。当然除了对健康有益。

跳伞如何帮助您脱离舒适区?


想象一下,您想被一群人从飞机上跳下来,然后放一些东西。飞机进入战斗机,门打开,你们都排在里面,等待信号一起跳。

此刻,毫无疑问应该发生了什么。甚至一秒钟的延迟都会延迟所有人。您必须毫不犹豫地进入跳跃状态。世界消失了,只有飞跃。如果降落伞发生了什么事,您将几乎没有时间采取行动-那么也应该毫无疑问和恐惧,您需要尽快按照所学的去做。

跳伞可以培养人做出决定的能力,而不必怀疑。可以在此项目与复杂项目之间进行比较。有时不清楚在项目中该做什么。当您开始执行任务时,您不知道该做什么,该怎么做,是否可以完成。此刻,您很容易开始怀疑和思考:“如果我做不到,该怎么办?” -花费时间和精力。如果要求您解决问题,那么他们会相信您。您必须尽一切努力解决这个问题。您需要使自己处于与跳伞相同的心理状态,以放弃不必要的一切并集中精力。在我开始跳伞之后,实现这一目标变得更加容易。

你花多少钱跳伞?


许多。这是我预算中的重要文章。我认为这是进一步职业发展的动力。

你在哪个俱乐部?


主要在普希金诺(Pushchino),某些学科在那里得到了很好的发展-例如,freefly。

作为工程师ML去哪里学习?


我在莫斯科国立大学VMK学习了很长时间,我的数据已经过时了。我不能说那是一门超级机器学习,但老师们教给我们的很好,并向我们介绍了机器学习的世界。我想很多人都知道德米特里·彼得罗维奇·维特洛夫(Dmitry Petrovich Vetrov)-我欠他很多,如果没有他的演讲和为我带来的特殊课程,我可能不会学习ML。我不知道他现在在哪里教学,但是绝对值得去那里。此外,无论您在什么学院学习,我都建议尽可能去SHAD。不是因为它是Yandex,而是因为它是一个非常酷的地方-在这里,他们将提供行业中良好实践工作所需的所有知识,而这可能是大学所没有的。来自ShAD的许多训练有素的才干来到我们这里,他们知道该怎么做。

再一次关于是否有可能“不是技术人员”进入机器学习这个问题。需要技术技能,但是文科专业并不是阻碍。要了解编程和数学的基础,您只需要站着头并具有逻辑和结构思考的能力。尽管出于某种原因选择了人道主义专业,但仍有许多人拥有这种技能。没有什么是不可能的,主要是尝试。有必要不要考虑“我可以”这个话题,而是要开始这样做吗?这大大增加了成功的机会。

是否可以与大学同时在学习学校学习?


我这样做了,尽管那很困难。ShAD的负载很大。您可以将SHAD与大学的最新课程结合起来,因为这些课程的工作量相对较小-会很辛苦,但会有所回报。

无人机的赛车经验?


我们需要积极的赛车运动员,因为我们需要培训直接在车内的驾驶员和质量检查工程师。他们必须能够在测试过程中识别紧急情况并做出响应,并且都接受了赛车手的紧急训练。如果我们要讨论的是我们是否使用职业运动员在赛车模拟中使用的某种轮胎物理模型来制定战术,就我而言,不,我们还不能在百分之一秒的时间内完成。对运动员有用的遥测与我们所需要的有所不同,并且我们测量了更多的数据。

下一步是什么?


下一次直播将在下周一进行。
您可以向Natalya Teplukhina提出问题-Vue.js核心团队成员,GitLab的GoogleDevExpret和高级前端工程师。

你可以在这篇文章的评论中问她一个问题

.Facebook高级软件工程师Ilona的采访解释可以在这里阅读.Facebook员工的内幕:如何获得实习,获得报价以及有关在公司工作的一切


All Articles