软件工程生存指南

by Valeri Alexiev

由瓦列里·阿列克谢耶夫(Valeri Alexiev)

软件工程生存指南 (A Software Engineering survival guide)

在职业生涯初期将为您提供帮助的资源 (Resources that will help you at the beginning of your career)

The first few years of my career were a time of intense learning.

我职业生涯的前几年是一个学习密集的时期。

I encountered the realities of being a software engineer and had to acquire many skills that I didn’t know I needed. Looking back, it would sure have been nice to know the things I know now.

我遇到了成为软件工程师的现实,不得不掌握许多我不知道需要的技能。 回顾过去,知道我现在知道的事情肯定会很高兴。

So, I wrote this guide to help others based on the experiences of developers I mentored in their first few years as professionals, and those of myself and some of my colleagues.

因此,我写了本指南,根据我在最初几年作为专业人士指导的开发人员以及我本人和我的一些同事的经验来帮助其他人。

I will cover:

我将介绍:

  • How to make the best out of interviews,

    如何充分利用面试机会,
  • How to survive (and thrive) in your work as a software engineer,

    在软件工程师的工作中如何生存(发展),
  • And what resources to look into when considering continuous improvement.

    在考虑持续改进时应考虑哪些资源。

面试 (Interviews)

As you start your career in Software Engineering, you’ll have to face one indisputable fact. Interviews suck.

在开始软件工程职业生涯时,您将不得不面对一个不争的事实。 面试糟透了。

They can be awful for everybody involved. Having been both an interviewer and an interviewee, I can attest that interviews are a big time sink, extremely stressful and a really bad indicator of future job performance. Nevertheless, they are a necessary evil that you and your résumé better be prepared for.

对于涉及的每个人,它们可能都会很糟糕。 我既是面试官又是被采访人,我可以证明面试是一个很大的时间槽,压力极大,并且是未来工作表现的一个非常糟糕的指标。 但是,它们是必不可少的邪恶,您和您的简历最好做好准备。

准备战斗 (Preparing for Battle)

If you’re considering a career in Software Engineering, make sure to learn some of the most commonly asked programming interview questions, such as ‘FizzBuzz’:

如果您正在考虑从事软件工程职业,请确保学习一些最常见的编程面试问题,例如“ FizzBu​​zz”:

“Write a program that prints the numbers from 1 to 100. But for multiples of three print ‘Fizz’ instead of the number and for the multiples of five print ‘Buzz’. For numbers which are multiples of both three and five print ‘FizzBuzz’.”
“写一个程序,打印从1到100的数字。但是对于三个打印'Fizz'的倍数而不是数字,以及五个打印'Buzz'的倍数。 如果数字是三和五的倍数,请打印“ FizzBu​​zz”。”

(Coding Horror)

( 编码恐怖 )

Sounds simple enough, right?

听起来很简单,对吧?

Well, the vast majority of interviewees fail this simple test, let alone its more complex variants.

好吧, 绝大多数受访者都无法通过这项简单的测试,更不用说其更复杂的测试了。

I’ve personally seen many candidates for senior positions fail this test while having full internet access. So make sure that if a programming language is listed on your résumé, you know how to do at least FizzBuzz in it. Otherwise, you’re just wasting everybody’s time, including yours.

我个人已经看到许多高级职位的候选人在可以完全访问Internet的情况下未通过该考试 因此,请确保如果您的简历中列出了一种编程语言,那么您至少知道该如何做FizzBu​​zz。 否则,您就是在浪费所有人的时间,包括您的时间。

Of course, you’ll need to know more than just FizzBuzz to survive your interviews. You also need to make sure that you know:

当然,您需要了解的不仅仅是FizzBu​​zz才能使您的采访幸免。 您还需要确保您知道:

  • Basic data structures and algorithms: such as linked lists, arrays, trees and sorts.

    基本数据结构和算法:例如链表,数组,树和排序。
  • Common “gotchas” in your language of choice, such as whether strings are immutable, and how memory is managed.

    您选择的语言中常见的“陷阱”,例如字符串是否不可变以及如何管理内存。
  • Object Oriented Programming concepts like class versus object, and inheritance.

    面向对象的编程概念,例如类与对象以及继承。

At the beginning of your career, you’ll need to shine on these sorts of questions, since you don’t have the experiences to prove that you will be good at the job. There are two resources that I always recommend when preparing for interviews:

在您的职业生涯开始时,您将需要阐明这些问题,因为您没有经验来证明自己会做得很好。 在准备面试时,我总是推荐两种资源:

  • “Cracking the Coding Interview”, a fantastic book that includes a lot of coding problems and their solutions, as well as summaries of what you need to know to solve them

    “破解编码面试 ”,一本很棒的书,其中包含许多编码问题及其解决方案,以及解决这些问题所需了解的摘要

  • CodeWars, a website that has a large collection of coding problems that you can solve in the browser using a wide selection of languages. The most useful part is seeing how other users solved the same problem. You’ll get to see different approaches to the same problem and learn new tools in the language of your choice.

    CodeWars ,一个网站,其中包含大量编码问题,您可以使用多种语言在浏览器中解决这些问题。 最有用的部分是查看其他用户如何解决相同的问题。 您将看到针对同一问题的不同方法,并以您选择的语言学习新工具。

给自己额外的优势
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值