shopify_我如何在Shopify实习

shopify

by Radu Raicea

由Radu Raicea

我如何在Shopify实习 (How I got an internship at Shopify)

The interview season for the 2018 summer internships is finally over. After over a month of interviews and tests at multiple companies, I will be joining Shopify as a Back-end Developer Intern.

2018年夏季实习的面试季节终于结束了。 在多个公司进行了一个多月的采访和测试后,我将作为后端开发人员实习生加入Shopify

In this article, I want to take you through my process for applying, preparing, and interviewing at Shopify. I also want to share with you some tips that I use when I apply and get interviewed for jobs.

在本文中,我想带您完成在Shopify的申请,准备和面试过程。 我还想与您分享一些我申请和面试工作时使用的技巧。

快速介绍 (Quick Intro)

I’m currently an undergraduate student at Concordia University in Montreal, Canada. I’m finishing the third year of my BEng in Software Engineering.

我目前是加拿大蒙特利尔Concordia大学的一名本科生。 我即将完成软件工程专业的三年级。

I’m also part of the COOP program, which requires me to complete three internships throughout my bachelor’s degree. My first two internships were at Ubisoft and Vigilant.

我也是COOP计划的一部分,该计划要求我在整个学士学位期间完成三个实习。 我最初的两次实习是在UbisoftVigilant

My last internship will take place this summer, and I will be working at Shopify in Montreal.

我的最后一次实习将在今年夏天进行,我将在蒙特利尔的Shopify工作。

什么是Shopify? (What is Shopify?)

Simply put, Shopify’s platform allows businesses and individuals to easily sell merchandise online.

简而言之,Shopify的平台使企业和个人可以轻松地在线销售商品。

Shopify guides you through the process of setting up a store front, managing your inventory, accepting various payment methods, and shipping. There’s even a point of sale (POS) system to use in-store!

Shopify会指导您完成设置店面,管理库存,接受各种付款方式以及运输的过程。 店内甚至还可以使用销售点(POS)系统!

As far as working at Shopify goes, they’ve won Glassdoor’s Best Place to Work in Canada 2017. They’re also known to have brilliant people in their respective industry.

就在Shopify上的工作而言,他们已经赢得了Glassdoor的2017年加拿大最佳工作场所 。 他们还以各自行业中的才华横溢而著称。

申请程序 (The Application Process)

Shopify has an unique recruitment process for interns, and that’s clear starting with the application process.

Shopify为实习生提供了独特的招聘流程,这很明显是从申请流程开始的。

To submit my application, I needed to complete three tasks.

要提交我的申请,我需要完成三个任务。

1.创建Shopify商店 (1. Creating a Shopify Store)

The first task was to create a fictional Shopify store. It was a way to familiarize myself with the platform and understand what merchants go through to create an online store front.

第一个任务是创建一个虚构的Shopify商店。 这是使自己熟悉该平台并了解商家创建在线商店所要经历的一种方法。

I created a Japanese Sweets and Pastries store. I wanted to make something that was a bit more original than a typical fashion, beauty, or electronics store.

我创建了一家日本甜点商店。 我想制作比典型的时尚,美容或电子产品商店更具原创性的产品。

I think that the secret for this step is to create a fictional story around your store. Then, the design of the store and its inventory should come naturally.

我认为此步骤的秘密在于在您的商店周围创建一个虚构的故事 。 然后,商店的设计及其库存应该自然而然地出现。

2.完成技术挑战 (2. Completing the Technical Challenge)

The Back-end Developer Intern position had a technical challenge associated with it.

后端开发人员实习生职位面临与此相关的技术挑战。

The challenge was to create a validator for a graph data structure. I decided to use Python to do it.

挑战是为图形数据结构创建一个验证器。 我决定使用Python来做到这一点。

I really liked how the challenge was linked to the Shopify platform (or at least it seemed to be), rather than being a meaningless algorithmic problem.

我真的很喜欢将挑战与Shopify平台联系在一起(或者至少看起来是这样),而不是一个毫无意义的算法问题。

I believe that for this part, it’s extremely important to make a simple solution. Since there are so many ways to solve the problem, it’s also crucial to make your solution intuitive and well documented. I made great use of Python docstrings to accomplish that.

我相信对于这一部分,制定一个简单的解决方案非常重要。 由于有很多方法可以解决问题,因此使您的解决方案直观有据可查也至关重要。 我充分利用了Python文档字符串来完成此任务。

Lastly, do not go further than the requirements of the problem if it means to make your solution more complex. It’ll only hurt you.

最后,如果这意味着使您的解决方案更加复杂, 请不要超出问题的要求。 只会伤害你

3.回答申请问题 (3. Answering the Application Questions)

The last step of the application process was answering some questions.

申请过程的最后一步是回答一些问题。

I wrote about the kind of work I’d like to do during the internship as well as how my experience was throughout the application process. I also wrote an idea for Hack Days (Shopify’s quarterly hackathon).

我写了我在实习期间想要做的工作以及我在整个申请过程中的经历。 我还为Hack Days(Shopify的季度hackathon)写了一个主意。

I put a lot of effort into answering those questions. As with any application, the amount of effort you put into it will clearly show how interested you are in working there.

我在回答这些问题上做了很多努力 。 与任何应用程序一样,您投入其中的工作量将清楚显示您对在那里工作的兴趣。

It’s also important to be honest about what you write and to show your passion through your answers.

诚实对待所写内容并通过回答显示自己的 热情也很重要。

For the Hack Days idea, try to think of something that could have improved your life at work during your previous internships and experiences. Think about aspects other than work itself. Make it fun!

对于Hack Days的想法,请尝试一些可以改善您以前的实习和经验的工作环境的事情。 考虑工作以外的其他方面。 让它变得有趣!

面试过程 (The Interview Process)

After waiting a few weeks, I received an e-mail to start the interview process!

等待了几周后,我收到了一封电子邮件,开始了采访过程!

My interview process was split into two parts: a life story video call and an onsite technical interview.

我的采访过程分为两个部分:一个生活故事视频通话和一次现场技术采访。

生活故事 (Life Story)

My life story video call lasted about 45 minutes and was with a recruiter from the Talent Acquisition team.

我的人生故事视频通话持续了大约45分钟,是与人才招聘团队的一名招聘人员一起进行的。

From my understanding, the purpose of the life story is for the recruiter to know you on a more personal level. They want to know what your resume doesn’t say. I talked about topics like my travels, interests, hobbies, past experiences (nothing technical), and how I developed my passion for programming.

根据我的理解,生活故事的目的是使招聘人员更个人地了解您。 他们想知道您的简历没有说什么。 我谈到了一些话题,例如我的旅行,兴趣,爱好,过去的经验(无技术经验)以及如何发展对编程的热情。

This was one of my favorite parts of the process. It was very casual and it just felt like meeting someone new and sharing your, well, life story!

这是我最喜欢的过程之一。 那是非常随意的,感觉就像是结识新朋友并分享您的生活故事!

While there was nothing to prepare for in this part of the interview process, I made a list of all the different topics I wanted to talk about. I kept it on my screen to make sure I didn’t forget to mention anything I deemed important.

尽管在采访过程的这一部分没有任何准备,但我列出了我想谈的所有不同主题。 我将其保留在屏幕上,以确保我不会忘记提及我认为重要的任何内容。

I think the most important elements during the life story are to be honest, stay casual, and actually know your life story. View it as a conversation!

我认为生活故事中最重要的元素是诚实 ,保持随意 ,并真正了解您的生活故事 。 将其视为对话!

现场技术 (Onsite Technical)

A couple weeks later, I received an e-mail to schedule my onsite interview. It was going to be split into two parts: a personal project analysis and a technical problem. I was going to be interviewed by two developers.

几周后,我收到了一封电子邮件,安排了我的现场采访。 它将分为两个部分:个人项目分析和技术问题。 我将要接受两位开发人员的采访。

For the first part, I needed to bring in a project in which I’d done a significant amount of work on.

在第一部分中,我需要引入一个项目,在该项目中我做了很多工作。

At that time, I was planning to start a project to fix a problem I was having in my everyday life: spending too much money on food from restaurants.

当时,我正计划启动一个项目来解决我的日常生活中遇到的一个问题:在餐馆的食物上花太多钱。

I wanted to create an Alexa app on my Amazon Echo that’s aware of the ingredients I currently have and suggests recipes based on what I have in stock. It was the perfect opportunity to hit two birds with one stone.

我想在我的Amazon Echo上创建一个Alexa应用程序,该应用程序知道我当前拥有的成分,并根据我的库存量提出食谱。 这是用一块石头打两只鸟的绝好机会。

However, I wanted to hit a third bird too. I’d wanted to learn Ruby on Rails for a very long time. Since Shopify’s platform is built on Rails, I thought it’d be a great idea to use Rails to make my Alexa app.

但是,我也想打第三只鸟。 我想学习Ruby on Rails很长时间了。 由于Shopify的平台是基于Rails构建的,所以我认为使用Rails制作我的Alexa应用程序是一个好主意。

I quickly did the SoloLearn Ruby Course and learned the basics of Ruby on Rails from the official Getting Started Guide.

我很快完成了SoloLearn Ruby课程,并从官方的《 入门指南》中学习了Ruby on Rails的基础知识。

Then, I used my newly learned knowledge to make Alexa Fridge!

然后,我用新学到的知识制作了Alexa Fridge

During this part of the interview, I was asked to present my project from every aspect. I went through the code and showed how I implemented various elements. I was also questioned on my design decisions.

在采访的这一部分中,我被要求从各个方面介绍我的项目。 我遍历了代码,并展示了如何实现各种元素。 我的设计决策也受到了质疑。

It goes without saying, but you should really know your project inside and out to be able to answer any question about it. It can help to prepare some documentation beforehand (especially diagrams) to show different aspects like your infrastructure, database schema, or how an API you used works.

不用说,但是您应该真正地了解您的项目 ,以便能够回答有关该项目的任何问题。 它可以帮助预先准备一些文档(尤其是图表),以显示不同的方面,例如基础结构,数据库架构或您使用的API的工作方式。

For example, I brought this diagram to show how my server communicates with my Amazon Echo:

例如,我带来了此图以显示服务器如何与我的Amazon Echo通信:

I think it’s also beneficial if you’re able to bring a project that you can demo. It’s hard to grasp the significance of your work if you can’t show the result.

我认为,如果您能够提出一个可以演示的项目,那也是有好处的。 如果您无法显示结果,则很难把握工作的重要性。

For the second part of my onsite interview, I needed to solve a technical problem.

在现场采访的第二部分中,我需要解决一个技术问题。

I was told beforehand that this would not be an algorithm to write on a whiteboard (yay!). Instead, it was a problem that I needed to make design decisions to solve.

事先被告知,这不是在白板上写的算法(是的!)。 相反,这是我需要制定设计决策来解决的问题。

For this part, I really recommend learning more about system design. You should have an idea of how to organize web and mobile applications, how to design a database schema, how to authenticate, and so on.

对于这一部分,我真的建议您学习更多有关系统设计的知识 。 您应该对如何组织Web和移动应用程序,如何设计数据库架构,如何进行身份验证等有所了解。

Some of these topics are learned during a Software Engineering degree, but some others are not. I recommend checking Hired In Tech’s System Design training camp and High Scalability. Both are excellent sources to learn about system design and to see how big companies architect their applications. Pay close attention to the trade-offs that come with every design decision.

其中一些主题是在软件工程学位期间学习的,而其他一些则不是。 我建议检查Hired In Tech的系统设计培训营High Scalability 。 两者都是了解系统设计和了解大公司如何构建其应用程序的绝佳资源。 密切注意每个设计决策中的权衡取舍。

When you work on system design problems, make sure that you always clearly state your assumptions and understand the requirements.

处理系统设计问题时,请确保始终清楚陈述您的假设理解要求

Also, don’t be shy to ask questions if you need to! You have two developers in the room with you, and you’re allowed to get some help from time to time. It’s as important to ask the right questions as it is to answer them (you have Google for that anyway).

另外,如果需要,不要害羞地问问题! 您在会议室中有两个开发人员,并且可以不时获得一些帮助。 提出正确的问题与回答问题一样重要(无论如何,您都可以使用Google)。

Lastly, always think out loud. It’s very important for interviewers to know how you think.

最后,请务必大声思考 对于面试官来说,了解您的想法非常重要。

I try to think out loud as much as possible during these kinds of problems, even if my train of thought is wrong. However, if it is wrong, it’s important that I realize it and correct myself.

即使我的思路是错误的,在出现此类问题时,我也会尽力思考。 但是,如果错了,重要的是我要意识到这一点并纠正自己。

报价 (The Offer)

About a week later, Shopify contacted me with an offer and I accepted it!

大约一周后,Shopify与我联系并提供了报价,我接受了!

外卖 (Takeaways)

I really enjoyed the uniqueness of both the application and the interview process. It allowed me to showcase more than just my technical skills!

我真的很喜欢申请和面试过程的独特性。 它使我不仅可以展示自己的技术技能,还可以展示更多!

Here’s a summary of the tips I shared throughout the article:

这是我在本文中分享的提示的摘要:

  • Put yourself in a merchant’s shoes when creating the online store, and immerse yourself in their fictional story

    在创建在线商店时,将自己放在商人的鞋子上,并沉浸在他们虚构的故事中
  • When doing the technical challenge, look for simplicity and document it well

    在进行技术挑战时,请寻求简单性并做好记录
  • When writing your answers for the application questions, put in a lot of effort, be honest, and show your passion

    在撰写关于应用程序问题的答案时,请付出很多努力,诚实并表现出您的热情
  • During the life story, be yourself and know your life story

    在人生故事中,做个自己,了解自己的人生故事
  • For the onsite, bring a project that you know well, and know why you designed it the way you did

    对于现场而言,请带来一个您熟悉的项目,并知道为什么要按自己的方式设计它
  • For the technical problem, state your assumptions and requirements, and think out loud

    对于技术问题,请陈述您的假设和要求,并大声思考

Thank you for reading my article!

感谢您阅读我的文章!

For more updates, follow me on Twitter.

有关更多更新,请在Twitter上关注我。

翻译自: https://www.freecodecamp.org/news/how-i-got-an-internship-at-shopify-432cbe8da58a/

shopify

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值