Luyện nói tiếng Anh bằng Shadowing qua video: System Design - Part 1 | Introduction & Career Path | Why you need to learn System Design?

Chọn chế độ luyện tập

Mỗi chế độ mở một phòng luyện tập toàn màn hình.

227 câu
Nếu các câu quá ngắn hoặc quá dài, hãy bấm Edit để chỉnh sửa.
1
It has been quite some time since I have wanted to start my series on system design.
Đã khá lâu rồi tôi mới có ý định bắt đầu chuỗi bài viết về thiết kế hệ thống của mình.
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

Tải Ứng Dụng

Mọi thứ bạn cần để nói trôi chảy

Chấm điểm AIChấm từng câu nói
Luyện IPAThành thạo mọi âm
Từ vựngMở rộng vốn từ
Game Từ vựngHọc qua chơi
FOR YOU

Video gợi ý

Từ vựng và ghi chú luyện nói cho bài học này

Bài luyện nói trình độ C1 này dựa trên video “System Design - Part 1”. Những từ được nhắc lại nhiều nhất trong bài: design, application, customer, correct, store. Video này có 227 câu và 2833 từ để luyện shadowing. Phần lời nói dài 16:04. Người nói nói với tốc độ tự nhiên, khoảng 176 từ mỗi phút, gần với hội thoại hằng ngày. 89% số từ nằm trong 3.000 từ tiếng Anh thông dụng nhất; phần còn lại nên xem trước khi luyện. 53 trong 227 câu là câu hỏi, nên bài này hợp để luyện ngữ điệu câu hỏi và cách trả lời ngắn.

Từ vựng quan trọng trong video

15 từ khó nhất trong video, kèm phiên âm và nghĩa:

TừPhiên âmNghĩa
horizontal tính từ/ˌhoɹəˈzɑn.təl/ngang
disk danh từ/dɪsk/đĩa
beginner danh từ/bəˈɡɪnɚ/người bắt đầu, người mới học
simplify động từ/ˈsɪmplɪfaɪ/đơn giản hóa
cache danh từ/kæʃ/bộ nhớ đệm, vùng nhớ đệm
algorithm danh từ/ˈælɡəɹɪðm̩/thuật toán
graph danh từ/ɡɹæf/biểu đồ
motivate động từ/ˈmoʊ.tɪ.veɪt/khích lệ, động viên
hash danh từ/ˈhæʃ/thịt băm, thịt bằm
screenshot danh từ/ˈskriːn.ʃɑt/ảnh chụp màn hình, hình chụp màn hình
viewer danh từ/ˈvju.ɚ/khán giả, người xem
diagram danh từ/ˈdaɪ.ə.ɡɹæm/giản đồ, biểu đồ
module danh từ/ˈmɑd͡ʒul/mô-đun, bộ phận rời
bore động từ/boɹ/khoan, đục
subscribe động từ/səbˈskɹaɪb/đăng kí

Cụm động từ bạn sẽ nghe

TừNghĩa
go up động từlên
shut down động từtắt nguồn

Những câu đáng luyện lại

Các câu ngắn, trọn ý trong video mà bạn có thể dùng lại khi giao tiếp hằng ngày:

  • 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?

Ngữ pháp trong video

Những cấu trúc người nói dùng nhiều nhất, kèm đúng cụm từ trong video:

Cấu trúcTrong video
Thì hiện tại hoàn thành have/has + quá khứ phân từ — việc đã xảy ra nhưng còn liên quan đến hiện tạihas been · have talked · have covered
Câu bị động be + quá khứ phân từ — nhấn vào việc xảy ra, không phải người làmis not expected · are just given · are not asked

Phát âm cần chú ý

Người nói dùng 17 dạng rút gọn, ví dụ you're, gonna, I'm. Hãy nói theo dạng ngắn đúng như bạn nghe.

  • Âm “sh” và “zh”: exponentially /ɛkspə(ʊ)ˈnɛnʃəli/, cache /kæʃ/, partition /pɑɹˈtɪ.ʃən/, shortener /ˈʃɔɹtənɚ/, hash /ˈhæʃ/
  • Từ dài — đặt trọng âm cho đúng: 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/

Những âm người Việt thường gặp khó:

  • Âm /tʃ/, /dʒ/ và /ʒ/ — tiếng Việt không có, đừng đọc thành “ch” hay “gi”: terminology /ˌtɝ.məˈnɑ.lə.d͡ʒi/, module /ˈmɑd͡ʒul/
  • Âm /æ/ — mở miệng rộng hơn âm “e”: cache /kæʃ/, algorithm /ˈælɡəɹɪðm̩/, graph /ɡɹæf/, hassle /ˈhæsl̩/, hash /ˈhæʃ/
  • Phụ âm cuối — bật rõ âm cuối của từ: disk /dɪsk/, accommodate /əˈkɑməˌdeɪt/, intermediate /ɪn.tə(ɹ)ˈmi.di.ət/, cache /kæʃ/, graph /ɡɹæf/

Cách luyện với video này

  1. Nghe hết video một lần, chưa cần nói, và ghi lại những từ bạn chưa biết.
  2. Bắt đầu ở tốc độ 0,75×, nói đuổi từng câu, rồi quay lại tốc độ bình thường khi đã quen.
  3. Ghi âm giọng mình rồi so với bản gốc, chú ý các từ như horizontal, disk, beginner.

Phương Pháp Shadowing Là Gì?

Shadowing là kỹ thuật học ngôn ngữ có cơ sở khoa học, ban đầu được phát triển cho chương trình đào tạo phiên dịch viên chuyên nghiệp và được phổ biến rộng rãi bởi nhà đa ngôn ngữ học Dr. Alexander Arguelles. Nguyên lý cốt lõi đơn giản nhưng cực kỳ hiệu quả: bạn nghe tiếng Anh của người bản xứ và lặp lại to ngay lập tức — như một "cái bóng" (shadow) đuổi theo người nói với độ trễ chỉ 1–2 giây. Khác với luyện ngữ pháp hay học từ vựng bị động, Shadowing buộc não bộ và cơ miệng phải đồng thời xử lý và tái tạo ngôn ngữ thực tế. Các nghiên cứu khoa học xác nhận phương pháp này cải thiện đáng kể phát âm, ngữ điệu, nhịp điệu, nối âm, kỹ năng nghe và độ lưu loát khi nói — đặc biệt hiệu quả cho người luyện IELTS Speaking và muốn giao tiếp tiếng Anh tự nhiên như người bản ngữ.

Phương pháp shadowing: đọc hướng dẫn từng bước đầy đủ →