Most of the information available is tailored for backend interviews, with limited resources for frontend interviews.
Recently, I changed jobs and encountered challenges along the way. After this job change, I decided to share some interview experiences to assist others. Feedback and insights from experienced professionals are welcomed.
Frontend Overview:
- The core of frontend is JavaScript, even though many associate frontend with web development. Some applications are written in JS and then transpiled, following the frontend interview process (e.g., Google YouTube App).
- Frontend roles are similar to Software Engineers in terms of titles, salaries, and responsibilities.
- Frontend interviews are framework-agnostic, focusing more on assessing the understanding of JavaScript.
Differences Between Frontend and Backend:
- Frontend knowledge emphasizes breadth over depth, covering a wide range of topics such as algorithms, component design, JS basics, DOM API, HTML, and CSS.
- Frontend interviews lack standardized criteria compared to backend interviews. While backend interviews typically focus on algorithms and design, frontend interviews may emphasize algorithms, UI, and JS to varying degrees.
- Frontend work involves closer interaction with users, requiring stronger communication skills. In non-IT companies, frontend engineers may be closer to business needs and managers due to their role in user-facing aspects.
- Frontend engineers are less likely to be overly technical or isolated, as their work requires collaboration with various stakeholders, including designers.
- Company culture may influence the emphasis on frontend and backend roles differently. For instance, Google leans towards backend culture with deep technical stacks, while companies like Facebook and LinkedIn prioritize frontend culture due to their flagship web or app products. This difference may affect promotion opportunities and interview processes.
Similarities Between Frontend and Backend:
- Experience plays a role in interviews, as seasoned engineers can demonstrate a broader perspective, faster problem-solving skills, and effective communication based on their past projects.
- Preparation for interviews at companies like Google, Facebook, and LinkedIn involves understanding their specific interview styles and technical requirements, with each company having its unique approach and expectations.
Frontend Preparation:
- Basic algorithm knowledge is essential, including BFS, DFS, recursion, and more advanced topics like topology sorting. LeetCode and algorithm textbooks like CLRS can be helpful.
- Solid understanding of JavaScript fundamentals through resources like “You Don’t Know JS” and “Secrets of the JavaScript Ninja.”
- Familiarity with HTML/CSS through practical projects and reviewing interview question banks.
- Deep dive into JS features and common interview topics, with websites like BFE.dev offering practice opportunities.
- Additional resources like MDN for detailed explanations of web technologies and API references, as well as system design concepts like type-ahead and chat rooms.
In conclusion, frontend interviews focus on breadth of knowledge and communication skills, with less emphasis on deep technical expertise.