软件技术实习
by Michael Deng
邓小平
Seven semesters ago, I started college with no programming background. The only thing I had was lofty aspirations of working in tech.
七个学期前,我开始上大学时没有编程背景。 我唯一拥有的是从事技术工作的崇高愿望。
When recruiting season first rolled around, I applied to a bunch of companies. I got a few callbacks, but that’s it. No follow-ups. No onsite interviews. Nothing.
招聘季节刚开始时,我申请了很多公司。 我收到了一些回调,仅此而已。 没有后续行动。 没有现场采访。 没有。
I kept trying. I applied to over 150 companies. I faced dozens of interviews.
我一直在努力。 我申请了150多家公司。 我面对了数十次面试。
I failed way more than I succeeded. But that’s all right. Because those failures made my moments of triumph all the more memorable.
我失败的方式比成功更多。 没关系。 因为这些失败使我的胜利时刻更加令人难忘。
Along the way, I met helpful mentors and guided ambitious mentees. These people are now working at places like Airbnb, Facebook, Google, SpaceX, and Snap.
在此过程中,我遇到了乐于助人的导师和有野心的导师。 这些人现在在Airbnb,Facebook,Google,SpaceX和Snap等地方工作。
As for me, I landed an internship at Uber last summer. And I’m on track to accept a full-time job at one of my favorite companies when I graduate.
至于我,去年夏天我在Uber实习。 当我毕业时,我有望在我最喜欢的公司之一接受全职工作。
Now that I’m in my final year of school, I want to share everything I’ve learned over the years. This isn’t meant to be the ultimate handbook. It’s only a modest guide born out of my love of helping others reach their goals (and my love of Legos).
既然我已经进入了学业的最后一年,我想分享一下我多年来学到的一切。 这并不是最终的手册。 这只是一个谦虚的指导,是出于我对帮助他人实现目标(以及我对Legos的热爱)的热爱。
By the end of this article, you’ll know everything I wish I had known when I first started sending in applications.
到本文结尾,您将了解我刚开始发送应用程序时希望了解的一切。
Don’t let your struggle for the perfect job take over your life. School is a time of self-discovery and all-around personal growth. So go out there and meet people who are doing different things. Join diverse student organizations and take part in activities outside your comfort zone.
不要为了完美的工作而奋斗接替您的生活。 学校是一个自我发现和全面个人成长的时期。 因此,出去见到正在做不同事情的人。 加入各种学生组织,并在您的舒适区之外参加活动。
It’s all too easy to associate your self-worth with how prestigious of a job you can get. But remember: there are so many more important things in life than work.
将自己的自我价值与所获得的工作的声望联系起来非常容易。 但是请记住:生活中有很多重要的事情比工作要重要。
My best memories of college aren’t spending weeks on end prepping for interviews or even getting offer phone calls. They’re exploring San Francisco for the first time with my closest friends. They’re playing volleyball with my hilarious teammates. I value these unique experiences I shared with people I love much more than any job.
我对大学的最美好回忆不是花数周的时间为面试做准备,甚至没有接到求职电话。 他们第一次与我最亲密的朋友一起探索旧金山。 他们正在和我热闹的队友打排球。 我珍视与我所爱的人分享的独特经历,这比任何工作都重要。
To paraphrase my favorite quote by Twitter and Medium founder Ev Williams: “Failure of your [work] is not failure in life. Failure in your relationships is.” Don’t lose sight of what’s important.
用推特和中型创始人Ev Williams的话来形容我最喜欢的一句话: “ [工作]失败并不是生活中的失败。 你的人际关系失败了。” 不要忽略重要的内容。
It’s also no coincidence that everyone I know with a strong support system eventually found success. When you fall into a slump — and all of us do — you need your friends to be there for you. I would never have made it through my first year without amazing friends who kept me afloat.
我认识的每个人都拥有强大的支持系统,最终都取得了成功,这也不是巧合。 当您陷入萧条时-我们所有人都会这样做-您需要您的朋友为您服务。 如果没有出色的朋友让我永生,我将永远不会在第一年就做到这一点。
Now, let’s get started. You pumped? I’m pumped!
现在,让我们开始吧。 你抽了吗? 我被抽了!
Before we get to the good stuff, you need to build solid fundamentals. Seems obvious? Absolutely. But this is the hardest step of this guide, so listen up.
在我们掌握好东西之前,您需要构建坚实的基础。 似乎很明显? 绝对。 但是,这是本指南中最难的步骤,因此请注意。
Now, this guide is designed for college students, so if you’re in high school, scram! Just kidding. In fact, I admire your initiative. When I was in high school, I didn’t have the faintest idea what I wanted to do.
现在,本指南是为大学生设计的,因此,如果您正在上高中,那就赶紧学习吧! 开玩笑。 实际上,我很佩服您的主动性。 当我上高中时,我不知道自己想做什么。
Leading up to college, your top priority should be solidifying your math skills. Computer science relies heavily on mathematic concepts like probability, logic, and number theory. Without math, you’re not going to get far in hard weeder classes and technical interviews.
上大学之前,您的头等大事应该是巩固您的数学技能。 计算机科学在很大程度上依赖于数学概念,例如概率,逻辑和数论。 如果没有数学知识,您将无法参加艰苦的除草课程和技术面试。
If you’re already proficient in math, keep reading. Most of this guide is just as applicable to you as it is to college students. Skip to the online classes section below and progress through the rest of this guide. Landing an internship as a high schooler is challenging, but certainly not impossible.
如果您已经精通数学,请继续阅读。 本指南的大部分内容与大学生一样适用于您。 跳到下面的在线课程部分,并逐步完成本指南的其余部分。 以高中生的身份进行实习是一项挑战,但当然并非不可能。
OK. Back to college students.
好。 回到大学生。
Building fundamentals starts with your intro programming classes. Pay attention and master the basics. A popular but misguided notion is “GPA doesn’t matter.” Although it’s true that most companies won’t scrutinize your GPA, any gaps in your fundamental knowledge will come back to bite you later. By getting a decent GPA, you’re also most likely getting a grasp of the basics.
基础构建从介绍性编程类开始。 注意并掌握基础知识。 流行但被误导的概念是“ GPA无关紧要”。 虽然确实大多数公司不会审查您的GPA,但是您的基础知识上的任何差距都会在以后被您咬伤。 通过获得不错的GPA,您也很有可能掌握基本知识。
Your classes will cover a lot of basic knowledge, but they’ll barely scratch the surface of modern technology. Go explore interesting topics around the core concepts taught in class. This is how you gain a breadth of knowledge and come up with future project ideas.
您的课程将涵盖许多基础知识,但它们几乎不会触及现代技术的表面。 围绕课堂上讲授的核心概念探索有趣的主题。 这是您获得知识广度并提出未来项目构想的方式。
I have friends who changed their minds and started CS their Junior year. They still graduated on time with great job offers, so you’re not too late at all. This said, you will need to make sacrifices and take extra classes every semester.
我有一些朋友改变了主意,并在大三开始了CS。 他们仍然按时毕业,并提供了不错的工作机会,因此您一点也不迟。 也就是说,每学期您需要做出牺牲并参加额外的课程。
If you’re not able to take CS classes in college, there are plenty of awesome online resources to help you out.
如果您无法在大学上CS课程,那么有很多很棒的在线资源可以帮助您。
Two of the best online intro courses are Harvard CS50x on edX and CS101 on Udacity. After this intro, you need to master data structures and algorithms. I recommend Princeton Algorithms Part 1 and Part 2 on Coursera, or CS61B by UC Berkeley.
最好的两个在线入门课程是edX上的哈佛CS50x和Udacity 上 CS101 。 在完成本介绍之后,您需要掌握数据结构和算法。 我建议使用Coursera的Princeton算法第1部分和第2部分 ,或UC Berkeley的CS61B 。
To make sure you’re on track, reference Google’s Technical Development Guide.
为确保您按时进行,请参考Google的技术开发指南 。
A few weeks into my first semester, I was completely overwhelmed. I spent days studying concepts that took other students hours to grasp. I thought about giving up every week. “How am I ever going to catch up to those prodigies?”
第一个学期的几周后,我完全不知所措。 我花了几天时间研究一些其他学生要花些时间才能掌握的概念。 我考虑过每周放弃。 “我怎么会追赶那些神童?”
But if you ask me or any of my friends who made it through, we’ll all tell you the same thing: Learning to program isn’t about how talented you are or how early you started coding. It’s about perseverance.
但是,如果您问我或我的任何一位取得成功的朋友,我们都会告诉您同样的事情: 学习编程并不关乎您的才华或开始编码的时间。 这是关于毅力的。
Building up your programming intuition takes a long time — much like learning a human language. You won’t see the light at the end of the tunnel for a long time. But trust me. If you take one step at a time, you will eventually get there.
建立编程直觉需要很长时间-就像学习人类语言一样。 您将在很长一段时间内看不到隧道尽头的灯光。 但是请相信我。 如果一次迈出一步,您最终将到达那里。
Staying motivated is difficult, but there’s a secret.
保持动力很难,但是有一个秘密。
Make it your goal to get better at a skill rather than achieve a certain result. Dr. Heidi Grant Halvorson did a study where she asked two groups of people to solve various problems. The first group was told to score as high as they could. The second group was told to treat the problems as a learning opportunity.
使您的目标变得更好,而不是达到一定的结果。 Heidi Grant Halvorson博士进行了一项研究,她让两组人解决各种问题。 第一组被告知得分最高。 第二组被告知将问题视为学习机会。
The results were surprising. The first group got frustrated, whereas the second group persisted and solved more problems.
结果令人惊讶。 第一组感到沮丧,而第二组坚持并解决了更多问题。
By focusing on mastery, you view obstacles and time pressure as things that will help you grow. In contrast, a result-oriented mindset frames problems as irritating roadblocks impeding your way.
通过专注于掌握,您会将障碍和时间压力视为可以帮助您成长的事物。 相反,以结果为导向的思维定势将问题视为刺激您的道路的障碍。
What’s more, you’ll see continual progress if you concentrate on mastery. Every time you read a new paragraph or solve a new question, you’re improving your skills. This kind of continuous gratification is incredibly satisfying.
更重要的是,如果您专注于精通,就会看到持续的进步。 每次阅读新段落或解决新问题时,您都在提高自己的技能。 这种持续的满足感令人难以置信。
So next time you’re studying for class or practicing for interviews, focus on getting better instead of acing the exam or landing the offer.
因此,下次您要上课学习或练习面试时,请专注于变得更好,而不是强迫考试或着手录取。
You can read more about this tactic in Edmond Lau’s Quora post.
您可以在Edmond Lau的Quora帖子中了解有关此策略的更多信息 。
This goes beyond sounding smart during recruiting. By paying attention to the industry, you’ll be the first to discover new opportunities to propel your career forward.
在招聘过程中,这听起来并不明智。 通过关注这个行业,您将成为第一个发现新机会以推动您的职业发展的人。
For online reading, check out TechCrunch, Techmeme, Product Hunt, and Hacker News. If you’re a frequent Twitter user, follow tech news sources. On Medium and Quora, personalize your feeds to get insightful takes on the industry.
对于在线阅读,请查阅TechCrunch , Techmeme , Product Hunt和Hacker News 。 如果您经常使用Twitter,请关注技术新闻来源。 在Medium和Quora上 ,个性化您的Feed,以深入了解该行业。
If you’re into email newsletters, look into Axios Pro Rata, CB Insights, and Mattermark Daily.
如果您关注电子邮件通讯,请查看Axios Pro Rata , CB Insights和Mattermark Daily 。
To do a deep dive on a particular company, use Crunchbase and the company’s blog. You can also learn about the company’s culture from Glassdoor.
要深入了解特定公司,请使用Crunchbase和该公司的博客。 您还可以从Glassdoor了解公司的文化。
Finally, don’t forget to actually talk to people. I learned so much about the tech world from casual conversations with friends and classmates.
最后,别忘了与人交谈。 通过与朋友和同学的随意交谈,我对科技界学到了很多。
Over time, you’ll read about a lot of interesting companies. Begin compiling a spreadsheet of companies you’re interested in from day 1. When you apply to these companies in the future, use this spreadsheet to track your progress.
随着时间的流逝,您将了解到许多有趣的公司。 从第一天开始,开始编制您感兴趣的公司的电子表格。将来当您向这些公司提出申请时,请使用该电子表格来跟踪您的进度。
Once you have the fundamentals down, it’s time to apply your skills. One of the best ways to do that is by…
一旦掌握了基础知识,就该开始运用技能了。 最好的方法之一是通过…
If you’re like me, you don’t have much experience to begin with, and that’s OK! The first step is populating that empty resume with projects.
如果您像我一样,那么您就没有太多经验,那就可以了! 第一步是用项目填充空简历。
When I first decided to work on a project, I had decision paralysis for days. “What should I make? What if it’s not original? What if people don’t like it?”
当我第一次决定从事一个项目时,我瘫痪了好几天。 “我该怎么办? 如果不是原始的怎么办? 如果人们不喜欢怎么办?”
Later, I realized it doesn’t really matter what the project is. Learning something and finishing what you start is much more important. But this doesn’t mean you can make whatever you want. If your project is too trivial, you won’t impress any recruiters. If yourq project is too complex, you’ll lose momentum before completing it.
后来,我意识到该项目是什么并不重要。 学习一些东西并完成您的开始非常重要。 但这并不意味着您可以做任何您想做的事情。 如果您的项目太琐碎,您将不会给招聘人员留下深刻的印象。 如果您的项目太复杂,则在完成之前会失去动力。
Aim to do a project you think you can complete in one to two months. The project should involve data structures, algorithms, and design decisions. And do something you’re interested in so you’ll actually take it all the way to completion.
打算做一个您认为可以在一到两个月内完成的项目。 该项目应涉及数据结构,算法和设计决策。 并做您感兴趣的事情,这样您就可以一路走到完成。
Here’s a compilation of project ideas on Reddit for inspiration.
这是 Reddit上项目构想的灵感来源。
After coming up with an idea, take some time to plan, but don’t take too long. You want to start as soon as possible. Now, you might be wondering “Isn’t it irresponsible to jump in prematurely?”
提出想法后,请花一些时间计划,但不要花太长时间。 您想尽快开始。 现在,您可能想知道“过早跳入是否不负责任?”
Generally, yes. But personal projects are different from company projects. Personal projects should teach you something new and strengthen your background during recruiting. Unlike company projects, you don’t need to obsess over design and code quality.
通常,是的。 但是个人项目与公司项目不同。 个人项目应该教会您一些新知识,并在招聘过程中巩固您的背景。 与公司项目不同,您无需沉迷于设计和代码质量。
If you’re feeling stuck at the beginning, write down some code — any code. Building a personal project is like writing, you just start. Don’t worry if it doesn’t make sense. Seeing code in an editor will get your juices flowing.
如果您一开始就感到困惑,请写下一些代码-任何代码。 建立个人项目就像写作一样,您只是开始。 如果这没有道理,请不要担心。 在编辑器中查看代码将使您如虎添翼。
Track your project with version control. If you don’t know what that is, make a Github account and learn how to use Git. You need Github as it’s the primary way you save and display your projects.
使用版本控制跟踪您的项目。 如果您不知道这是什么,请注册一个Github帐户并学习如何使用Git 。 您需要Github,因为它是保存和显示项目的主要方式。
If you can, make your project live so recruiters can play with it. Most recruiters won’t inspect your code, so a live demo is the best way to show off your project.
如果可以,请使您的项目生效,以便招聘人员可以参与其中。 大多数招聘人员不会检查您的代码,因此,进行实时演示是炫耀您的项目的最佳方法。
Aim to complete three to five projects by the time you start applying.
力争在开始申请时完成三到五个项目。
You learn the basics of web development and get your own space on the internet to display your work.
您将学习Web开发的基础知识,并在Internet上拥有自己的空间来展示您的作品。
Codecademy has two excellent tutorials on building websites:
Codecademy在构建网站方面有两个出色的教程:
Make a Website teaches you the basics of HTML, CSS, and Bootstrap.
“制作网站”可以教您HTML,CSS和Bootstrap的基础知识。
Deploy a Website teaches you how to put your website on the internet. Step 3 of this tutorial isn’t necessary, just use the free .github.io domain.
部署网站可以教您如何将网站放置在互联网上。 本教程的第3步不是必需的,只需使用免费的.github.io域。
Too easy? Convert your personal website into a dynamic blog. To do this, you need to learn a web development framework like Rails or Django. Check out the Ruby on Rails Tutorial or The Django Girls Guide.
太容易了? 将您的个人网站转换为动态博客。 为此,您需要学习一个Web开发框架,例如Rails或Django。 查看Ruby on Rails教程或Django Girls Guide 。
The Muse and Awwwards have examples of personal websites if you need design inspiration. Also, you have to check out this wicked personal website.
如果您需要设计灵感,则Muse和Awwwards都有一些个人网站的示例。 此外,您还必须查看这个邪恶的个人网站 。
Schools and organizations around the world host hackathons, which are project-building competitions lasting several days. In this short span of time, you’ll learn a lot, come up with unique ideas, and meet interesting people.
世界各地的学校和组织都举办黑客马拉松,这是为期数天的项目建设竞赛。 在这短时间内,您将学到很多东西,提出独特的想法,并结识有趣的人。
Many hackathons reimburse travel, so there’s no excuse not to go. Use Hackalist or Hackevents to discover upcoming ones.
许多黑客马拉松报销了旅行费用,因此没有任何借口不去。 使用Hackalist或Hackevents发现即将发生的事件。
Some of the top North American hackathons I know of are PennApps, HackMIT, HackNY, MHacks, HackTech, HackIllinois, CalHacks, TreeHacks, Hack the North, YC Hacks, and Greylock Techfair.
我知道的一些北美顶级黑客马拉松是PennApps,HackMIT,HackNY,MHacks,HackTech,HackIllinois,CalHacks,TreeHacks,Hack the North,YC Hacks和Greylock Techfair。
Working on open source is an awesome way to add value to meaningful projects. Plus, you learn a lot from seeing code written by more experienced engineers.
在开源上工作是一种为有意义的项目增加价值的好方法。 另外,您可以通过查看更有经验的工程师编写的代码中学到很多东西。
Jumping into open source for the first time can be intimidating. Two good entry points are Google Summer of Code and Sayan Chowdhury’s article on open source for beginners. Github also just released their very own open source guide. Find a cool project and dive in. You’ll get the hang of it soon enough.
初次进入开源可能会令人生畏。 两个不错的切入点是Google Summer of Code和Sayan Chowdhury的针对初学者的开源文章 。 Github也刚刚发布了他们自己的开源指南 。 找到一个很棒的项目并潜入。您将很快掌握其中的窍门。
If your school has a student research program, great! Apply asap. If it doesn’t have one, look up what research your professors are doing. If their work seems interesting, email them and ask if you can contribute. You’d be surprised at how receptive they are to eager undergrads.
如果您的学校有学生研究计划,那就太好了! 尽快申请。 如果没有,请查找您的教授正在进行的研究。 如果他们的工作看起来有趣,请给他们发送电子邮件,并询问您是否可以提供帮助。 您会对他们渴望本科生的接受能力感到惊讶。
In the future, you can even ask your team to refer you to cutting-edge companies. Keep in mind research belongs under Experience rather than Projects on your resume.
将来,您甚至可以要求您的团队将您推荐给尖端公司。 请记住,简历属于经验而非简历上的项目。
One complaint I hear frequently is “I don’t have time to do side projects while taking classes.” I’m personally guilty of saying that from time to time.
我经常听到的一个抱怨是“上课时我没有时间做附带项目。” 我个人有时会这样说。
It’s tough to set aside time for projects because, unlike school, you’re not held accountable by deadlines and exams. After a day of studying, it’s tempting to choose social media or video games over your project. But if you keep putting it off, the semester will be over before you know it.
很难为项目预留时间,因为与学校不同,您不必对截止日期和考试负责。 经过一天的学习,在您的项目中选择社交媒体或视频游戏是很诱人的。 但是,如果您继续推迟,那么这个学期将在您不知道的情况下结束。
To combat procrastination, force yourself to work on your project a little bit every day. Even if it’s just 15 minutes, you’ll form a habit of making continual progress.
为了避免拖延,每天强迫自己进行一些项目。 即使只有15分钟,您也会养成不断进步的习惯。
This is also why hackathons and research projects are so great. They impose external deadlines and expectations so you can’t drag your heels.
这也是黑客马拉松和研究项目如此出色的原因。 他们强加了外部截止日期和期望,因此您不能drag脚。
Now that you have some experience, you need to put it somewhere.
现在您已经有了一些经验,您需要将其放到某个地方。
Writing a resume might seem pretty straightforward, but there are lots of nuances. After all, it’s the first thing recruiters will read about you. It’s crucial to make a good first impression.
撰写简历似乎很简单,但是有很多细微差别。 毕竟,这是招聘人员首先要了解的关于您的信息。 留下良好的第一印象至关重要。
…And you need to make that impression fast. Recruiters spend an average of six seconds reviewing a resume. You heard that right. Six seconds.
…并且您需要快速给人留下深刻的印象。 招聘人员平均花费6秒钟来审核简历。 你没听错 六秒钟
Almost all that time is spent on your name, companies, job titles, start/end dates, school, major, and project titles. Everything on your resume should be tailored towards helping recruiters find these key pieces of info as fast as possible.
几乎所有时间都花在您的姓名,公司,职称,开始/结束日期,学校,专业和项目职称上。 简历上的所有内容都应量身定制,以帮助招聘人员尽快找到这些关键信息。
Here are some important guidelines.
这是一些重要的准则。
Easy to scan:
易于扫描:
Highlight the key points:
突出重点:
Cut the fat:
减少脂肪:
Descriptions should say something tangible. “Exceptional team player” doesn’t work. “Increased user conversion rates by 20%” does.
说明中应说明有形。 “杰出的团队合作者”无效。 “将用户转换率提高了20%” 。
Don’t neglect the details:
不要忽略细节:
For more tips, read this.
有关更多提示,请阅读此 。
After finishing your resume, have your peers review it. Ask them to be honest and harsh. My first draft was awful compared to my tenth draft.
完成您的简历后,请您的同行对其进行审核。 要求他们诚实和苛刻。 与第十稿相比,我的第一稿很糟糕。
Standard Resume and CakeResume are two outstanding tools that make it a breeze to generate a handsome resume.
标准简历和CakeResume是两个出色的工具,可以轻松生成一份精美的简历。
LinkedIn enables recruiters to find you and helps you maintain your professional network. Plus, you need it for the cold-emailing recruiters later.
LinkedIn使招聘人员可以找到您,并帮助您维护专业网络。 另外,以后需要招聘人才的人也需要它。
With a few projects under your belt and resume in hand, you’re ready to begin preparing for interviews.
掌握了一些项目并准备好简历后,您就可以开始准备面试了。
Interview problems can be separated into two buckets, behavioral questions and technical questions. You need to start practicing both at least two months before applying. Since recruiting season kicks off in August/September, summer break is a good time to begin.
面试问题可以分为行为问题和技术问题两个部分。 您需要至少两个月同时开始练习。 由于征聘季节在8月/ 9月开始,因此暑假是个开始的好时机。
The purpose of behavioral questions are to find out more about your background and if you actually did what you said on your resume. Don’t take the behavioral interview lightly. A poor performance can sink your chances of getting the offer.
行为问题的目的是了解有关您的背景的更多信息,以及您是否确实做了简历中所说的。 不要掉以轻心地进行行为面试。 表现不佳会降低您获得报价的机会。
To ace behavioral questions, you need a strong answer to “Tell me about yourself” and three stories to handle all other questions.
要解决行为问题,您需要一个有力的答案“告诉我自己”,以及三个故事来处理所有其他问题。
Don’t make the cardinal mistake of regurgitating your resume. Instead, tell a story.
不要犯反覆简历的主要错误。 相反,讲一个故事。
Capture the attention of the interviewer with a strong introduction. Then, transition into a commentary about your key projects and experiences. Don’t prattle on about the details — keep it simple and emphasize the outcomes. Finally, explain why you’re interested in the position.
通过强有力的介绍来吸引面试官的注意力。 然后,过渡到有关您的关键项目和经验的评论。 不要对细节之以鼻,保持简单并强调结果。 最后,说明您对这个职位感兴趣的原因。
It’s tempting to talk about every single thing you did, but you’ll lose your interviewer. Keep it concise. Your answer should be one to two minutes long.
谈论您所做的每件事都是很诱人的,但是您会失去面试官的能力。 保持简洁。 您的答案应该是一到两分钟。
Typically, you’ll be asked to give examples of leadership, overcoming a challenge, or failure. Each of your three stories should show at least one of these themes.
通常,系统会要求您提供领导力,克服挑战或失败的例子。 您的三个故事中的每个故事都应显示至少一个主题。
A story needs an initial summary, a problem, three to five action steps, and a final outcome. Here’s an example.
一个故事需要一个初步的总结,一个问题,三到五个行动步骤以及最后的结果。 这是一个例子。
Summary: Lead an unmotivated team to complete CS project
简介:带领一个没有动力的团队完成CS项目
Problem: Two team members didn’t do their work and wanted to drop CS
问题:两名团队成员没有做他们的工作,想放弃CS
Action 1: Talked to them one-on-one to understand why they’re studying CS Action 2: Told them although it’s tough now, they can succeed if they work hard
行动1:一对一地与他们交谈,以了解他们为什么学习CS行动2:告诉他们尽管现在很艰难,但只要努力工作,他们就能成功
Action 3: Emphasized that they’re invaluable to the rest of the team
行动3:强调他们对团队其他成员的价值
Action 4: Used google calendar to plan meetings and Trello to track progress
行动4:使用Google日历计划会议,并使用Trello跟踪进度
Action 5: Held social events to bring the team closer
动作5:举行社交活动,使团队更紧密
This story can be used to answer any question about leadership or overcoming a challenge. Now go think of your own!
这个故事可以用来回答有关领导力或克服挑战的任何问题。 现在去想想你自己的!
Not all your stories have to be about tech. For example, I always talk about how I helped my volleyball team overcome defeat.
并非您所有的故事都必须与技术有关。 例如,我总是谈论我如何帮助排球队克服失败。
With this, you should be able to pass any behavioral interview. To learn more, read the Behavioral Questions section in Cracking the Coding Interview.
这样,您应该能够通过任何行为面试。 要了解更多信息,请阅读“ 破解编码面试”中的“行为问题”部分。
Technical questions are the essence of the tech interviewing process. Here’s a list of topics you need to know to pass technical interviews. To master these topics, use the following four resources:
技术问题是技术面试过程的关键。 这是通过技术面试需要了解的主题列表 。 要掌握这些主题,请使用以下四个资源:
Cracking the Coding Interview (~2 months before applying)
破解编码面试 (申请前约2个月)
LeetCode (~1 month before applying)
LeetCode (申请前约1个月)
Glassdoor (~2 days before interviewing)
Glassdoor (面试前约2天)
Gayle Laakmann McDowell’s Cracking the Coding Interview is the quintessential tech recruiting manual. First, read the Technical Questions section. Take notes to help you remember the main ideas.
Gayle Laakmann McDowell的 《 Cracking the Coding Interview》是典型的技术招聘手册。 首先,阅读技术问题部分。 做笔记以帮助您记住主要思想。
As for practice questions, concentrate on the Arrays and Strings, Linked Lists, Stacks and Queues, Trees and Graphs, Objected-Oriented Design, Recursion, and Sorting sections.
至于练习问题,请集中讨论“数组和字符串”,“链接列表”,“堆栈和队列”,“树和图”,“面向对象的设计”,“递归”和“排序”部分。
Also, familiarize yourself with the Bit Manipulation, Scalability, Databases, and Threads and Locks sections.
另外,熟悉“位操作”,“可伸缩性”,“数据库”以及“线程和锁”部分。
If you’re having trouble with any of the topics, study the first couple pages of that section. They contain a short and sweet explanation of the topic.
如果您在任何主题上都遇到麻烦,请研究该部分的前几页。 它们包含对该主题的简短而优美的解释。
Attempt each question for at least 30 minutes before looking at the solution. After reading the solution, you should still implement it and test it on your own. Otherwise, you won’t fully understand the logic.
在查看解决方案之前,尝试每个问题至少30分钟。 阅读解决方案后,您仍应实施并自行测试。 否则,您将无法完全理解其逻辑。
Finishing CtCI should take three to four weeks of dedicated effort.
完成CtCI应该花费三到四个星期的专心工作。
It has a huge list of problems ranked by difficulty. Each problem has its own tests, time complexity requirements, and solutions.
它具有按难度排列的大量问题列表。 每个问题都有其自己的测试,时间复杂度要求和解决方案。
Aim to complete 30 to 50 questions and be comfortable with medium level questions before you start applying. If you do just three a day, you can finish 42 in two weeks.
在您开始申请之前,力争完成30到50个问题,并熟悉中等水平的问题。 如果您一天只做3次,则可以在两周内完成42次。
It’s easy to get frustrated by Leetcode at first. In the beginning, I couldn’t solve a single easy problem. I improved over time, but I still get stuck frequently on medium and hard level problems. The good thing is interviews are different from Leetcode. In an interview, you get hints if you’re stuck. Plus, deducing the correct logic is more important than writing runnable code.
首先,很容易被Leetcode感到沮丧。 一开始,我无法解决一个简单的问题。 随着时间的推移,我有所进步,但是我仍然经常遇到中,硬层次的问题。 好消息是采访与Leetcode不同。 在采访中,您会被提示是否被卡住。 另外,推论正确的逻辑比编写可运行的代码更为重要。
Although Leetcode isn’t the best simulation of real interviews, it’s phenomenal for building problem solving intuition.
尽管Leetcode并不是真实访谈的最佳模拟,但对于解决问题的直觉而言却是惊人的。
The trick is emulating a real interview as closely as possible.
诀窍是尽可能地模仿真实的采访。
If you’re the interviewee, be professional, ask questions, and talk out loud. If you’re the interviewer, time the interview, engage in the conversation, and write down feedback.
如果您是受访者,请保持专业,提出问题并大声说出来。 如果您是面试官,请安排面试时间,进行对话并写下反馈。
I suggest booking a private room on campus and grinding through back-to-back interviews. Make sure the room has a big whiteboard to draw on.
我建议在校园内预订一间私人房间,并进行背对背的采访。 确保房间上有一块大白板可以画。
Take turns interviewing and being interviewed by a friend who’s also recruiting. Being able to understand the interviewer’s perspective will improve your own interviewing skills.
轮流面试,并由正在招募的朋友面试。 能够理解面试官的观点将提高您自己的面试技巧。
In most cases, you don’t need Glassdoor until a few days before your interview. Unless the company is very large, Glassdoor won’t have many specific interview questions.
在大多数情况下,直到面试前几天才需要Glassdoor。 除非公司规模很大,否则Glassdoor不会有很多具体的采访问题。
Glassdoor is better for learning about the company’s general interview process. Navigate to the Interviews section and filter by the position you’re applying for. Sometimes there are different labels for the same job, so look through all of them.
Glassdoor更适合了解公司的一般面试流程。 导航至“面试”部分,然后按您所申请的职位进行过滤。 有时同一工作有不同的标签,因此请仔细阅读所有标签。
Read candidates’ experiences and think through the interview questions they posted. You likely won’t get the same questions, but working through them will give you an idea of what to expect.
阅读候选人的经历,并思考他们发布的面试问题。 您可能不会遇到相同的问题,但是通过解决这些问题,您将对所期望的有所了解。
It’s finally time to send out applications and start seeing your hard work pay off! Recruiting season begins in August/September, but you can reach out a month or two earlier. For off-season jobs, apply at least 6 months before.
现在终于是发送应用程序并开始看到您的辛勤工作的回报了! 招聘季节始于8月/ 9月,但您可以提前一两个月与他们联系。 对于淡季工作,请至少提前6个月申请。
If you’ve been following the tech industry, you should already have some companies in mind.
如果您一直关注科技行业,那么您应该已经有了一些公司。
To add to your list, check out The Breakout List, Wealthfront’s Career-Launching Companies List, and the CrunchBase Unicorn Leaderboard.
要添加到列表中,请查看Breakout列表 , Wealthfront的职业介绍公司列表以及CrunchBase Unicorn排行榜 。
For more ideas, here’s a list of 163 companies I looked at when I was recruiting.
要了解更多想法,以下是我招聘时查看的163家公司的列表 。
Don’t be picky about which companies to apply to. If you think the product is interesting or you’ve heard good things about the company, then apply. Worry about choosing after you get a few offers.
不要对要申请的公司挑剔。 如果您认为该产品很有趣,或者您听说过有关该公司的好消息,请申请。 收到一些报价后,担心选择。
I recommend first applying and interviewing for companies you’re less interested in. This is a good way to train for future interviews of companies you want more. But don’t do too many — you don’t want to burn out.
我建议先对您不感兴趣的公司进行申请和面试。这是培训以后对您想要的公司进行面试的好方法。 但是不要做太多–您不想精疲力尽。
When I recruit, I try to keep the process under 3 months and not do more than 10 onsite interviews. Anything more than that, I run out of steam and my performance suffers.
招募人员时,我会尽量保持流程不超过3个月,并且不进行10次以上的现场采访。 除此之外,我精疲力尽,我的表现也受到影响。
When you’re scheduling your interviews, spread them out. Interviews are mentally draining, so you need time to rest in between. Companies won’t mind if you ask for a week or two before starting their process.
在安排面试时,将其散布开。 面试使人筋疲力尽,因此您需要时间在两者之间休息。 公司不会介意您在开始流程之前要求一两个星期。
Once you’re ready to apply, use a 5-pronged approach:
准备好申请后,请使用五管齐下的方法:
This list is ordered by success rate and time commitment. For example, referrals have the highest success rate but require the most time.
该列表按成功率和时间投入排序。 例如,引荐的成功率最高,但需要的时间最多。
When an employee refers someone, that’s the golden endorsement. Referrals make up for less than 10% of applications, but 20-50% of eventual hires.
当员工推荐某人时,这就是黄金认可。 转介仅占不到10%的申请,但占最终雇用人数的20-50%。
Ask your friends or older students to refer you. You can also ask employees for a phone chat or coffee to learn more about the company and request a referral at the end. Don’t be shy about this. If you get hired, the employee who referred you gets a bonus — it’s win-win for both of you.
请您的朋友或年长的学生推荐您。 您还可以要求员工进行电话聊天或喝咖啡,以了解有关公司的更多信息,并在最后请求转介。 不要害羞。 如果您被录用,介绍您的员工将获得奖金-这对你们俩都是双赢的。
For smaller companies without a formal recruiting pipeline, reach out to an Engineering Manager instead. For even smaller companies, just email the CEO or CTO.
对于没有正式招聘渠道的小型公司,请联系工程经理。 对于更小的公司,只需给CEO或CTO发电子邮件。
The easiest way to get email addresses is asking your network for recruiter contacts.
获取电子邮件地址的最简单方法是向您的网络询问招聘人员的联系方式。
You need a LinkedIn account to find email addresses. Look up the companies you want to apply to on LinkedIn and filter their employees by recruiters. Next, install Hunter or Slik, which lets you get the email address from a LinkedIn profile.
您需要一个LinkedIn帐户才能找到电子邮件地址。 在LinkedIn上查找要申请的公司,并按招聘人员筛选其员工。 接下来,安装Hunter或Slik ,使您可以从LinkedIn个人资料中获取电子邮件地址。
Hunter doesn’t like it if you try to sign up using a personal email, so use your school email.
如果您尝试使用个人电子邮件进行注册,Hunter不喜欢它,那么请使用您的学校电子邮件。
Your emails should be concise. State your interest in a position and include a summary of your background. Remember to attach your resume. To save time, make a template. You just have to change the name of the recruiter, the name of the company, and your statement of interest.
您的电子邮件应简明扼要。 说明您对某个职位的兴趣,并提供背景摘要。 请记住附上简历。 为了节省时间,制作一个模板。 您只需要更改招聘人员的姓名,公司名称以及您的意向书即可。
If you don’t get a reply in a week, follow up. If you don’t get a reply in another week, follow up again.
如果一周没有收到答复,请跟进。 如果您再过一周没有收到答复,请再次进行跟进。
For career fairs, check which companies are attending beforehand. Jot down the ones you’re most interested in because you might not have time to talk to all of them. Print out 10 to 20 copies of your resume to pass to recruiters. Be ready to answer questions about your experiences and projects.
对于职业展览,请事先检查哪些公司参加。 记下您最感兴趣的人,因为您可能没有时间与所有人交谈。 打印出10至20份简历,以传递给招聘人员。 准备回答有关您的经验和项目的问题。
I recommend going early — miss class if you have to. You’ll avoid the lines and catch recruiters before they’re exhausted from chatting nonstop.
我建议早点参加-如果有必要,请错过课程。 您会避免排队,并在招募人员不停地聊天之前不停地招募他们。
Don’t feel pressured to ask recruiters questions if you don’t have any. You won’t offend anyone if you get straight to the point and ask if they have openings.
如果您没有任何压力,不要向招聘人员提问。 如果您直截了当地问问他们是否有空缺,您将不会冒犯任何人。
After your conversation, make sure to get their emails so you can follow up later. Oh yeah, and actually follow up! Don’t let those business cards gather dust with the free t-shirts and drawstring bags.
对话后,请确保收到他们的电子邮件,以便以后进行后续处理。 哦,是的,实际上是跟进了! 不要让这些名片随身携带免费的T恤和束口袋。
For hackathons, you’ll be targeting one company you really like instead of 10 to 20. Company sponsors will set up shop at the venue. This is your in.
对于黑客马拉松,您将针对的是一家真正想要的公司,而不是10到20家。 公司赞助商将在会场设立商店。 这是你的。
Before the hackathon, find the sponsoring company you want to target. When you arrive, introduce yourself to its engineers and recruiters. Use their API in your project and interact with them throughout the hackathon.
在黑客马拉松之前,找到您要定位的赞助公司。 当您到达时,向自己的工程师和招聘人员介绍自己。 在您的项目中使用他们的API,并在整个黑客马拉松中与他们互动。
On the last day, go show them your project. Then, ask about job/internship opportunities. At this point, they’ve already seen your work ethic, creativity, and interest in their company. You’re pretty much guaranteed an interview.
在最后一天,向他们展示您的项目。 然后,询问工作/实习机会。 至此,他们已经看到了您的工作道德,创造力和对公司的兴趣。 您几乎可以保证面试。
Hackathons can function as indirect career fairs also. I know people who’ve landed interviews through talking to engineers and recruiters from sponsoring companies at hackathons. For more advice on this strategy, read Ryan Norton’s article.
黑客马拉松还可以充当间接的职业博览会。 我知道通过与黑客马拉松赞助公司的工程师和招聘人员交谈来获得采访的人。 有关此策略的更多建议,请阅读Ryan Norton的文章 。
Use a shotgun approach. Most applications only ask for your resume, so it’s easy to apply to a lot of companies in one go.
使用a弹枪方法。 大多数申请只要求您提供履历表,因此很容易一次性申请很多公司。
Slide into Tech, the Easy Application List, Intern Supply, and your school’s career website are great resources for finding open positions.
滑入Tech , 轻松申请列表 , Intern Supply以及您学校的职业网站,这些都是寻找职位的好资源。
Most of the time, you don’t need a cover letter. But if the company makes the cover letter mandatory or asks for a short answer response, be careful. In this case, the company really cares about fit, so craft a meticulous response.
大多数时候,您不需要求职信。 但是,如果公司将求职信强制性要求或要求简短答复,请当心。 在这种情况下,公司真的很在乎合身,所以要做出精心的回应。
I’ve been burned many times by disregarding mandatory cover letters and short answers. Take your time when writing — a hurried response will show.
我无视强制性求职信和简短回答而被烧死了很多次。 花些时间在写作时-会出现匆忙的回应。
For applying online, I also recommend TripleByte. You first complete a coding quiz. Then, TripleByte matches you with top companies and fast-tracks you through their hiring processes. Bear in mind this resource only works for finding full-time jobs.
对于在线申请,我还建议使用TripleByte 。 您首先需要完成一个编码测验。 然后,TripleByte将您与顶级公司进行匹配,并通过他们的招聘流程快速跟踪您。 请记住,此资源仅适用于寻找全职工作。
For many people, this is the most nerve-wracking part of the process, but there’s no need to be anxious. The interviewer is on your side (even if it doesn’t seem like it).
对于许多人来说,这是整个过程中最令人不安的部分,但不必着急。 面试官站在你这一边(即使看起来不太像)。
Before we go any further, there’s one thing you have to keep in mind.
在继续进行之前,您需要记住一件事。
Enthusiasm plays a huge role in whether you get an offer. Companies these days love to talk about how much they value culture fit. What they basically mean is they want someone who’s enthusiastic about their mission and product.
热情在您能否获得录取通知中起着重要作用。 如今,公司喜欢谈论他们对文化适应性的重视程度。 他们的基本意思是希望有一个对自己的使命和产品充满热情的人。
The truth is most candidates aren’t good at being enthusiastic. The best way to ensure you do it is preparing a list of things you like about the company in advance. When answering behavioral questions or asking questions, bring up the items on your list. Use the company’s blog and its Crunchbase profile to find things you can talk about.
事实是,大多数候选人都不善于热情。 确保做到这一点的最佳方法是事先准备一份有关公司的事情清单。 回答行为问题或提出问题时,请调出列表中的项目。 使用该公司的博客及其Crunchbase个人资料查找您可以谈论的事情。
When you first hear the problem, write it down. Then, clarify with your interviewer what you think the question is asking. Don’t assume you understood the question the first time you heard it.
第一次听到问题时,请写下来。 然后,与面试官一起澄清您对问题的看法。 不要以为您是第一次听到这个问题。
Next, write down a few example inputs and outputs and verify they’re correct. This gives you time to think of a solution and provides tests you can run later.
接下来,写下一些示例输入和输出,并验证它们是否正确。 这使您有时间思考解决方案,并提供可以稍后运行的测试。
If you need more time to think, don’t be afraid ask for a minute to brainstorm. It shouldn’t be too hard to devise a brute-force solution. Talk through it with your interviewer while thinking of ways you can improve it.
如果您需要更多时间思考,请不要花一分钟的时间进行头脑风暴。 设计蛮力解决方案应该不难。 与您的面试官交谈,同时思考改善方法。
Continue bouncing ideas off your interviewer until you come up with a better solution. Explain it to your interviewer and only start coding after they’re satisfied.
继续从您的面试官那里提出想法,直到您找到更好的解决方案。 向面试官解释,只有在他们满意后才开始编码。
While you’re working through the problem, continuously communicate your thought process. How you think is more important than the actual answer. Be outspoken, but don’t blab on endlessly. Take pauses to think and let the interviewer make suggestions.
解决问题时,请不断交流您的思考过程。 您的想法比实际答案更重要。 直言不讳,但不要无休止地坚持下去。 停下来思考,让面试官提出建议。
Don’t space out or look distant. You should direct your full attention towards the interviewer to engage them. If they’re engaged, they’ll give you positive signals if you’re on track and hints if you’re not. What’s more, they’ll be emotionally invested in you and want you to succeed.
不要间隔开或望向远方。 您应该将全部注意力吸引到面试官身上,以吸引他们。 如果他们订婚,他们会在您步入正轨时给您积极的信号,否则会提示您。 此外,他们会在情感上投入您,并希望您成功。
At the end of the interview, you’ll get time to ask questions. Remember an interview is two-way. Don’t just ask questions you think the interviewer will like to hear. Ask questions you actually want to know the answers to. I suggest asking about personal experiences to get more authentic answers.
面试结束时,您将有时间提问。 请记住,面试是双向的。 不要仅仅问您认为面试官喜欢听的问题。 提出您实际上想知道答案的问题。 我建议询问个人经历以获得更真实的答案。
Remember these tips and you’ll be ready to ace technical interviews.
记住这些技巧,您将准备好接受技术面试。
Coding challenge > Recruiter chat > Phone interview > Onsite interview
编码挑战>招聘人员聊天>电话采访>现场采访
The process varies by company. Sometimes the recruiter chat will be first. Sometimes you won’t have a coding challenge. But the general structure is similar.
该过程因公司而异。 有时,招聘人员聊天会是第一个。 有时您不会遇到编码挑战。 但是总体结构是相似的。
It’s usually hosted on Hackerrank. I suggest doing a couple of questions on it ahead of time to get familiar with the format.
它通常托管在Hackerrank上 。 我建议提前对它做几个问题以熟悉格式。
There’s no trick to the coding challenge. Pass as many tests as you can. With enough practice on Leetcode, this should be a walk in the park.
编码挑战没有窍门。 通过尽可能多的测试。 在Leetcode上进行足够的练习后,应该在公园里散步。
It’s usually for setting up the phone interview and answering any questions you have. You might get one or two behavioral questions. Once in a while, you might get trivia-esque technical questions like “Explain how a hashmap works.”
通常用于设置电话采访并回答您的任何问题。 您可能会遇到一两个行为问题。 有时,您可能会遇到类似琐事的技术问题,例如“解释哈希图的工作原理”。
Candidates rarely get rejected at this stage (although I’ve managed to do just that a few times). Treat this as a chance to learn more about the company. Ask high-level questions — recruiters generally don’t know technical details.
在这个阶段,候选人很少会被拒绝(尽管我已经做到了几次)。 Treat this as a chance to learn more about the company. Ask high-level questions — recruiters generally don't know technical details.
Make sure to ask about the format of the rest of the interview process so you aren’t caught off guard by anything.
Make sure to ask about the format of the rest of the interview process so you aren't caught off guard by anything.
Sometimes you’ll do a video chat instead of a phone call. You’ll typically code out the answer in a shared editor like Collabedit.
Sometimes you'll do a video chat instead of a phone call. You'll typically code out the answer in a shared editor like Collabedit .
If the connection is bad or you’re having trouble understanding the interviewer, speak up. You’re not going to get docked points, so don’t try to tough it through.
If the connection is bad or you're having trouble understanding the interviewer, speak up. You're not going to get docked points, so don't try to tough it through.
A day of back-to-back interviews is exhausting — get enough sleep beforehand! Onsite interviews are mostly technical, but some companies mix in behavioral and design rounds. The lunch is for you to learn more about the company, so relax a little.
A day of back-to-back interviews is exhausting — get enough sleep beforehand! Onsite interviews are mostly technical, but some companies mix in behavioral and design rounds. The lunch is for you to learn more about the company, so relax a little.
During the interview, use the whiteboard to your advantage. Leave plenty of space on the right side and between the lines so you have room to make edits.
During the interview, use the whiteboard to your advantage. Leave plenty of space on the right side and between the lines so you have room to make edits.
After the interview, don’t dwell on it. Thinking about it isn’t going to change the final result. Treat it as if you were rejected and continue applying and practicing.
After the interview, don't dwell on it. Thinking about it isn't going to change the final result. Treat it as if you were rejected and continue applying and practicing.
Congratulations! You got an offer! Give yourself a big pat on the back — you earned it.
恭喜你! You got an offer! Give yourself a big pat on the back — you earned it.
But your work isn’t done yet. First, thank your recruiter and re-express your enthusiasm for the company. Then, ask for your offer in writing.
But your work isn't done yet. First, thank your recruiter and re-express your enthusiasm for the company. Then, ask for your offer in writing.
A job offer isn’t an act of generosity — it’s a proposal to strike a deal. Naturally, a deal involves negotiation.
A job offer isn't an act of generosity — it's a proposal to strike a deal. Naturally, a deal involves negotiation.
I’m not going to elaborate too much on negotiation tactics. Just read Haseeb Qureshi’s killer guide on negotiation.
I'm not going to elaborate too much on negotiation tactics. Just read Haseeb Qureshi 's killer guide on negotiation .
Bear in mind some offers are non-negotiable, but it never hurts to try.
Bear in mind some offers are non-negotiable, but it never hurts to try.
Avoid unpaid jobs. In 90% of cases, it’s not worth it. I’m all for prioritizing learning over pay, but at least work for a company that values you enough to pay you.
Avoid unpaid jobs. In 90% of cases, it's not worth it. I'm all for prioritizing learning over pay, but at least work for a company that values you enough to pay you.
If you have more than one offer, congrats! You’re awesome. But now you have to make a decision.
If you have more than one offer, congrats! 你真棒。 But now you have to make a decision.
Choosing which offer to accept is a nice problem to have. The best offer depends on the specific candidate, but here’s one universal suggestion I hope serves you well.
Choosing which offer to accept is a nice problem to have. The best offer depends on the specific candidate, but here's one universal suggestion I hope serves you well.
It could be anything, like paying off student loans, founding a startup, or mastering a new hobby. Choose the job that brings you closest to these goals.
It could be anything, like paying off student loans, founding a startup, or mastering a new hobby. Choose the job that brings you closest to these goals.
Here are a couple more tips to remember:
Here are a couple more tips to remember:
This brings us to the end of this guide. I hope that with this, you’ll be much better prepared than I was when starting a career in tech.
This brings us to the end of this guide. I hope that with this, you'll be much better prepared than I was when starting a career in tech.
In the beginning, getting an offer might seem impossible, but the key is treating it as a series of milestones rather than one enormous task. If you make a little bit of progress every day, you’ll be there before you know it!
In the beginning, getting an offer might seem impossible, but the key is treating it as a series of milestones rather than one enormous task. If you make a little bit of progress every day, you'll be there before you know it!
When you do get that dream job, don’t forget to give back. Share your experiences and extend referrals. Pass on the love, and we’ll all fly higher.
When you do get that dream job, don't forget to give back. Share your experiences and extend referrals. Pass on the love, and we'll all fly higher.
Thanks for reading! If you liked this story, please recommend it by clicking the ❤ button and sharing it on social media. This way, other people get to see it too!
谢谢阅读! If you liked this story, please recommend it by clicking the ❤ button and sharing it on social media. This way, other people get to see it too!
Thanks to Victoria Sun, Sophie He, Ritika Pai, and Calvin Lui for editing.
Thanks to Victoria Sun, Sophie He, Ritika Pai, and Calvin Lui for editing.
翻译自: https://www.freecodecamp.org/news/how-to-land-a-top-notch-tech-job-as-a-student-5c97fec82f3d/
软件技术实习