跟读练习: How to NOT Fail a Technical Interview - 通过YouTube学习英语口语
C1
跟读控制
0% 已完成 (0/160 句)
The single worst moment of my life was the moment I was born.
⏸ 已暂停
速度:
重复次数:
等待模式:
字幕同步:0ms
所有句子160 句
1
The single worst moment of my life was the moment I was born.
2
I wish that were true, but as a software engineer, I've experienced far worse things during technical interviews.
3
If you're lucky enough to survive tutorial hell before the age of 25, and find a way to impress the algorithms that automatically read your resume, you get dropped into a high-stakes life-or-death game with a six-figure salary on one side and RVs on the other.
4
You can tell yourself the interview process is broken, and maybe it is, but like most things in life, you can't control it and just have to play the game.
5
In today's video, you will experience the psychological rollercoaster ride that is the technical interview.
6
Along the way, you'll learn the secrets to high-pressure problem-solving on the spot, and how to impress the interviewer even if you totally suck at writing code.
7
To make this hyper-realistic, I've invited a special guest who's conducted hundreds of interviews in the real world.
8
Let the story begin.
9
It's been a long, difficult year of hashtag learn to code.
10
I've turned down dates with beautiful women, stopped doing flat-earth research, and even canceled Netflix, all for the opportunity to stare at a computer screen for the rest of my life.
11
Thanks to this awesome video I watched on YouTube, I finally landed an interview with Big Scary Tech Corporation.
12
I've got dozens of leak code questions and a bunch of half-finished Udemy courses under my belt.
13
Nothing can stand in my way now.
14
I'm about to jump on this call and change my life forever.
15
Hello, Mr. Fireship.
16
My name is the Prime Gen. Welcome to hell.
17
Welcome to hell.
18
I'm just kidding.
19
I'll be conducting your interview today.
20
You know, let's just get straight into it.
21
I'm going to ask you actually a classic question.
22
It's called FizzBuzz.
23
I want you to print out numbers 1 through 100.
24
But if it's divisible by 3, I want you to print out fizz.
25
If a number is divisible by 5, please print out fuzz.
26
But if it's divisible by both 3 and 5, please print out fizz and buzz.
27
Fizzbuzz, how cliche is that?
28
I mean, I just built my own compiler in JavaScript last night.
29
This is too easy.
30
Wait a minute.
31
I have no idea what I'm doing here.
32
Hashmap, link list.
33
Mom, mom, why am I so dumb?
34
Wait, directed graph.
35
I can't do it.
36
I'm just gonna tell him I can't do it.
37
Binary treat.
38
I'm an imposter.
39
I'm blacking out.
40
A few moments later.
41
Mr. Fireship, before we write any code, let's just talk about the problem.
42
How would you kind of approach a problem like this?
43
You know what?
44
I think I've already failed this interview, which means I don't care anymore.
45
And magically, when I stop caring, the anxiety goes away.
46
Screw the code.
47
Let's just talk about the problem.
48
Okay, so it looks like we have three conditions here.
49
And when we have conditions, we use a conditional statement like if.
50
One way I could represent this is with a flowchart on a whiteboard.
51
Or if that's not an option, I might start by writing some pseudocode because I don't want to worry about syntax or boilerplate before I even know what I'm going to implement.
52
For each iteration of the loop, we have a number.
53
If it's divisible by 3 and 5, we print FizzBuzz.
54
Otherwise, if it's divisible by 3, we print Fizz.
55
Or if it's divisible by 5, we print Buzz.
56
And finally, just print the number if none of these are true.
57
Wow, so this is actually a very simple problem when we take the time to break it down.
58
I was totally overthinking it.
59
I was expecting something with a really complex solution, because this is Big Scary Tech Corporation after all.
60
You know, I can't give you the answers, but I do really want to see you succeed.
61
So feel free to ask questions as we go along.
62
That solution looks pretty good.
63
So how would you take that and turn it into code?
64
I'm most comfortable in JavaScript, so I'll go ahead and use that for the implementation.
65
First, we'll need a loop that iterates 100 times.
66
As I'm writing this code, I'm not thinking about getting things done quickly, but rather I'm taking my time and making sure I fully understand the requirements before wasting my time writing a bunch of code that I'll have to correct later.
67
What's really important is that I think out loud and explain my decisions throughout the process.
68
Normally, I like to use for each for loops, but in this case, I'm going to use a traditional for loop and not for each, because I happen to know that 4 will result in better performance.
69
Now, even if what I'm saying isn't totally correct, it's important for the interviewer to understand my problem-solving process.
70
Saying something is almost always better than saying nothing at all.
71
Unless, of course, you say some dumbass s**t, in which case it may be optimal to just shut the f**k up.
72
Before you set foot into the Thunderdome, you should practice literally saying everything out loud as you solve a problem.
73
Personally, I hate talking while I write code, and it just takes a lot of practice to get comfortable with this.
74
Follow the ABC rule I just made up, which doesn't mean always be coding, but always be chatting.
75
Another tip is that if you get confused and freeze up, don't just sit there, but try to come up with a question.
76
The longer you sit there and stare at the headlights, the more likely you are to lose your composure.
77
We can't have anyone freak out out there, okay?
78
We've gotta keep our composure!
79
We've come too far!
80
There's too much to lose!
81
much to lose!
82
Keep our composure!
83
I'm a little confused here, so I might ask a question like, should the program take an input and return an answer for a specific index, or should it always iterate over all 100 answers?
84
Good question.
85
A loop is just fine.
86
Now I feel like I'm going in the right direction, so what I'll do next is create a few conditional statements that line up to what I sketched out on the whiteboard.
87
Now the tricky thing about FizzBuzz is determining if one number is a multiple of another number.
88
I guess I could divide by the target number, and if it's an integer, it's a match, but if it's a decimal, then it's not a match.
89
That should work, so when it's 3 will log fizz, when it's 5 will log buzz, but if it's false on both of these, then we'll just console log the number.
90
Yeah, I think that looks good.
91
Let's go ahead and use bun to run it, just to show off my knowledge of blazingly fast JavaScript tooling.
92
And yes, it works perfectly.
93
I'm a goddamn genius.
94
Interesting.
95
What can you do without magical type conversion?
96
Do you know what modulo is.
97
Oh man, he's not impressed at all.
98
I'm such a loser.
99
Modulo?
100
I've never even heard that word in my life.
101
Oh wait, are you talking about the remainder operator in JavaScript?
102
Yeah, you do have the modulo operator correct.
103
Why don't you give it a try?
104
Yeah, that would make more sense here.
105
What it does is give us the remainder when doing division, so if that number is zero, then we know that it's a multiple of whatever number we're trying to divide by.
106
That gives us a solution that isn't so dependent on the loosely typed nature of JavaScript.
107
It's usually a good idea to avoid language-specific magic.
108
The interviewer might be a C developer with 50 years of experience who's going to think your clever little JavaScript tricks are mid-AF.
109
The modulo operator is available in basically every language, so it's best to stick with that.
110
This is looking pretty good, but can you make FizzBuzz print on a single line?
111
Oh yeah, that's kind of not correct, is it?
112
Okay, I think I have an idea, but I remember reading this article that's messing with my head right now that said the else keyword is an anti-pattern.
113
Maybe I should stop believing everything I read on the internet.
114
Let's give it a try and talk through it.
115
We'll We'll first check for the fizzBuzz condition, then use if-else a couple times to check for fizz and buzz.
116
And then finally we'll use else to log the number itself.
117
Not only does this put fizzBuzz on a single line, but the code is just more simple now.
118
In fact, I don't think it can get any better.
119
Oh, that looks correct.
120
Now, what happened if I wanted to add some more conditions?
121
Let's say 7 is BAS.
122
How are you going to deal with that?
123
Ah man, I knew it.
124
L statements really are garbage.
125
Always believe everything you read on the internet.
126
It's never failed me.
127
When you have a lot of conditions to check, one thing you generally want to do is try to extract the data out of that statement.
128
We can easily do that here by defining a variable for the thing we want to print.
129
Now we could set up a switch statement to check all the different conditions, but I think using IF is just as good if not better.
130
As you can see here, I have GitHub Copilot enabled, but let's Just keep that on the down low because I really need this job.
131
Now, instead of console logging here, we'll just mutate the variable.
132
This allows us to eliminate the fizz buzz check and can also scale better if we decide to add additional words to it.
133
Impressive.
134
Very nice.
135
Impressively very nice.
136
Blazingly correct.
137
Now, how would you describe the performance of your algorithm?
138
I would describe it as strong to quite strong.
139
As you can see when I run it, there's almost no lag time because my holistic approach is so blazingly fast.
140
Well, that's one way to describe it.
141
I was more talking about Big O time complexity.
142
Oh yeah, I guess I should have studied Big O a little better before doing this interview.
143
If the FizzBuzz game were to go on forever, I'd say we have linear time complexity, or O of N.
144
However, technically, the game is only played for 100 steps, which would simplify down to O1, or constant time.
145
Wow, I can't believe it's been an hour already.
146
I blacked out.
147
Where the hell am I?
148
Is this heaven?
149
Oh hey, congratulations, you've got the job.
150
Here's your offer sheet with a $400,000 salary and the job is fully remote with unlimited vacation time.
151
Your first task you'll be working on is changing all of the blue buttons to a slightly different color blue.
152
Wow, I can't believe it.
153
I've spent the last two years pouring my blood, sweat, and tears into this, and my mom is going to be so proud.
154
Hold on just one second.
155
Uh, it looks like we've just implemented a hiring freeze.
156
Um, I'm gonna have to rescind that offer.
157
Bruh!
158
Congratulations, now you know how to bomb your technical interview just like me.
159
Make sure to subscribe to the Primogen for more awesome developer content.
160
Thanks for watching, and I will see you in the next one.
App Store 和 Google Play 评分 4.9/5
Shadowing English
移动端
随时随地使用 Shadowing English 应用学习英语。今天就提高您的沟通技巧!
跟踪您的学习进度
AI 评分和纠错
丰富的视频库

背景与上下文
在这段视频中,讲述者分享了他作为软件工程师在技术面试中的真实经历。这是一场高压的心理过山车,通过生动的叙述,听众可以感受到面试过程中的紧张与焦虑。面对各类面试题,如何在瞬息万变的环境中依旧保持冷静,成为每个应聘者需要掌握的重要技巧。
日常交流中的五个重要短语
- “欢迎来到地狱”:引入幽默感,帮助缓解面试紧张气氛。
- “在开始写代码之前,让我们先讨论这个问题”:强调了解问题的重要性。
- “我真的不知道自己在做什么”:展现脆弱,使面试氛围更为轻松。
- “我们有三个条件”:结构化思维,让面试官清晰理解你的逻辑。
- “我就是个冒名顶替者”:这句自嘲可以让面试者稍微放松下来。
逐步模仿指导
对于想通过模仿学习技术面试交流的英语学习者,通过以下步骤进行雅思口语练习,将有助于提升你的沟通能力:
- 观看视频:首先,认真观看视频并注意讲述者的语调和节奏,可以在 看YouTube学英语。
- 模仿发音:选择一段讲述,分段播放并模仿发音。试着提升你的流利度,减少停顿。
- 理解内容:在理解每个短语的含义后,试着将其应用于不同场合。
- 使用工具:利用 shadowing site 进行练习并录制自己的声音,逐渐改进表达。
- 反复练习:不要害怕反复练习同一段落,直至你完全掌握发音和语调。
通过这种方式,结合 shadow speak,不仅能够提高你的英语口语能力,还能增强在高压环境下的应对能力。让我们一起踏上这条充满挑战与乐趣的英语学习之路吧!
什么是跟读法?
跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。
