article This originally appeared on dormoshe.io Either you are currently a job seeker or not, as a web developer there are basic and advanced topics that you need to know. You need to know them in order to develop products of that have a and that use the technologies. high quality good performance fittest In this article, we will go through my experience as a job seeker and we will review the to learn in order to prepare our skill set and the chances to get our dream job. most important things maximize Before we start There are to read before this article. They don’t depend on each other. two recommended articles Prepare your Skill Set for Web Developer Interviews — Part 1 _Either if you are currently a job seeker or not, as a web developer there are basic and advanced topics that you need…_dormoshe.io Prepare Your Skill Set for Web Developer Interviews - Part 1 - Dor Moshe's Blog Prepare Yourself for the of Searching Your Dream Job Mental Phase _Either if you are currently in a job seeking period or being in the past, you sure remember this or those periods. A…_dormoshe.io Prepare Yourself for the Mental Phase of Searching Your Dream Job - Dor Moshe's Blog Architecture One of the most popular questions in interviews is ‘ ’. This is a question that you can practice in your home before the interview. Sometimes it’s even hard to discuss this request without any preparation. You need to pick something that you built or a part in one of your projects which you know its details. You don’t must to choose something that you implemented by yourself, but Tell me about something you built As much as you implemented and understood more parts of the solution, the discussion about it will be easier and more natural When you asked to do so you need to draw the of the architecture. It depends on how much it’s big. If it’s not so big you can draw the classes that you chose to use if there is. Otherwise, you can draw blocks of or other parts of the architecture. It’s preferred to explain shortly the that you implemented the solution according to them. You need to be able to explain the . For example, REST APIs that the service can serve. main blocks Micro-Services requests and the restrictions flow of the process This part of the interview . You can be asked to implement some parts of the solution in details. You can be asked to suggest an improvement to the solution according to some new restrictions or information which the interviewer will give to you. For example, ‘There are some points of failure in a big flow of your report generation, how can you cope with them?’ or ‘There is a massive operation that stuck other requests from being served, what can you do?’. Some of the answers can be ‘implement a queue’, ‘do preprocessing’, ‘add scheduled tasks’, ‘add more instances of the service’, and many more. can be evolved in some ways System Design and Flows — photo credit for visusllc.com As you can see this part is very dynamic and can be flown to a lot of parts of knowledge and experience. With all of this, . My advice is to do so. Think about the solution, pros, cons, obstacles and restrictions that can appear. As such as you be more prepared for this part, you will have confidence and you will be less nervous. I like this kind of parts in interviews :) you need to remember that it’s something you can practice and learn before the interview Microservices and Microfrontends When your team gets bigger and bigger, more difficulties appear in the project. It’s not easy for developers to work on the same code base. For production purposes, you need to deploy only some part of your application, but in a monolith, you must deploy all the project. This is where . Microservices is an that structures an application as a collection of . Each of those services can focus on sub-domain of the application. Micro-Services get into your life architectural style loosely coupled services This architecture enables the continuous delivery of large and complex applications. It also enables organizations to because each service is an and have a defined API for communication. Microservices improve fault isolation, eliminate long-term commitment to a single technology stack and make it easier for a new developer to understand specific parts of the application functionality. evolve their technology stack autonomy As microservices in the backend, there are . These concepts bring a lot of advantages to organizations. The world walks there, and in a lot of companies is already there. in the interview. It can show that you look at the and this is something that companies are looking for. But if we are looking for a prioritization, I don’t rank it as a high priority if you have other gaps in more important topics and you are not a senior developer. So, even if you don’t know it, it’s OK. It’s nice to have. Microfrontends in the frontend Demonstration of knowledge in these topics can add you some good points big picture Micro-Frontends — photo credit for Tom Söderlund Component-Based Architecture SPA and JavaScript frameworks succeeded to enter into our life. MVC is a common architecture of a lot of applications, but . In 2013, Facebook released and redefined the way Front-End developers build applications — . something has been changed React library Component-Based Architecture It doesn’t matter which of the frameworks do you know — it matters if you understand the principles behind them A component encapsulates functionality and behaviors of a software element into a reusable and self-deployable binary unit. The architecture reduces the and makes the developers’ life easier. The code is more understandable. It’s convenient to work on one application with more than one team. It’s more reusable, replaceable, extensible and encapsulated. , in any application on the web. time to market Component-based development isn’t just the future of the web. It’s what you should be doing now Component-Based Architecture AngularJS, Angular, React, React Fiber, Vue SPA is in the front of the web development in the last years. A big part of the you do is about the main participant — Angular, React and Vue. . Therefore, it changes the web architecture, the software courses’ syllabuses, and the high tech recruitment demands. hallway conversations SPA frameworks are predominant on the web . The virtual DOM is a copy of the DOM which used to check what are the differences between the current DOM and the new output (new DOM) of the rendering process. React and Vue use this mechanism to render only the differences on the real DOM because the DOM operations are expensive. Therefore, this is a . One of the major advantages of React and Vue is the Virtual DOM mechanism huge boost for application’s performance More important facts to drill down to: Angular is backed by Google. React is backed by Facebook React and Vue are . Angular is a whole platform only view libraries React Fiber is a of React’s core algorithm reimplementation Angular is so much different from AngularJS, that they get an attention as two different technologies The wealth and various in technologies is one of the best things that is done in the web zone and we are part of it Know how to speak about them in tech-talks is an advantage for a candidate. . Knowing the evolution of these technologies is a good point to start. It’s easy to understand if you quote slogans from blogs or you have an understanding of the whole picture Design Patterns Design patterns are widely used. If you are an Angular developer, and even if not, you can think about a lot of design patterns you use every day. Angular is based on the pattern. s are widely used in JavaScript for keeping particular pieces of code independent of other components. ES6 classes and inheritance which you use are implemented by the pattern. Services are mostly and you consume them by the mechanism. Model-View-Controller Module Prototype Singletons Dependency Injection When you use some library and you want to be able to replace it in the future, you use pattern. Angular’s HTTP service is also a kind of Adapter. RxJS is one of Angular’s dependencies. When you use RxJS’ Subject/Observer/Subscribers you are making a use of pattern. Adapter Observer And I really can go on. Design Patterns are everywhere It’s not something that stays in the university course and you can forget it. It is part of the things which make us good developers. If we use design patterns correctly, it makes our code more maintainable, readable, and scalable. My advice here is to know the common DPs and . be sure you know how to implement at least three of them Algorithms, Data-Structures, and Riddles If you are a junior developer without a web experience, this section is especially for you. When you don’t have any experience in this field, most of the questions focus on the topic which learned in the university. Those topics can contain a various pull of algorithms and data-structure problems. I suggest of sorting algorithms, problems like TSP, graphs, trees, search, recursion and dynamic programming. building a good basis You need to know how to and suggest improvements to some problems solutions by restrictions which the interview will give you. At most of the time, you can write your answer as a pseudo code or by some of the common languages which you know, like JavaScript, Java, and C#. In order to practice this section, you can see the ‘Action Items’ section at the end of the article. analyze time and space complexities Action Items As you keep reading you probably collecting some of which are less familiar to you. Write them on a side note and start to investigate them by the . In the field of design patterns, be sure you know how to implement at least three of them. buzzwords, terms, and topics links which I attached in their paragraphs above Leet Code The purpose of is to provide you a hands-on training on real coding interview questions. The Online Judge gives you immediate feedback on the correctness and efficiency of your algorithm which facilitates a great learning experience. LeetCode helps you to level up your coding skills and quickly land a job. This is one of the best places to expand your knowledge and get prepared for your next interview. You can find questions on a lot of topics including Object Oriented Design, Operating System, Algorithms and Databases. LeetCode Leetcode Codewars is a community of developers, which called Code Warriors (or just warriors), that . Think of it like a coding dojo — where developers train with each other and help each other to get better through practice. Codewars currently supports 21 languages, including Go, Clojure, Haskell and Typescript, and 11 languages in beta, including Kotlin, Groovy, R, and Scala. Codewars train on improving their development skills Codewars Glassdoor is my favorite place to . You can read summary information, ranking, reviews and salaries about various companies from current and previous employees. In addition, you can find job interviews questions from hundreds of companies in a great user experience. I recommend you to enter and . I also recommend to practice — there are a lot and they are interesting. Glassdoor search for a position practice the relevant questions from the company you have an interview there Facebook interview questions Glassdoor Conclusion Interviews are something that you can prepare yourself for. The preparation can helps you to improve your self-confidence and can reminds you topics that you unusually use. It’s recommended to take some time to do it, but you need to stay focused. You can follow me on dormoshe.io or Twitter to read more about Angular, JavaScript and web development.
Share Your Thoughts