If I develop just the webpage or webapp (such as using React or Vue), how does "scaling" the webapp have to do with my job, unless if it is related to the back end? What should I learn or how should I learn more?
One other time I interviewed for a front end dev role and they asked me how to design the Google search server infrastructure.
Top comments (7)
It's called System Design part of the interview. They want to understand your knowledge about software architecture in general and how you can be part of decision making if any new project starts. So, generally they don't want you to go through intricate details of the system, instead they want you to outline the basic components of a Google search server in your case. They might be interested in testing your knowledge about scalability, load balancing and other design related concepts. As far as scaling the app is concerned, they want you to go through how you structure a web app. They want to know how you will manage service, state management, UI components, presentational components in your web app and how your decisions can improve and scale web app to a greater extent.
being a front end developer, maybe we can talk about scalability for 10, 15 minutes... talking about it for an hour I think I'd probably run out of things to discuss
Donβt worry about that, you wonβt be asked to do an hour long talk about it, itβll probably be just a discussion and theyβll be the ones directing it. So just be prepare for it as much as you can and try not to overthink it. You wonβt be giving a talk, youβll be part of one.
I hope that's the case. Certainly if is a discussion only, it is not an issue. If they make an offer, it is even more so not an issue. I have interviewed with companies that pushed and pushed, and sounded like why I am not giving proper scalability design or infrastructure architecture and showing displeased facial expression, and then not extending any offer (note that it is a front end dev role), and when I made any feedback to the recruiting department, they'd say, "not every (hiring) system is perfect."
by the way, the "scaling the webapp" is a one hour interview session.
They will most likely present you some random case of a web app that has hit scale. Ex. pages load slowly, network connections start timing out and your servers are starting to creak under heavy load.
Since you are applying for front end role, you will be asked to discuss how you can use catching (browser vs CDN) and their roles of static and personalized content, differences between centralized and high latency components, the principles of CI & CD and how you would implement them, the importance of TDD, how 'X' design pattern could make massive code base more maintainable, etc.
They are not looking for A-Z solution on the site. They are looking for your initial thought process, the initial steps you would take if you would tackle the presented case tomorrow.
Scaling is really about how it is easy to make changes, whether it's backend infrastructure, front-end infrastructure or code structure.
If could be any of that really. Saeed's answer is great π