The main focus in this round is to see your thought process and whether you'll be able to design a minimal system keeping future scale in mind and by following the standard principles.
How should one approach System Design questions during an interview?
Here's the step by step guide:
🧵👇🏻
The main focus in this round is to see your thought process and whether you'll be able to design a minimal system keeping future scale in mind and by following the standard principles.
You cannot possibly design a complex system in 1-2 hours which engineers usually take months to years to design, develop and build.
So this is how you should approach this round:
Example: "Design an application like Twitter"
- Post tweet
- Home timeline
- Profile timeline
- Analytics
- Likes
- Retweets
- Following
- Bookmark
- Trending etc
You get the idea!
Ask a lot of specific questions in this step and make sure both of you are on the same page.
- consistency
- availability
- durability
- scalability etc
In this step you can assume the traffic your service gets and estimate how much data you need to store in your tables so that your system works for the next 5 - 10 years without running into any problems.
- Read / Write ratio (ex: Twitter)
- Each file size (ex: Dropbox)
- Average photo size (ex: Instagram)
- Total active users (Ex: Facebook) etc
Based on the assumptions, you can calculate how much data you need to store in your tables.
Ex: In case of Twitter:
- Clients
- Timeline Svc
- Search Svc
- DB Storage
- Cache
etc
Come up with different tables, their schema and relations between them to store the data for your application.
Based on the columns and the data type of each of the column you can compute how much data you may need to store for the next 5-10 years.
For example if your data schema constantly changes and scalability is a requirement, you can go with a NoSQL db.
If transactions are important then go with SQL.
For example:
- in case of URL Shortener service they may ask you how you would generate the shortened url for every given long url.
In this case you may want to precompute the timeline for users because of the huge data volume and the realtime behaviour we need.
Since this is a spatial search problem, you may want to store the data in a quad tree.
Depending on the requirements, discuss about how you would do partitioning & sharding.
Cache allows you to store the frequently used data and access it much faster which improves the overall response time of your APIs.
In this case you may want to cache that 20% of the data. You can estimate how much cache storage is needed based on each entity data size and your total traffic.
Note that the interviewer may ask you to discuss all of the above step by step at high level as discussed or any one in detail.
More from Sunil Kumar
Are you an Angular developer?
Check these useful UI and Component libraries for Angular:
🧵👇🏻
1. Material Angular:
UI library for Angular based on Material
2. NG Bootstrap:
UI library for Angular based on the Bootstrap
3. PrimeNG:
Powerful UI component library for Angular
https://t.co/90VmurAdyD
4. Onsen Angular:
Hybrid mobile and PWA UI library for Angular and Onsen
Check these useful UI and Component libraries for Angular:
🧵👇🏻
1. Material Angular:
UI library for Angular based on Material
2. NG Bootstrap:
UI library for Angular based on the Bootstrap
3. PrimeNG:
Powerful UI component library for Angular
https://t.co/90VmurAdyD
4. Onsen Angular:
Hybrid mobile and PWA UI library for Angular and Onsen
Are you a web developer or a designer?
These websites will help you create professional mockups for your applications:
🧵👇🏻
1. Shot Snap:
Create beautiful device mockup images for your app or website
2. Smart Mockups:
Create stunning product mockups (free & premium)
https://t.co/1RmIQhAreS
3. Screely:
Instantly turn your screenshot into a mockup
https://t.co/riAzf7CioH
4. Screenshot .rocks:
Create beautiful browser & mobile mockups in seconds.
https://t.co/EpxLukHg8T
These websites will help you create professional mockups for your applications:
🧵👇🏻
1. Shot Snap:
Create beautiful device mockup images for your app or website
2. Smart Mockups:
Create stunning product mockups (free & premium)
https://t.co/1RmIQhAreS
3. Screely:
Instantly turn your screenshot into a mockup
https://t.co/riAzf7CioH
4. Screenshot .rocks:
Create beautiful browser & mobile mockups in seconds.
https://t.co/EpxLukHg8T
Are you a front-end developer or a designer?
Here's a list of websites to get inspiration for design and building UI:
🧵👇🏻
1. Behance
https://t.co/eNm9PHPwiv
2. Dribbble
https://t.co/79Zq4AISuB
3. Httpster
https://t.co/U7xXszEdRU
4.
5. Design Notes
https://t.co/io8DVOLWSv
6. Land Book
https://t.co/KsNQxWxmqh
7. Frontend Mentor
https://t.co/NfvVVgEsOE
8.
9. Codrops
https://t.co/hfmwzhG0bk
10. SaaS Landing Page
https://t.co/NYXxCvFDTj
11. Pages .xyz
https://t.co/ilxtaHQ7j5
12. UI
13. lapa ninja
https://t.co/nmhJ6wgSfl
14. Freefrontend
https://t.co/FrDYMKfnPO
15. Webframe
https://t.co/GhVhkWFg5f
16. Collect
Here's a list of websites to get inspiration for design and building UI:
🧵👇🏻
1. Behance
https://t.co/eNm9PHPwiv
2. Dribbble
https://t.co/79Zq4AISuB
3. Httpster
https://t.co/U7xXszEdRU
4.
5. Design Notes
https://t.co/io8DVOLWSv
6. Land Book
https://t.co/KsNQxWxmqh
7. Frontend Mentor
https://t.co/NfvVVgEsOE
8.
9. Codrops
https://t.co/hfmwzhG0bk
10. SaaS Landing Page
https://t.co/NYXxCvFDTj
11. Pages .xyz
https://t.co/ilxtaHQ7j5
12. UI
13. lapa ninja
https://t.co/nmhJ6wgSfl
14. Freefrontend
https://t.co/FrDYMKfnPO
15. Webframe
https://t.co/GhVhkWFg5f
16. Collect
More from Software
Developer productivity, y'all. It is a three TRILLION dollar opportunity, per the stripe report.
Eng managers and directors, we have got to stop asking for "more headcount" and start treating this like the systems problem that it is. https://t.co/XJ0CkFdgiO
If you are getting barely more than 50% productivity out of your very expensive engineers, I can pretty much guarantee you cannot hire your way out of this resourcing issue. 😐
(the stripe report is here:
Say you've got a strategic initiative that 3 engineers to build and support it. Well, they're going to be swimming in the same muddy pipeline as everyone else at ~50%, so you're actually gotta source, hire and train 6, er make that 7 (gonna need another manager too now)...
...which actually understates the problem, because each person you add also adds friction and overhead to the system. Communication, coordination all get harder and processes get more complex and elaborate, etc.
So we could hire 7 people, or we could patch up our sociotechnical system to lose say only 25% productivity to tech debt, instead of 42%? 🤔
By my calculations, that would reclaim 3 engineers worth of capacity given a team of just 17-18 people.
Eng managers and directors, we have got to stop asking for "more headcount" and start treating this like the systems problem that it is. https://t.co/XJ0CkFdgiO
When people often have to spend weeks just to get a local development environment up, there is a lot to improve. \U0001f641
— Daniel Schildt (@autiomaa) December 20, 2020
If you are getting barely more than 50% productivity out of your very expensive engineers, I can pretty much guarantee you cannot hire your way out of this resourcing issue. 😐
(the stripe report is here:
Say you've got a strategic initiative that 3 engineers to build and support it. Well, they're going to be swimming in the same muddy pipeline as everyone else at ~50%, so you're actually gotta source, hire and train 6, er make that 7 (gonna need another manager too now)...
...which actually understates the problem, because each person you add also adds friction and overhead to the system. Communication, coordination all get harder and processes get more complex and elaborate, etc.
So we could hire 7 people, or we could patch up our sociotechnical system to lose say only 25% productivity to tech debt, instead of 42%? 🤔
By my calculations, that would reclaim 3 engineers worth of capacity given a team of just 17-18 people.
Are you a Designer or a Developer?👨💻
Here are some Google Chrome extensions that can make you better in 2021. 🔥🍀
(Thread) 🧵👇
1. https://t.co/zGir5E5U0J: https://t.co/PVx1wlX0Se is the easiest way to stay updated on the latest programming news. Get the hottest dev news from the best tech blogs on any topic you can think of.
2. CSS Peeper: CSS Peeper is a CSS viewer tailored for Designers. Get access to useful styles with our Chrome extension. Its mission is to let Designers focus on design, and spend as little time as possible digging in a
3. UX Check: UX Check makes heuristic evaluations quick and easy. The extension will open up Nielsen's Ten Heuristics in a side pane next to your website.
4. Checkbot: Checkbot finds critical SEO, speed & security problems before your website visitors do
Tests 100s of pages at once for broken links, duplicate titles, invalid HTML, insecure pages, and 50+ other
Here are some Google Chrome extensions that can make you better in 2021. 🔥🍀
(Thread) 🧵👇
1. https://t.co/zGir5E5U0J: https://t.co/PVx1wlX0Se is the easiest way to stay updated on the latest programming news. Get the hottest dev news from the best tech blogs on any topic you can think of.
2. CSS Peeper: CSS Peeper is a CSS viewer tailored for Designers. Get access to useful styles with our Chrome extension. Its mission is to let Designers focus on design, and spend as little time as possible digging in a
3. UX Check: UX Check makes heuristic evaluations quick and easy. The extension will open up Nielsen's Ten Heuristics in a side pane next to your website.
4. Checkbot: Checkbot finds critical SEO, speed & security problems before your website visitors do
Tests 100s of pages at once for broken links, duplicate titles, invalid HTML, insecure pages, and 50+ other
Software architecture is in crisis, and the way to fix it is a hefty dose of anarchy.
Some lay the blame for this on @boicy with the whole microservices thing.
(Admittedly, @nicolefv, @jezhumble and @realgenekim didn’t help when they statistically proved that he might have been onto something with all that de-coupling and team-alignment…)
However I don’t blame him at all.
I think he saved us; bringing us back to the path of value-delivery and independent services, but now with added independent teams.
But one thing is clear. Microservices need more architecture, not less (as do other forms of #Accelerate-style software organisation).
(See https://t.co/B2hWmXhIqe if you need convincing)
I mean, all those pesky slices we need to carve up our monoliths (or were they big balls of mud?) That’s a significant amount of work right there…
Some lay the blame for this on @boicy with the whole microservices thing.
(Admittedly, @nicolefv, @jezhumble and @realgenekim didn’t help when they statistically proved that he might have been onto something with all that de-coupling and team-alignment…)
However I don’t blame him at all.
I think he saved us; bringing us back to the path of value-delivery and independent services, but now with added independent teams.
But one thing is clear. Microservices need more architecture, not less (as do other forms of #Accelerate-style software organisation).
(See https://t.co/B2hWmXhIqe if you need convincing)
I mean, all those pesky slices we need to carve up our monoliths (or were they big balls of mud?) That’s a significant amount of work right there…
You May Also Like
fascinated by this man, mario cortellucci, and his outsized influence on ontario and GTA politics. cortellucci, who lives in vaughan and ran as a far-right candidate for the italian senate back in 2018 - is a major ford donor...
his name might sound familiar because the new cortellucci vaughan hospital at mackenzie health, the one doug ford has been touting lately as a covid-centric facility, is named after him and his family
but his name also pops up in a LOT of other ford projects. for instance - he controls the long term lease on big parts of toronto's portlands... where doug ford once proposed building an nfl stadium and monorail... https://t.co/weOMJ51bVF
cortellucci, who is a developer, also owns a large chunk of the greenbelt. doug ford's desire to develop the greenbelt has been
and late last year he rolled back the mandate of conservation authorities there, prompting the resignations of several members of the greenbelt advisory
his name might sound familiar because the new cortellucci vaughan hospital at mackenzie health, the one doug ford has been touting lately as a covid-centric facility, is named after him and his family
but his name also pops up in a LOT of other ford projects. for instance - he controls the long term lease on big parts of toronto's portlands... where doug ford once proposed building an nfl stadium and monorail... https://t.co/weOMJ51bVF
cortellucci, who is a developer, also owns a large chunk of the greenbelt. doug ford's desire to develop the greenbelt has been
and late last year he rolled back the mandate of conservation authorities there, prompting the resignations of several members of the greenbelt advisory
Trading view scanner process -
1 - open trading view in your browser and select stock scanner in left corner down side .
2 - touch the percentage% gain change ( and u can see higest gainer of today)
3. Then, start with 6% gainer to 20% gainer and look charts of everyone in daily Timeframe . (For fno selection u can choose 1% to 4% )
4. Then manually select the stocks which are going to give all time high BO or 52 high BO or already given.
5. U can also select those stocks which are going to give range breakout or already given range BO
6 . If in 15 min chart📊 any stock sustaing near BO zone or after BO then select it on your watchlist
7 . Now next day if any stock show momentum u can take trade in it with RM
This looks very easy & simple but,
U will amazed to see it's result if you follow proper risk management.
I did 4x my capital by trading in only momentum stocks.
I will keep sharing such learning thread 🧵 for you 🙏💞🙏
Keep learning / keep sharing 🙏
@AdityaTodmal
1 - open trading view in your browser and select stock scanner in left corner down side .
2 - touch the percentage% gain change ( and u can see higest gainer of today)
Making thread \U0001f9f5 on trading view scanner by which you can select intraday and btst stocks .
— Vikrant (@Trading0secrets) October 22, 2021
In just few hours (Without any watchlist)
Some manual efforts u have to put on it.
Soon going to share the process with u whenever it will be ready .
"How's the josh?"guys \U0001f57a\U0001f3b7\U0001f483
3. Then, start with 6% gainer to 20% gainer and look charts of everyone in daily Timeframe . (For fno selection u can choose 1% to 4% )
4. Then manually select the stocks which are going to give all time high BO or 52 high BO or already given.
5. U can also select those stocks which are going to give range breakout or already given range BO
6 . If in 15 min chart📊 any stock sustaing near BO zone or after BO then select it on your watchlist
7 . Now next day if any stock show momentum u can take trade in it with RM
This looks very easy & simple but,
U will amazed to see it's result if you follow proper risk management.
I did 4x my capital by trading in only momentum stocks.
I will keep sharing such learning thread 🧵 for you 🙏💞🙏
Keep learning / keep sharing 🙏
@AdityaTodmal