The goal here is to provide a complete guideline to get that job in angular. This repo is in baby stage. So feel free to slap with pull requests.
- Understand Your Current Level
- Know the Interviewer
- Beginners Level
- Intermediate Level
- Expert Level
- Coding Test: Coming soon
The most important step to get that job is to understand yourself. your skill. your strength and your weakness as well. If you don't feel confident about any part. Do a favor yourself by googling and spend few minutes to go throw some blog or youtube videos.
- If you can create a angular app by using angular-cli or any other seed. also understand component, module, pipes, service, etc. you can consider yourself in the beginners level.If you don't have any clue what I am talking about, watch this video and follow steps.
- If you have full functional app that is deployed somewhere or have code in github. you understand detail about routing module breakdown, unit test, styling, build etc., you can consider yourself in intermediate level
- If you master in lazy loading, AOT, you can put yourself in the expert level
- Rest of the people are either angular dumb or angular rockstar.
Do a favor to yourself. Goggole the interviewer. Look at his/her linkedin provile. Check whether he/she has any youtube video, talk or active blog. and after your research try to put the interviewer in one of the following category
- Lazy interviewer asks about terminology. Sometimes they google questions and ask you from there. For them see the Termninology related questions
- Modest and nicer interview wants to check whether you can get the job done. and you know stuff. For this kind of interviewer look at the How category questions
- Smart interviewer wants to know that you think, you compare and analyze stuff to make consious decisions. For these type of nerdy inteviewer (they would love to prove you wrong. and one important tip: don't try to prove them wrong) you should study why type of questions
Research the team. Search people in the linked in by company name and then look their profile in github.
For the beginners level an interviewer wants to know whehter this interviewee is self learner, trainable. Hence he/she wants to know you are familiar with basic terminology, coded something and understand why you are using some part in a very high level.
- What are the difference between angularJS (angular 1.0) and angular2?
- What is a component? why would you use it?
- What is the minimum definition of a component?
- What is a module and what does it contains?
- What is a service and why will you use it?
- What is a promise? Explain it in simple words.
- What are the life cycle hooks for component and directives?
- What is pipes?
- What is a pure pipe?
- What is dumb component
- How do components communicate with each other?
- How do you create two way data binding in Angular?
- How you build an angular app for production
- How would you run unit test
- How you create custom pipes
- Which life cycle hook will you use to unsbscribe a promise
- How can you get current state of a route
- How will you protect a route for authorized user only
- How to use http service to load data from serve
- How are the services injected to your application?
- Why would you use angular-cli
- What are the difference between a component and a directive
- Why would you use typescript aka benefits of typescript
Answers link coming soon
you built angular2 you played with routing, https, different built process, unit test, etc. here are the questions you could expect
In the intermediate level you are very comfortable with angular. Hence there is no what questions. Actually you know all of them by now. Hence there will be only how and why type questions
- What is the difference between RouterModule.forRoot() vs RouterModule.forChild()? Why is it important?
- What is the difference between an observable and a promise?
- What are some of the angular apis that are using observables?
- What is the difference between a module's forRoot() and forChild() methods and why do you need it?
- What is a structural directive?
- What pseudo-class selector targets styles in the element that hosts the component?
- What's the difference between dirty, touched, and pristine on a form element?
- What is a structural directive?
- What is an async pipe?
- What kind of data can be used with async pipe?
- What is the difference between ngOnInit() and constructor() of a component?
- When will ngOnInit be called?
- How would you make use of ngOnInit()?
- What is authGuard
- How do components communicate with each other?
- How do you create two way data binding in Angular?
- What is the purpose of NgModule?
- How do you decide to create a new NgModule?
- How do you identify a structural directive in html?
- How would you select a custom component to style it.
- How would you select all the child components' elements?
- How would you make use of ngOnInit()?
- How would you cache an observable data?
- How will you inject header
- How would you create a custom pipe?
- How would you pass data from a parent component to a child component?
- How would you pass data from a child component to a parent component?
- How would you cache observable data?
- How do you mock a service to inject in a unit test?
- How do you mock a module in a unit test?
- Why angular2 uses decorator
- When will ngOnInit be called?
- Why do you need type definitions?
- Which components will be notified when an event is emitted?
- Why would you create shared module?
- What would you not put shared module?
- Why would you export from ngModule?
- Why is it bad if SharedModule provides a service to a lazy loaded module?
- What is the difference between an observable and a promise?
- Can you explain the difference between ActivatedRoute and RouterState?
- which service will you put in the module and why
- What is async validation and how is it done?
answers coming soon
you just built hello world in angular2+ and may be you followed some video or blog and now you are brave enough to tell the interviewer that you know little bit angular2.
- what is factory Component
- What is lazy loading
- what is AOT
- What are some of the Angular Style Guide suggestions you follow on your code? Why?
- what is wildcard state?
- How do you put animation between two states?
- How will you do lazy loading in angular application
- What would be a good use for NgZone service?
- How would you protect a component being activated through the router?
- How would you insert an embedded view from a prepared TemplateRef?
-
How will you http interceptor
-
How you parallelize multiple observable call
-
how will you put one async call before another
-
What tools would you use to find a performance issue in your code?
-
What are some ways you may improve your website's scrolling performance?
-
Explain the difference between layout, painting and compositing.
-
When does a lazy loaded module is loaded?
-
How do you identify a structural directive in html?
-
How would you create a component to display error messages throughout your application?
- How would you implement a multiple api calls that needs to happen in order using rxjs?
- How would you make sure an api call that needs to be called only once but with multiple conditions. Example: if you need to get some data in multiple routes but, once you get it, you can reuse it in the routes that needs it, therefor no need to make another call to your backend apis.
- If you need to respond to two different Observable/Subject with one callback function, how would you do it?(ex: if you need to change the url through route parameters and with prev/next buttons).
Answers link coming soon
This part coming soon 2. How would you implement a brush behavior using rxjs? 3. How would you implement a color picker with rxjs?
Answers link coming soon
Few questions are inspired by Yonet