How many times have you gotten the question “Tell me more about your work experience at …” or “Describe an experience when you had to overcome a technical challenge”? Is your answer solid and bullet-proof every single time you have to respond? If not, I have a simple but powerful 5-step approach to describing experiences in the context of a software engineering interview.

您有多少次问到“向我详细介绍您在…的工作经历”或“描述您必须克服技术挑战时的经历”这个问题? 您每次都要回答时,您的答案是否可靠且防弹? 如果没有,我有一个简单但功能强大的五步方法来描述软件工程面试中的体验。

The 5-Step Approach:

五步法:

  1. Give background information.

    提供背景信息。

  2. Why did you do the project?

    你为什么做这个项目?

  3. Which tech stack did you use?

    您使用了哪个技术堆栈?

  4. What was your individual contribution? What unexpected technical challenge did you have to overcome?

    您的个人贡献是什么? 您必须克服什么意外的技术挑战?

  5. What did your project accomplish in terms of results?

    就结果而言,您的项目完成了什么?

Let’s break down these five steps into more detail.

让我们将这五个步骤更详细地分解。

背景资料 (Background Information)

  • Which company did you work for? For which class or organization did you build the project? Which team were you on?您在哪家公司工作? 您为哪个班级或组织构建了项目? 你在哪支球队上?
  • How long did it take to finish the project? Were you on a team or were you working solo?完成该项目需要多长时间? 您是在团队中还是独自工作?
  • What does the company do? What was the class or organization about?公司做什么? 班级或组织是关于什么的?

I interned at Uber as a software engineering intern in the Fall of 2019. I was on the Order Platform team, which was responsible for ingesting and post-processing incoming data payloads. Every day, we process hundreds of thousands of terabytes of data coming from front end apps like Rides and Eats.

我于2019年秋季在Uber实习,担任软件工程实习生。我在Order Platform团队工作,该团队负责提取和后处理传入的数据有效负载。 每天,我们都会处理来自Rides and Eats等前端应用程序的数十万兆兆字节的数据。

为什么? (Why?)

You have to drive home the impact of the project. Why did your company or organization want you to work on this project? Class projects are less optimal for this 5-step approach, but you can try to re-frame it around what topics the class was trying to teach. Some ideas for explaining the rationale behind the project:

您必须带动项目的影响。 为什么您的公司或组织希望您从事此项目? 对于这种五步方法,班级项目的最佳性较差,但是您可以尝试围绕班级尝试教授的主题来重新设计课程。 解释项目背后原理的一些想法:

  • Were you trying to solve a business need? How many employees were experiencing this problem, and how frequently? How many man-hours or dollars did you save by implementing this project?您是否要解决业务需求? 有多少员工遇到此问题,并且有多频繁? 通过实施该项目,您节省了多少工时或美元?
  • Were you solving a customer pain point? How many users did your project benefit? Are there customer ratings, survey results, or other metrics that help to quantify your impact?您是否解决了客户的痛点? 您的项目使多少用户受益? 是否有客户评分,调查结果或其他指标可以帮助您量化影响?
  • Was your organization trying to empower a certain segment of the population, or do something good for the community?您的组织是在尝试增强特定人群的能力,还是在为社区做点好事?
  • Were you working on a tool that would increase developer productivity by de-duplicating coding efforts? Does your project centralize a particular functionality or feature? Is there an aesthetic redesign that makes the tool friendly to use for either employees or customers?您是否正在开发一种通过消除重复编码工作来提高开发人员生产率的工具? 您的项目是否集中了特定的功能或特性? 是否进行了美学上的重新设计,使该工具易于员工或客户使用?

We publish the processed data payloads onto a stream that other backend teams at Uber can subscribe to. However, most teams only require a small subset of the datastream, eg. the Risk team only cares about trips flagged with a security issue. Because of this, each team has to individually implement its own filtering logic to filter out the irrelevant data. Eventually engineers realized that there was a lot of duplicated efforts, so our team decided to launch a new centralized service to implement filtering logic. The other teams would subscribe to my service with their filtering preferences, and the service would give them only the payloads relevant to their workflow.

我们将处理后的数据有效载荷发布到Uber的其他后端团队可以订阅的流上。 但是,大多数团队仅需要数据流的一小部分。 风险小组只关心标记有安全问题的旅行。 因此,每个团队都必须单独实施自己的过滤逻辑以过滤掉不相关的数据。 最终,工程师意识到进行了很多重复的工作,因此我们的团队决定启动一项新的集中式服务,以实施过滤逻辑。 其他团队将使用其过滤首选项订阅我的服务,并且该服务将仅向他们提供与其工作流程相关的有效负载。

科技栈 (Tech Stack)

This section should be straightforward.

本节应该很简单。

  • Which programming languages did you use for the backend, frontend, and/or middleware?您为后端,前端和/或中间件使用了哪种编程语言?
  • Did you use frameworks or libraries?您是否使用框架或库?
  • What kind of database were you interacting with?您正在与哪种数据库进行交互?
  • Did you have to put your data into message queues or streams? Manage configurations or dependencies?您是否必须将数据放入消息队列或流中? 管理配置或依赖项?
  • Did you use continuous integration? Testing libraries? Deployment frameworks?您是否使用了持续集成? 测试库? 部署框架?
  • How did you monitor for errors after deploying to production?部署到生产后,您如何监视错误?

Programming language: GoInterface definition language: ThriftConfiguration management: FliprDependency injection: UberFXDatabase: Uber Schemaless (distributed key-value storage, sharded mySQL)Message queues: KafkaData serialization format: Protobuf

编程语言:GoInterface定义语言:Thrift配置管理:FliprDependency注入:UberFX数据库:Uber Schemaless(分布式键值存储,分片mySQL)消息队列:Kafka数据序列化格式:Protobuf

个人贡献+意外的技术挑战 (Individual Contribution + Unexpected Technical Challenge)

This is really the meat of your entire description. You have to make it very clear which part was your work, instead of the work of your teammates and classmates. Use pronouns to clearly denote which part was your individual contribution.

这确实是您整个描述的内容。 您必须非常清楚地说明工作是哪一部分,而不是队友和同学的工作。 用代词清楚地表明哪一部分是您的个人贡献。

On the unexpected technical challenge — make sure this is a real challenge. Learning a new language or framework is not the best example. Try to think deeper than that. Did you have to deal with inconsistent data models? Legacy code whose developers left the company long ago? Non-existing documentation? Pre-existing code that is buggy and untested? Working cross-functionally with many other roles or teams? Working on a different part of the stack than your usual expertise? Changing the architecture for scaling purposes? Doing a lot of independent research to discover solutions to unsolved problems? Really sink into the details here.

应对意外的技术挑战-确保这是一个真正的挑战。 学习新的语言或框架不是最好的例子。 尝试更深入地思考。 您是否必须处理不一致的数据模型? 谁的开发人员很久以前离开公司的遗留代码? 不存在的文档? 先前存在错误且未经测试的代码? 与许多其他角色或团队进行跨职能合作? 与您通常的专业知识在堆栈的不同部分上工作? 为扩展目的而更改架构? 做大量的独立研究来发现未解决问题的解决方案? 真的在这里陷入细节。

At the time, the Uber Engineering organization was in the middle of a data model migration from the Trips model to the Orders model. Instead of the Trips model which just consists of a single trip, we wanted the new Orders model which consists of 1 trip to the restaurant, 1 trip to the customer’s house, and an associated job (delivering food to the customer). This was to account for Eats becoming a much more prevalent part of the business. Different teams were in different stages of implementing the migration, so data schemas often didn’t line up from team to team, or from the documentation to the actuality. I had to go in and talk to multiple teams to clarify their assumptions about the data model and make sure my service worked for them in an agnostic way. Even though many backend engineering teams were in a state of flux in regards to the Trips -> Orders data model transition, I was able to successfully complete my project to subscribe and filter the incoming data stream.

当时,Uber工程组织正处于从Trips模型到Orders模型的数据模型迁移的中间。 而不是仅由一次旅行组成的“旅行”模型,我们希望使用新的“订单”模型,该模型包括到餐厅的一次旅行,到客户的房屋的一次旅行以及与之相关的工作(向客户提供食物)。 这是因为Eats成为业务中更为普遍的部分。 不同的团队处于实施迁移的不同阶段,因此,数据模式通常不会在团队之间,从文档到实际情况下保持一致。 我不得不与多个团队进行交谈,以澄清他们对数据模型的假设,并确保我的服务以不可知的方式为他们服务。 即使许多后端工程团队在Trips-> Orders数据模型转换方面处于不断变化的状态,我仍然能够成功完成我的项目,以订阅和过滤传入的数据流。

结果 (Result)

Ideally your project was completely finished, tested, deployed, and saved the company millions of dollars. In the absence of any of the above, try to focus on the successful completion of the project and positive feedback from senior management. Talk about any opportunities you had to present the work to a panel. Did you improve the performance of a particular functionality? Write up the documentation and/or blog post? Complete the project ahead of deadline? Help out with extra tasks during your internship or project? Gave a live demo of the project to a large group of people? Anything that indicates your ability to both write about and verbally communicate about your project to a group of people is a positive signal to your interviewer.

理想情况下,您的项目已完全完成,测试,部署并为公司节省了数百万美元。 如果没有上述任何条件,请尝试着重于项目的成功完成和高层管理人员的积极反馈。 讨论您需要向小组展示作品的任何机会。 您是否改善了特定功能的性能? 写文档和/或博客文章? 提前完成项目? 在实习或项目期间帮忙其他任务吗? 向大量人员进行了项目的现场演示? 任何表明您有能力向一群人撰写和口头交流您的项目的信息,都对面试官发出了积极的信号。

By the end of my 3-month internship, I successfully integrated my datastream selection service with the Risk team to help them reduce engineering efforts needed to filter their input stream. My project also helped them to reduce their query execution time for input collection by close to 50%.

在结束为期3个月的实习后,我成功地将我的数据流选择服务与Risk团队集成在一起,以帮助他们减少过滤输入流所需的工程工作量。 我的项目还帮助他们将输入集合的查询执行时间减少了近50%。

Try using this 5-part approach on any of the work experiences or projects on your resume today! Feel free to jot down some bullet points for each of the 5 parts, and practice going through them fluidly as if you are in a real interview situation. I can guarantee that this formula will help you to achieve more detailed descriptions and better storytelling.

立即尝试将这种5部分方法用于简历上的任何工作经验或项目! 随意记下这5个部分中的每个要点,并练习流畅地遍历它们,就好像您处于真实的采访环境中一样。 我可以保证,该公式将帮助您获得更详细的描述和更好的故事讲述。

翻译自: https://medium.com/@yitianzou/a-bullet-proof-5-step-approach-to-describing-experiences-on-your-resume-5e7875c4f5e


http://www.taodudu.cc/news/show-2126203.html

相关文章:

  • Heckman 两阶段法及与工具变量法的区别
  • 购买周期 python-用Python实现一个基于EG协整法的跨周期套利策略
  • 神经网络搭建六步法扩展
  • keras神经网络搭建六步法
  • python误差修正模型_如何用格兰杰检验、协整对数据进行分析_格兰杰因果检验...
  • R语言迹检验协整关系式_【R语言】单位根检验、协整检验和格兰杰因果关系检验三者之间的关系...
  • eviews建立时间序列模型_模型建立——时间序列 eviews协整检验(EG两步法(Engle-Granger))...
  • 利用Hilbert变换进行相位调制信号的解调
  • 基于hilbert变换的数字信号_基于Hilbert变换数字调相信号解调算法研究.doc
  • 离散信号的希尔伯特变换的计算公式_离散信号的hilbert 变换.ppt
  • FIR滤波器之Hilbert变换
  • Hilbert变换及谱分析
  • Hilbert变换及相关特征值
  • MATLAB希尔伯特Hilbert变换求包络谱
  • Hilbert 变换
  • 基于hilbert变换的数字信号_通过Hilbert变换实现移相算法
  • matlab希尔伯特变换,基于matlab的Hilbert变换详解
  • 基于hilbert变换的数字信号_基于Hilbert变换处理绝对重力仪测量数据
  • 希尔伯特变换 matlab,MATLAB的实现Hilbert变换程序_matlab
  • Hilbert变换器
  • Hilbert 变换与瞬时频率
  • Hilbert变换C语言实现学习
  • python 希尔伯特变换_信号处理——Hilbert变换及谱分析
  • hilbert谱 matlab,转 matlab 信号处理——Hilbert变换及谱分析
  • python希尔伯特变换_Hilbert变换提取信号特征的Python实现
  • matlab希尔伯特变换,利用MATLAB实现Hilbert变换代码
  • hilbert滤波器 matlab,用MATLAB实现Hilbert变换
  • hilbert变换简介
  • 基于hilbert变换的数字信号_hilbert变换
  • Hilbert变换简要剖析

证明您履历表经验的防弹五步法相关推荐

  1. 职业生涯自我规划五步法

    职业生涯自我规划五步法 在许多机构和专家那里,职业生涯规划似乎非得借助他们.不可否认,这方面的研究必须有心理学等方面的知识和训练:而一个有基本人文素养的人,做职业生涯的规划,则可使用一些简便易行的方法 ...

  2. 决胜B端第2版(4):需求分析的十三要素五步法

    本文由作者 杨堃 发布于社区 需求挖掘和分析是产品设计中挑战最大的工作之一,如何洞察需求的本质,识别出真实的意图,并通过优雅的产品设计,解决需求背后的痛点,是所有产品经理都应该持续提升的核心能力. 需 ...

  3. numa节点_鲲鹏性能优化十板斧之前言 | 鲲鹏处理器NUMA简介与性能调优五步法

    鲲鹏处理器NUMA简介 随着现代社会信息化.智能化的飞速发展,越来越多的设备接入互联网.物联网.车联网,从而催生了庞大的计算需求.但是功耗墙问题以功耗和冷却两大限制极大的影响了单核算力的发展.为了满足 ...

  4. 万字长文精华之数据中台构建五步法

    陈新宇 罗家鹰 江威 邓通 读完需要 24 分钟 速读仅需 8 分钟 陈新宇 云徙科技联合创始人兼首席架构师,中国软件行业协会应用软件产品云服务分会"数字企业中台应用专家顾问团"副 ...

  5. 鲲鹏性能优化十板斧——鲲鹏处理器NUMA简介与性能调优五步法

    TaiShan特战队六月底成立,至今百日有余,恰逢1024程序员节,遂整理此文,献礼致敬!希望能为广大在鲲鹏处理器上开发软件.性能调优的程序员们,提供一点帮助.从今天开始,将陆续推出性能调优专题文章. ...

  6. 中台实践:数据中台构建五步法

    陈新宇 罗家鹰 江威 邓通 读完需要 24 分钟 速读仅需 8 分钟 云徙科技 国内领先的数字中台服务商,以"业务 数据"双中台为核心技术,驱动企业数字化转型,助力业务持续增长.公 ...

  7. 实用五步法教会你指标体系的设计与加工

    今天我们来和大家聊一聊一个新话题,一个对于企业业务发展十分关键的东西--指标. 指标建设是衡量企业业务效果的主要依据,本文结合自身实践经验和大家分享指标的设计与加工过程,讲述其基础概念和设计加工方法, ...

  8. doe五步法_【准则讲解之IFRS15】第贰章 五步法之贰识别P.O.(一)

    今天进入新收入准则的第三讲,新收入确认模型[五步法]的第二步,识别P.O.(履约义务). 上一讲中,我们提到识别合同的五个条件,其中,明确权利义务,就是为了更好地能进行第二步,也就是本讲需要介绍的识别 ...

  9. 直击2019云栖大会,袋鼠云分享新零售数据中台搭建五步法

    "新零售"概念诞生后,开始席卷各个消费品细分行业,对品牌商及零售企业都带来了巨大的变革性影响.以数字技术推动"新零售"已经成为一场全社会发展的浪潮,传统的服饰. ...

  10. TensorFlow快餐教程:程序员快速入门深度学习五步法

    作者简介:刘子瑛,阿里巴巴操作系统框架专家:CSDN 博客专家.工作十余年,一直对数学与人工智能算法相关.新编程语言.新开发方法等相关领域保持浓厚的兴趣.乐于通过技术分享促进新技术进步. 作为一个程序 ...

最新文章

  1. Fleury算法找欧拉环游
  2. java 线程的几种状态
  3. 全球及中国甲苯甲酸行业投资决策与运营前景状况分析报告2022版
  4. 软件开发中部分代码的注解
  5. VMM2012应用指南之12- 创建自助服务用户并分配云
  6. java前期_【JAVA】前期环境配置
  7. 未来教育计算机二级预测c,二级C语言(附光盘)(全国计算机等级考试预测试卷与真考题库)...
  8. android上对cookie的读写操作,Android上对Cookie的读写操作(附Demo)
  9. SVM入门(一)至(三)
  10. 《统计自然语言处理》(宗成庆)学习笔记(一)
  11. 图像增强——imhist、imcontour、imadjust、histeq、fspecial、imfilter、medfilt2
  12. dcdc升压计算器excel_DC-DC升降压芯片(MC34063A/33063)典型电路与元件参数在线计算_三贝计算网_23bei.com...
  13. Linux基本操作命令 实验
  14. 【干货】张小龙的30条产品法则
  15. SpringCloud 整合 Dubbo
  16. 永恒之蓝 ms17_010漏洞
  17. FFmpeg入门详解之121:颜色空间转换RGB和YUV的原理与实战
  18. 微信开放平台、公众平台、公众号和小程序开发【原创】
  19. SPU/SKU/商品
  20. aide打开html文件,AIDE Web(网页编辑器)

热门文章

  1. html里关于表单的一些操作代码
  2. wps excel 向下选中指定行数并填充根据公式计算好的数据
  3. [Matlab科学计算] 绘制B样条基函数
  4. 基于集成学习模型的估价预测(量化投资)
  5. RealSense D435i数据录制 VINS离线运行
  6. SVN学习:SVN的下载安装
  7. office+visio2016版本一同安装说明
  8. H5实现移动端,PC端页面分享
  9. 计算机屏幕坐标系转换,测量坐标系到计算机屏幕坐标系的换算
  10. 微信红包工具服务器,微信红包 是怎么扛住全球用户的!