跟读练习: System Design - Part 1 | Introduction & Career Path | Why you need to learn System Design? - 通过视频学习英语口语
选择练习模式
每种模式都会打开全屏练习室。
227 句
如果句子过短或过长,请点击 Edit 进行调整。
1
It has been quite some time since I have wanted to start my series on system design.
2
It is just that I never felt ready
3
that I have all the resources and I have talked about all of the things
4
that you might encounter while studying this concept.
5
But right now I feel that I have covered enough that I can begin to talk about system design in general.
6
And whenever there is a concept that needs more detailing, I will create a video on it.
7
So with this series, my target is that I want to present your system design in such a way
8
that you are able to link it correctly to real life problems.
9
Because I truly believe that if you are able to relate a problem with some real life examples, then it comes very naturally to you.
10
And that has always been the goal of my channel to simplify the process
11
and the concept in such a way that it sticks in your mind.
12
You don't have to just mug up every concept.
13
So that is exactly what I'm going to do.
14
Before even getting into, okay, this is system design and these are all the terminology involved, I first want to get into where do you actually encounter system design?
15
And what are some real -life scenarios where you can apply them?
16
And that begins with the most basic step.
17
Where does it come in your interview?
18
And why do you even need it?
19
So I believe that will be a good starting point and all along the journey we are going to learn together.
20
So let's get started over there.
21
Hello friends, welcome back to my channel.
22
First of all, when you talk about system design and where does it come in your interview process?
23
Technically, whenever you are applying at an organization or no matter wherever you are working,
24
I would broadly say that you are either in the beginner level or you are an intermediate or you are an expert.
25
That means you have every knowledge or you are a subject matter expert.
26
So for most of the scenarios, you are at the beginner level.
27
That means you are dealing with basic data structures, you are dealing with basic algorithms and mostly problems on just to simplify arrays, strings, trees, all of that.
28
Next comes the part when you are going at a senior level.
29
So this is where I would say you are going at an intermediate level.
30
and this is the point where you must have a knowledge of all the system design concepts
31
because think about it such a large organization like any of the fan companies you know
32
that you cannot just develop applications based upon all of the data structures
33
that you have studied right you will not be actually using an array and then making all of these huge applications Correct?
34
You need a very good architecture level diagram and then you want to deploy out all the several components.
35
Correct?
36
Now, when you are at a beginner level, it is not expected out of you that you make these design decisions.
37
What usually happens is, at the beginner level, you are just given a sub -module that, hey, this is an entire application and you have to solve this small bit.
38
And that is why interviewers focus more on your data structures and problem -solving abilities.
39
when you are applying for intermediate roles that is where you want to know
40
that you have a knowledge of all of the design level concepts as well
41
because how is a system working what is actually happening what's
42
the database what is caching how is the data flowing what requirements do you want
43
so this is where you will start to get all of these questions and for example you're applying at Google.
44
So Google explicitly asks you, hey, do you want a system design coding round in your interview process or not?
45
And for other companies like Amazon, they will add a system design round if you're applying to software engineering levels of two and above.
46
So that is the idea.
47
And when you get at an expert level, you are not asked about data structures, algorithms.
48
No, that doesn't happen.
49
What happens is then you have to talk about real life applications.
50
How would you deal with this bunch of customers?
51
How would you deal with the high traffic?
52
How would you scale the application all throughout?
53
So, I know that all of these are very high -level terms, and surely we will get into the details of all of it.
54
But you must understand that where does system design come into play, and it is this particular level.
55
So, if you want to grow in your career, and if you want to reach at an expert level, that is where you need to have this knowledge.
56
Because, although you have these three levels, but the pay grade, it increases exponentially as you move towards the expert level.
57
And everybody loves a good pay, correct?
58
So, that is why system design is very, very necessary.
59
You want to know, right?
60
How is Netflix working?
61
How is YouTube working?
62
How are you handling so many customers?
63
Think about it.
64
Netflix is available all throughout the world.
65
And on YouTube, you can live stream a YouTube video even with millions of viewers.
66
So how are you handling all of that traffic?
67
That is all behind what system design is.
68
How are you designing this entire application?
69
So that is the end goal.
70
But before that, we want to understand what the hell is even system design and why do you want to scale applications?
71
Or rather, what does scaling even mean?
72
I will start from the very basic and then we will go along building our way step by step.
73
So where do you start?
74
Well, why do you even need system design?
75
And to understand it, let us go to the ground level.
76
Forget everything about computers.
77
Just focus that, let us say you want to open a bookstore, right?
78
And what do you do?
79
Okay, you have a small bookstore you open it what happens now you can say
80
that okay some customers will start to come in now as more
81
and more customers start to come in what do you do your bookstore will start to get smaller right
82
so you want to accommodate more customers what is the first thing
83
that comes to mind okay this is a small shop what
84
do i do i will try to either expand my shop
85
or what i'm gonna do is i will shut down this store
86
and maybe i open an even bigger store correct now you have a bigger store
87
and what happens is you see more
88
and more customers come in your store is able to accommodate everyone
89
so what are you basically doing you are increasing your store capacity correct
90
and this process cannot just go on think about it what
91
if more customers starts to come in you have a lot of customers coming in correct
92
so what do you do now Okay, maybe I can increase my store once again.
93
My bookstore is even bigger now and I can accommodate more people.
94
But do you see the problem with this approach?
95
What if more and more customers start to come in?
96
What if you're becoming really, really popular?
97
Do you think that you can keep on expanding a bookstore?
98
You will face all of the issues, right?
99
You cannot have a very huge building.
100
You will have all these parking problems and all of the resources problems as well.
101
You cannot manage all the customers.
102
It will be all of a hassle, right?
103
So basically what you're currently doing right now is you are scaling your bookstore vertically.
104
That means you are gonna keep on increasing the size of your bookstore.
105
You will soon realize that you are running out of space, correct?
106
So you already know what solutions do all of these big companies come up with right
107
and what is
108
that they do not open a store at only one place
109
what will you do you will open different stores at different places correct
110
and each of these stores they are made on the basis
111
of your consumption correct you do not want to open a huge store where the footfall is very less
112
and vice versa
113
so basically what are you doing you are trying to expand
114
your business horizontally what you can do is you can use your same store format
115
and open it up in a lot of different places what did
116
that do with this you can distribute all of your customers at different places correct think about it
117
if you had your store open only in one region then
118
you're only targeting customers from this particular region you cannot expect
119
that someone will fly all the way to come at your store.
120
But if you have opened your store at all of these different places, a customer can go to any of the store that is nearest to them.
121
So this is how you are solving a problem.
122
And this is horizontal scaling.
123
So now you are understanding the two most important concepts, vertical scaling and horizontal scaling.
124
You cannot expect to have vertical scaling infinitely but with horizontal scaling you have a lot more scope.
125
So this was a pretty basic example when you were trying to open a bookstore and then you want to expand it.
126
You want more profits right and when it comes to computer programming
127
or making applications what happens is let us say you are developing an application correct
128
and this application will be having a database it will have some disk usage
129
and it will have some cpu as well
130
and now think about it you made your application on a
131
computer correct very basic let us say you have your home computer
132
and you made an application on it now let's say you
133
want to make this application available to someone you run your own server
134
and then you deploy this application so people will start coming in
135
and they will want to use your application correct but
136
if you notice the more
137
and more people will try to use your app what will
138
happen you will need more disk you will need more cpu and you will need more database as well So, the same concept applies over here.
139
Yes, you can increase your disk size and then you can even use a faster CPU.
140
Right now, you are having a 2 .2 GHz CPU.
141
You can switch to a 3 GHz.
142
Similarly, for a disk, you can have 2 TB of RAM and then you can upgrade to 4 TB of RAM.
143
Similarly, for database as well.
144
But do you see the problem?
145
If you have to deal with millions of users, think about Facebook, right?
146
You have so many users you cannot expect that you will keep on increasing your disk, database and CPU quantity.
147
You are limited, right?
148
You do not have a faster CPU than a particular limit, correct?
149
Another factor is that when you are dealing with such large memories, then the cost of things also start to grow.
150
I am pretty sure that when you have purchased components, you might have seen this as well.
151
For example, if you are taking two RAMs of 4TB each, they will cost you less than a single piece of 8TB RAM.
152
So, the price required is not linear.
153
So, you cannot keep on increasing your RAM continuously.
154
Your cost will keep on increasing exponentially and you will never make a profit.
155
In fact, if you look at the graph between your cost and memory, this graph will look something like this.
156
So as you increase your memory, the cost keeps on going up, right?
157
And whenever you're dealing with applications, you need more RAM, more and more fast memory.
158
So at that point, your application stops scaling.
159
You cannot just accommodate more and more customers to reach you.
160
So this is exactly similar when you're opening a bookstore, correct?
161
You cannot just keep on increasing your bookstore size.
162
You will face some of the problems.
163
And when you're dealing with computer applications, you get limited by all of these resources.
164
To give you an example, I just took two screenshots.
165
Just look at this.
166
Here is a solid state drive and for 4TB, the cost is approximately $230.
167
So, you would expect that, okay, for 8TB, I will get the double of cost, right?
168
But that is not true for high memories.
169
If you are increasing your storage size then the cost becomes greater than a multiple of two
170
and that is why you cannot just keep on having a vertical scaling.
171
You need to think something different and that is where horizontal scaling comes in.
172
Similar to the way we were opening all of our bookstores
173
what we now do is we take up our app
174
and we will try to deploy it in two different regions of the world.
175
So now what happens?
176
All of your customers that were coming from all the way to the world only in one region.
177
This was our condition, right?
178
And this was causing a problem.
179
What did we just do?
180
We have now deployed our applications in two different regions.
181
And now some customers can reach over here while the other users can reach over here.
182
So what did you do?
183
You partitioned your users, correct?
184
And you are able to give them the same service.
185
So this is a very high level overview design about what is a vertical scaling and what is a horizontal scaling.
186
And this is the exact reason why you need to study system design.
187
Because you cannot just keep on scaling up your application vertically.
188
It is just not possible you need to have different servers all throughout the world.
189
That is why you have so many services in all different regions of the world.
190
That is why there is a concept of latency because it depends which server are you trying to connect to.
191
If a server is hosted only in the Americas then this is the latency from all different countries.
192
So these are all the concepts that we will become familiar with
193
but for this video i just want to give you an overview
194
that this is system design and that is why we study it
195
and i really hope that this kind of peaks your interest
196
and you want to know more
197
and this is how i'm gonna structure my course as well
198
so basically what we are gonna do is just like this
199
real life example we will cover all of the basics of system design that means what are all the terminology used?
200
What is caching?
201
What is latency?
202
What is partitioning?
203
What is hashing?
204
What do all of these actually mean?
205
And we will go step by step over every example.
206
What is the individual component doing and how can you take advantage of it?
207
And once you are familiar with all of these basic concepts, we will start off with some very basic designs.
208
For example, how do you implement a service that is a URL shortener?
209
How do you implement a service something like Uber?
210
So just a basic idea, like how do you have this map structure and how do you find the nearest cab?
211
So these are some of the very basic designs and then we are going to understand each of the components as well.
212
So what I want to just say is, it is a journey and it will take some time.
213
Just keep letting me know if you are facing any problems and which part do you want me to expand more.
214
Just tell me if it gets very verbose or
215
if it starts to get boring
216
but all of this feedback will help me to curate this course even more effectively
217
and I promise I will try to simplify it as much as possible for you
218
and if everything goes right we will also look at some complex designs and some real -life applications too.
219
So that is all I had in my mind for now
220
so do let me know what are you feeling about this course
221
and are you looking forward to it that will surely keep me motivated.
222
Also if you find this channel helpful
223
and you really like these kind of explanations please do subscribe to my channel it really keeps me going
224
and if you want more consider joining my channel by
225
that you do get prior to reply to your comments
226
and you do get early access to these new videos as well
227
so stay tuned for my upcoming videos until then see ya
FOR YOU
推荐视频
本课的词汇与口语要点
这节 C1 级别的口语课以视频“System Design - Part 1”为素材。 视频中反复出现的词有:design, application, customer, correct, store。 这段视频共有 227 个句子、2833 个单词可供跟读。 讲话部分时长为 16:04。 说话人语速自然,每分钟约 176 个词,接近日常对话。 89% 的单词属于英语最常用的 3,000 词,其余的词建议在练习前先学一下。 全部 227 个句子中有 53 个是问句,适合练习疑问语调和简短回答。
视频中的重点词汇
视频中最难的 15 个单词,附发音和释义:
| 单词 | 发音 | 释义 |
|---|---|---|
| horizontal 形容词 | /ˌhoɹəˈzɑn.təl/ | 水平, 橫的 /横的 |
| disk 名词 | /dɪsk/ | 圓盤 /圆盘 |
| beginner 名词 | /bəˈɡɪnɚ/ | 初學者 /初学者, 新手 |
| deploy 动词 | /dɪˈplɔɪ/ | 部署 |
| accommodate 动词 | /əˈkɑməˌdeɪt/ | 容纳 |
| latency 名词 | /ˈleɪ.tən.si/ | 延遲 /延迟 |
| simplify 动词 | /ˈsɪmplɪfaɪ/ | 簡化 /简化 |
| intermediate 形容词 | /ɪn.tə(ɹ)ˈmi.di.ət/ | 中間 /中间, 中級 /中级 |
| exponentially 副词 | /ɛkspə(ʊ)ˈnɛnʃəli/ | 指数地 |
| cache 名词 | /kæʃ/ | 緩存 /缓存, 快取 |
| terminology 名词 | /ˌtɝ.məˈnɑ.lə.d͡ʒi/ | 術語學 /术语学 |
| algorithm 名词 | /ˈælɡəɹɪðm̩/ | 算法, 演算法 |
| graph 名词 | /ɡɹæf/ | 圖表 /图表 |
| verbose 形容词 | /vəˈbəʊs/ | 羅嗦 /罗嗦, 冗長 /冗长 |
| interviewer 名词 | /ˈɪntɚvjuɚ/ | 訪問者 /访问者 |
视频中出现的短语动词
| 单词 | 释义 |
|---|---|
| come up with 动词 | 想出, 提出 |
| go up 动词 | 上昇 /上升, 上去 |
| look forward to 动词 | 期待, 向往 |
值得反复跟读的句子
视频中简短而完整的句子,可以直接用在日常对话里:
- Where does it come in your interview?
- How would you deal with this bunch of customers?
- How would you deal with the high traffic?
- How would you scale the application all throughout?
- What if you're becoming really, really popular?
视频中的语法
说话人最常用的结构,并附上视频中的原话:
| 结构 | 视频中的用法 |
|---|---|
| 现在完成时 have/has + 过去分词 — 过去发生但与现在仍有关联的事 | has been · have talked · have covered |
| 被动语态 be + 过去分词 — 强调发生了什么,而不是谁做的 | is not expected · are just given · are not asked |
需要注意的发音
说话人用了 17 次缩略和弱读形式,例如 you're, gonna, I'm。请按听到的简短形式来说。
- “sh” 和 “zh” 音: exponentially /ɛkspə(ʊ)ˈnɛnʃəli/, cache /kæʃ/, partition /pɑɹˈtɪ.ʃən/, shortener /ˈʃɔɹtənɚ/, hash /ˈhæʃ/
- 长单词——注意重音位置: horizontal /ˌhoɹəˈzɑn.təl/, accommodate /əˈkɑməˌdeɪt/, intermediate /ɪn.tə(ɹ)ˈmi.di.ət/, exponentially /ɛkspə(ʊ)ˈnɛnʃəli/, vertically /ˈvɝ.tɪ.kəli/
中文母语者容易读错的音:
- /v/ — 不要读成 /w/,上齿轻触下唇: vertically /ˈvɝ.tɪ.kəli/, verbose /vəˈbəʊs/, interviewer /ˈɪntɚvjuɚ/, motivate /ˈmoʊ.tɪ.veɪt/, viewer /ˈvju.ɚ/
- 词尾辅音 — 要读清楚,后面不要加元音: disk /dɪsk/, accommodate /əˈkɑməˌdeɪt/, intermediate /ɪn.tə(ɹ)ˈmi.di.ət/, cache /kæʃ/, graph /ɡɹæf/
- /r/ 和 /l/ 的区别: horizontal /ˌhoɹəˈzɑn.təl/, algorithm /ˈælɡəɹɪðm̩/, broadly /ˈbɹɔːdli/
如何用这段视频练习
- 先完整听一遍视频,不要开口,记下不认识的单词。
- 先用 0.75 倍速逐句跟读,熟练之后再回到正常速度。
- 录下自己的声音并与原声对比,特别注意 horizontal, disk, beginner 这类单词。
什么是跟读法?
跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。












