How to start?
Unanswered
MatheusDeveloper posted this in #help-forum
Good evening, everyone,
Today, I had an interview for a Full Stack position at an American company. I've been in the market for a while but have admittedly neglected to dive deep into some core concepts. Now, I'm looking to build a study plan to tackle these gaps in my knowledge. The interview involved a question that really highlighted my areas of weakness, and I'd like to share it with you to get your insights on what I should focus on and why. The question was:
Imagine you are tasked with designing and architecting a new SaaS (Software as a Service) application aimed at providing real-time data analysis services for medium to large businesses. The system needs to be highly scalable, reliable, and capable of handling a vast amount of data and simultaneous users. Considering the following concepts:
Software Architecture:
Micro Frontends
Clean Architecture
Microservices
Serverless Architecture
Event-Driven Architecture
Design and Modeling Patterns:
MVVM (Model-View-ViewModel)
Singleton, Factory Method, Adapter
Design and Development Principles:
SOLID
DRY (Don't Repeat Yourself)
KISS (Keep It Simple, Stupid)
YAGNI (You Ain't Gonna Need It)
Software Development Methodologies:
TDD (Test-Driven Development)
Agile Development
Scrum
Kanban
Testing:
Unit Testing
Integration Testing
End-to-End Testing (E2E) Given this, what do you guys recommend I study first, and why? Any advice on how to approach these topics or resources you'd suggest would be greatly appreciated.
Given this, what do you guys recommend I study first, and why? Any advice on how to approach these topics or resources you'd suggest would be greatly appreciated.
Today, I had an interview for a Full Stack position at an American company. I've been in the market for a while but have admittedly neglected to dive deep into some core concepts. Now, I'm looking to build a study plan to tackle these gaps in my knowledge. The interview involved a question that really highlighted my areas of weakness, and I'd like to share it with you to get your insights on what I should focus on and why. The question was:
Imagine you are tasked with designing and architecting a new SaaS (Software as a Service) application aimed at providing real-time data analysis services for medium to large businesses. The system needs to be highly scalable, reliable, and capable of handling a vast amount of data and simultaneous users. Considering the following concepts:
Software Architecture:
Micro Frontends
Clean Architecture
Microservices
Serverless Architecture
Event-Driven Architecture
Design and Modeling Patterns:
MVVM (Model-View-ViewModel)
Singleton, Factory Method, Adapter
Design and Development Principles:
SOLID
DRY (Don't Repeat Yourself)
KISS (Keep It Simple, Stupid)
YAGNI (You Ain't Gonna Need It)
Software Development Methodologies:
TDD (Test-Driven Development)
Agile Development
Scrum
Kanban
Testing:
Unit Testing
Integration Testing
End-to-End Testing (E2E) Given this, what do you guys recommend I study first, and why? Any advice on how to approach these topics or resources you'd suggest would be greatly appreciated.
Given this, what do you guys recommend I study first, and why? Any advice on how to approach these topics or resources you'd suggest would be greatly appreciated.
26 Replies
@MatheusDeveloper Good evening, everyone,
Today, I had an interview for a Full Stack position at an American company. I've been in the market for a while but have admittedly neglected to dive deep into some core concepts. Now, I'm looking to build a study plan to tackle these gaps in my knowledge. The interview involved a question that really highlighted my areas of weakness, and I'd like to share it with you to get your insights on what I should focus on and why. The question was:
Imagine you are tasked with designing and architecting a new SaaS (Software as a Service) application aimed at providing real-time data analysis services for medium to large businesses. The system needs to be highly scalable, reliable, and capable of handling a vast amount of data and simultaneous users. Considering the following concepts:
Software Architecture:
Micro Frontends
Clean Architecture
Microservices
Serverless Architecture
Event-Driven Architecture
Design and Modeling Patterns:
MVVM (Model-View-ViewModel)
Singleton, Factory Method, Adapter
Design and Development Principles:
SOLID
DRY (Don't Repeat Yourself)
KISS (Keep It Simple, Stupid)
YAGNI (You Ain't Gonna Need It)
Software Development Methodologies:
TDD (Test-Driven Development)
Agile Development
Scrum
Kanban
Testing:
Unit Testing
Integration Testing
End-to-End Testing (E2E) Given this, what do you guys recommend I study first, and why? Any advice on how to approach these topics or resources you'd suggest would be greatly appreciated.
Given this, what do you guys recommend I study first, and why? Any advice on how to approach these topics or resources you'd suggest would be greatly appreciated.
I recommend you stress less about it. Asking this type of question, at this level of depth, across this many buzz words, to an interviewee is fucking toxic and you dodged a bullet.
Many people know all of this… myself included. If i was asked this i would laugh all the way out the front door.
Many people know all of this… myself included. If i was asked this i would laugh all the way out the front door.
It got really scary because in the last few years I just programmed and didn't delve deeper into these concepts, and I created some really cool systems that solved the problem that existed.
the one you got the question asked at
Nops, its 200k
hahaha, I had the same thought at the time, I hope to reach that salary level one day, now I will try to focus on some of these items to follow this path, I'm just trying to put together an action plan and decide where to start
should have been separated into its parts.
I should have asked back because whoever was interviewing me was a dev (now that I realize he might be seeing this, if you're reading this, help me hahaha)
The question seems reasonable to be honest but I would expect a bit more direction on it
Because it’s really broad
Idk what you study to answer that question though
The solution for it is having a bunch of varied experience. A realistic study plan would be “build something of similar complexity and ship it to customersâ€
The devil is also in the details, I can tell you how to build this system in a few minutes with an architecture diagram
But the problems around “scalability†and “reliability†is something you can’t really whiteboard
Whereas the way you build for scale in practice is by collecting metrics and figuring out bottle necks and then trying stuff
To make the system scalable
The issues you may identify when white boarding are gonna be different then when the code is built and deployed
Cimarrón Uruguayo
i'd say testing would be core for reliability
Overall I have to agree with DCR
This is a dick question
And whoever is asking it needs to improve their interviewing skills
A more realistic question would be: “here is a system, what steps would you take to explore snd test its scalability and resilienceâ€