跟讀練習: 5 Coding Interview Tips From A Senior Engineer - 通過影片學習英語口語

選擇練習模式

每種模式都會開啟全屏練習室。

207 句
如果句子過短或過長,請點選 Edit 進行調整。
1
What's up, everybody?
2
Travis here from Travis .media.
3
Today, I want to look at an article
4
that I think will be helpful for anyone planning their first or even fifth interview for a programming job.
5
I'm always fascinated in hearing what people who conduct these interviews on a regular basis expect from those interviewing
6
and what kind of mistakes people keep making so that you
7
and I can be sure not to make these same mistakes and stand out better.
8
So in this video, I'll give you five lessons
9
that you can take away from this information and better equip yourself for that next interview.
10
Let's get started.
11
So I found this really good
12
Medium article, which can be really rare for Medium nowadays.
13
And it's targeted towards senior engineers specifically.
14
And it's actually called, This is Why I Didn't Accept You as a Senior Software Engineer.
15
But I think it applies all the way down the chain to mid and even junior level engineers.
16
Even if this is your first interview.
17
Because if you're exhibiting behavior like a senior in your junior interview, it's a good thing.
18
So let's take a look at this article.
19
So here's what the author says.
20
I've been interviewing engineers for different companies for the last few years.
21
But lately I've been turning down candidates like never before.
22
I'm still using the same questions.
23
Nothing's changed The problem is
24
that people have no idea about what it means to be a senior engineer and these professionals are scarcer than ever
25
Okay, that's good.
26
Let's find out the skills
27
We need to work on to make us some of those scarce people and that leads us to lesson one General knowledge.
28
I call it general knowledge.
29
He calls it development methodologies
30
So let me read this development methodologies or organizational methods that are meant to make teams effective
31
These could be boring for us, but it's expected of you to have expertise in them.
32
During my years of work, I have developed a rejection of non -agile development methodologies.
33
And more than that, I think that Scrum is not agile enough.
34
Its exhaustive use ends up helping the ego of the project managers more than the programmers.
35
I agree, though I like Scrum, but I like this meme too.
36
So here's the point.
37
When I do an interview, I look for that capacity of criticism in developers, knowing Scrum is not enough.
38
But you also have to know its disadvantages and propose solutions to them.
39
So the lesson here is that you shouldn't be agreeing to everything.
40
We go into the interview and we're like, yeah, yeah, I like that.
41
Yeah, I like this.
42
But you should be forming opinions about things with reasons to back them up.
43
Not in a quarrelsome way, but no one really wants another developer that just does whatever he
44
or she is told without sometimes disagreeing or offering better or alternative solutions.
45
As a developer, programming is only part of the job.
46
Another very important part is leaning in with your expertise on the task at hand.
47
Maybe the feature that the project manager
48
or the client wants is not a good idea or will not go well with how things are currently built.
49
You're needed to speak up, share your concern, and offer a better alternative.
50
In the case of this interviewer, he's looking for someone that can offer their opinions of Scrum regardless if you like it or not.
51
You can actually offer your opinion about it
52
and not just agree to whatever he says about it in the hopes
53
that they give you the job because you guys are the same.
54
The lesson here is to read up on things.
55
Form opinions yourself about industry -wide tools and development methodologies and be able to speak your mind about it if asked.
56
The point here is not that you need to learn Scrum for this guy.
57
The point is that if you're asked about Scrum, you have an opinion about it.
58
We want to carry on a conversation with the interviewer and not just nod our heads at everything said.
59
And I'll close lesson one with this quote here.
60
I thought it was good.
61
General knowledge will help you form better opinions and show you're willing to learn outside your field.
62
General knowledge is important.
63
Read up, form your opinions.
64
Lesson two, how well do you know your language?
65
He labels this section software design principles.
66
The reason the rockstar engineer is so much more valuable than his counterparts isn't unique to programming.
67
The great software engineer is incredibly creative and can see conceptual patterns that others can't.
68
After finishing every interview, this is important.
69
Listen to what this guy is saying.
70
After finishing every interview, when writing feedback for the candidate, I swear I could copy and paste the same response every time.
71
And it's this.
72
I suggest you read more about Python design patterns.
73
A good resource can be this guide.
74
We'll get back to that guide in a minute.
75
It's so easy to filter candidates with design principles.
76
Only in really strange cases, I've found people with an answer to all of these questions.
77
And he goes on to say that, hey, these design patterns are challenging.
78
It's not always easy to apply and recall them.
79
But forcing yourself to do these checks while you're programming will put you a step ahead.
80
Why do we use length array in Python while in other language we can use array dot length?
81
Is there any optimization behind it? how much do you know your language
82
so this lesson is twofold number one learn about your language design patterns
83
and two know your language well that's why when i say
84
if you're starting out programming learn one language
85
and learn it well like javascript you could do everything with it
86
or python that's a popular one let's say that you learn python first
87
and you decide to go all in with it learn
88
it well learn its quirks find a book like one of those o'reilly books
89
that goes in depth with the language
90
and be able to discuss things like why python is using
91
a length function instead of a length method as this author mentions sure
92
this may be more catered to senior interviews
93
but it will help you stand out better as a junior
94
if you're at least familiar with the deeper parts of a language such
95
that you can carry on a conversation about it you don't
96
have to be an expert just be able to carry on
97
the conversation think about books like javascript the good parts a book that's old
98
but really helps you see what's going on under the hood and learn about the quirks of the language.
99
He says here, reading a book about the language you use is absolutely necessary when you're growing.
100
Any senior engineering interview will include advanced questions
101
that you will only know by reading because books always go deeper than online courses.
102
So do the online courses, learn the stuff, and then go deeper.
103
Learn the language, build projects, get familiar, learn algorithms, but also here and there,
104
read a new chapter or two that takes you a little bit deeper.
105
Next, try to learn some design patterns for that language,
106
or really design patterns in general with programming yes even as a junior as you build your apps
107
if it's python then do check out this link
108
that he provides it's a really really good resource it's at python -patterns .guide
109
and here you have a handful of principles and patterns
110
that you can learn
111
if you're using the python language as the author suggests
112
we're actually going to be working through some of these in the travis media community
113
when it reopens in january i closed it for december
114
because i'm doing a complete makeover
115
and overhaul of the community it's going to be awesome
116
when it relaunches if you want to be notified when
117
that reopens just go to travis .media slash community put your email in this form here
118
and i'll email you when it reopens and work it into your hobby projects
119
or your portfolio projects you of course don't have to memorize all of these
120
and be able to implement them all but
121
if you're at least familiar with them
122
and can implement a few that's enough to allow you into the conversation
123
and thus have an opinion which is part of lesson one
124
that we just talked about lesson three is check your attitude look at this
125
Working with a vain person is immensely difficult.
126
They make you feel bad all of the time and create bad vibes in the team.
127
In the long term, the damage that such a person can do, the company can be very expensive.
128
This has been an experience for any and every developer out there probably, working with a toxic developer.
129
Companies are looking for great humans when they're offering humongous salaries, and part of that is being a good person.
130
When doing an interview, we're not only evaluating the candidate's knowledge, but also his or her attitude.
131
In a specific process I did months ago, the company asked us specifically to look for good and honest persons more than great programmers.
132
He was told to look for good and honest people more than great, great programmers.
133
I can attest to companies doing this personally.
134
A job I had in the past as a site reliability engineer did just that.
135
The CTO landed a new contract.
136
They needed like 30 people, local people.
137
We had to go into the office, but he went on LinkedIn.
138
He found a bunch of people in my city, me being one of them.
139
He reached out, called me on the phone, told me the situation, and told me the company's philosophy,
140
which was we look for good people who can easily learn the stuff.
141
He said a lot of companies, they want the best programmers.
142
They don't care about the people themselves or their personalities.
143
They just want the best programmers.
144
This company flipped all of that and is looking for good people who love to learn, are easily teachable, and don't have attitudes.
145
So we talked.
146
Things went really well.
147
I still had the coding exam, but I got the job despite not really being qualified as an SRE.
148
I was a developer.
149
But they were looking for good people who were eager to learn and weren't toxic to be around.
150
A bad attitude or lying could imply an immediate elimination from a selection process.
151
Lying, too.
152
I always recommend the book, How to Win Friends and Influence People.
153
It's one of those books that everybody should read to have better relationships in life.
154
That happens to be a book we're just finishing up in the Travis Media community.
155
It's a good one.
156
You should read it.
157
Before we get to lesson four, quick intermission.
158
What should a junior mid -read to become a senior?
159
Here are some fantastic resources to grow as a senior developer.
160
I'll put links to these below because this article is a member -only article.
161
Some of you may not be members, but they're really good.
162
You could use AI to simulate an interview.
163
Here's some websites a programmer should visit.
164
But these community -driven roadmaps are really neat.
165
Just wanted to mention it real quick.
166
If you need a roadmap for learning some technology, let's say you want to learn JavaScript, just go down here, click JavaScript Roadmap.
167
Takes you to a site called roadmap .sh slash JavaScript.
168
And you just start from the beginning.
169
So introduction to JavaScript.
170
What is JavaScript?
171
History of JavaScript.
172
Once you're done with that, you move on to all about variables.
173
You learn about variable declarations, hoisting, and you just continue to go down the line until you know everything about the language.
174
Use this tool to go deeper with the language, as we mentioned in Lesson 2.
175
Lesson 4 is, what about my coding skills?
176
So far, we've mainly been talking about communication skills, knowledge skills, being able to carry on a technical conversation.
177
We often think we just need to know all the algorithms and they'll love us, but that isn't the case.
178
It's both, and often we tip the scales more on the technical stuff, for lack of the communication stuff.
179
But we do need the coding skills.
180
So this author recommends LeetCode.
181
I think everybody's recommending LeetCode Premium.
182
I bought LeetCode Premium some months ago.
183
It was a great decision to land my current job.
184
On your way, you'll discover interesting math, curiosities, patterns, and optimizations from other users.
185
Not an affiliate.
186
I have no incentive to tell you this.
187
That's just what he recommends.
188
Simulating an interview from a big company can also be useful to understand how they're structured.
189
Lesson five, the hard but understandable truth.
190
This is very important you simply may not be the right profile for the company
191
it's not you it's me right no seriously quit beating yourself up
192
because you sucked everyone sucks at the coding interview
193
i actually have a really old video that's a bit cringy about
194
when i really bombed an interview in the past
195
i'll put a link to it above even after reading a lot of material
196
Practicing every day and having a lot of experience you could be rejected
197
because you're just not the right profile for the company
198
So lesson five is that you may do great at the interview
199
You may be expecting to land the job and then you get the bad news
200
But you have to remember that it may just be that you weren't a good fit for that role
201
Nothing to do with your skills nothing to do with you personally
202
But that company has a profile certain profile they want to fill
203
and maybe you just weren't that the only things you can expect from yourself
204
Are resilience and persistence those are not only the skills
205
that will secure your job in the future but they also are the main skills we expect from a senior engineer.
206
If you found this video helpful, give it a thumbs up, consider subscribing to the channel, and I'll see you in the next video.
207
Thanks for watching.

下載應用

流利口語所需的一切

AI 發音評分逐句打分
音標練習掌握每個音
詞彙學習建立你的詞庫
詞彙遊戲邊玩邊學
FOR YOU

推薦影片

本課的詞彙與口語要點

這節口語課以影片“5 Coding Interview Tips From A Senior Engineer”為素材。 影片中反覆出現的詞有:learn, interview, language, lesson。 這段影片共有 207 個句子、2403 個單詞可供跟讀。 講話部分時長為 10:42。 說話人語速較快,每分鐘約 225 個詞,會出現較多連讀和弱讀。 85% 的單詞屬於英語最常用的 3,000 詞,其餘的詞建議在練習前先學一下。

影片中的重點詞彙

影片中 15 個值得學習的單詞,附發音和釋義:

單詞發音釋義
lesson 名詞/ˈlɛs.ən/課業 /課業, -課 /-課
skill 名詞/skɪl/技巧, 技能
programmer 名詞/ˈpɹoʊɡɹæmɚ/程式設計師 /程式設計師, 程式員 /程式員
methodology 名詞/ˌmɛθ.əˈdɑ.lə.d͡ʒi/方法論 /方法論
principle 名詞/ˈpɹɪn.sɪ.pəl/原理, 原則 /原則
helpful 形容詞/ˈhɛlp.fl̩/有幫助 /有幫助
suck 動詞/sʌk/吸吮, 咂
resource 名詞/ɹɪˈzɔːs/資源 /資源
toxic 形容詞/ˈtɒk.sɪk/有毒的
implement 動詞/ˈɪmpləmənt/實施 /實施, 執行 /執行
expertise 名詞/ˌɛkspɜːˈtiːz/專門知識 /專門知識
algorithm 名詞/ˈælɡəɹɪðm̩/演算法, 演算法
optimization 名詞/ˌɑptəmaɪˈzeɪʃən/最佳化 /最佳化
scarce 形容詞/ˈskɛɚs/缺乏的
interviewer 名詞/ˈɪntɚvjuɚ/訪問者 /訪問者

影片中出現的短語動詞

單詞釋義
go down 動詞下降, 下去
check out 動詞退房
end up 動詞到達
find out 動詞找出, 查明
turn down 動詞拒絕 /拒絕, 回絕 /回絕

值得反覆跟讀的句子

影片中簡短而完整的句子,可以直接用在日常對話裡:

  • I'm still using the same questions.
  • Lesson two, how well do you know your language?
  • We'll get back to that guide in a minute.

影片中的語法

說話人最常用的結構,並附上影片中的原話:

結構影片中的用法
現在完成進行時 have/has been + -ing — 以前開始、現在仍在繼續的動作I've been interviewing · I've been turning · we've mainly been talking
定語從句 who / which + 從句 — 補充說明人或事物people who conduct · article, which can · someone that can
被動語態 be + 過去分詞 — 強調發生了什麼,而不是誰做的are meant · is told · are currently built
現在完成時 have/has + 過去分詞 — 過去發生但與現在仍有關聯的事have developed · I've found · has been

需要注意的發音

說話人用了 47 次縮略和弱讀形式,例如 you're, I'll, don't。請按聽到的簡短形式來說。

  • “th” 音: methodology /ˌmɛθ.əˈdɑ.lə.d͡ʒi/, algorithm /ˈælɡəɹɪðm̩/, math /mæθ/, thumb /ˈθʌm/
  • “sh” 和 “zh” 音: optimization /ˌɑptəmaɪˈzeɪʃən/, declaration /ˌdɛk.ləˈɹeɪ.ʃən/, elimination /ɪlɪmɪˈneɪʃ(ə)n/, rejection /ɹɪˈd͡ʒɛkʃən/, organizational /ˌɔː(ɹ)ɡənɪˈzeɪʃənəl/
  • 長單詞——注意重音位置: developer /dɪˈvɛləpɚ/, methodology /ˌmɛθ.əˈdɑ.lə.d͡ʒi/, optimization /ˌɑptəmaɪˈzeɪʃən/, incredibly /ɪŋˈkɹɛdɪbli/, portfolio /pɔːtˈfəʊ.liˌəʊ/

中文母語者容易讀錯的音:

  • /v/ — 不要讀成 /w/,上齒輕觸下唇: developer /dɪˈvɛləpɚ/, travis /ˈtɹeɪvəs/, variable [ˈvæɹ.i.ə.bl̩], interviewer /ˈɪntɚvjuɚ/, discover /dɪˈskʌvə/
  • 詞尾子音 — 要讀清楚,後面不要加母音: travis /ˈtɹeɪvəs/, suck /sʌk/, resource /ɹɪˈzɔːs/, toxic /ˈtɒk.sɪk/, implement /ˈɪmpləmənt/
  • /r/ 和 /l/ 的區別: principle /ˈpɹɪn.sɪ.pəl/, variable [ˈvæɹ.i.ə.bl̩], algorithm /ˈælɡəɹɪðm̩/, regardless /ɹɪˈɡɑɹd.lɪs/, recall /ɹɪˈkɔl/

如何用這段影片練習

  1. 先完整聽一遍影片,不要開口,記下不認識的單詞。
  2. 先用 0.75 倍速逐句跟讀,熟練之後再回到正常速度。
  3. 錄下自己的聲音並與原聲對比,特別注意 lesson, skill, programmer 這類單詞。

什麼是跟讀法?

跟讀法 (Shadowing) 是一種有科學依據的語言學習技巧,最初開發用於專業口譯員的培訓,並由多語言者Alexander Arguelles博士普及。這個方法簡單而強大:您在聽英語母語原聲的同時立即大聲重複——就像是一個延遲1-2秒緊跟說話者的影子。與被動聽力或語法練習不同,跟讀法強迫您的大腦和口腔肌肉同時處理並模模擬實的講話模式。研究表明它能顯著提高發音準確性,語調,節奏,連讀,聽力理解和口語流利度——使其成為雅思口語備考和真實英語交流最有效的方法之一。

影子跟讀法: 閱讀完整分步指南 →