Skip to content

Commit fa1a1a4

Browse files
committed
remove duplicates
1 parent d7ea948 commit fa1a1a4

File tree

1 file changed

+46
-42
lines changed

1 file changed

+46
-42
lines changed

README.md

Lines changed: 46 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Angular Interview Questions
22

3-
A complete guideline to prepare for angular interview. Also, you can use these questions to upgrade your expertise in angular.
3+
A complete guideline to prepare for angular interviews. Also, you can use these questions to verify your expertise in angular.
44

55

66

@@ -17,7 +17,7 @@ A complete guideline to prepare for angular interview. Also, you can use these q
1717
* [Core Concepts Understandability](#core-concepts-understandability-questions)
1818
* [Expert Level Questions](#expert-level)
1919
* [Performance and Edge Case Related Terminology](#performance-and-edge-case-related-terminology)
20-
* [Master a Large App Related](#master-a-large-app-related-questions)
20+
* [Master a Large App](#master-a-large-app)
2121
* [Rock star and Fighter for angular](#rockstar-and-fighter-for-angular-questions)
2222
* [Coding Test Question](#coding-test)
2323
* [Fetch Data and Display User Profile](#fetch-data-and-display-user-profile)
@@ -33,39 +33,39 @@ A complete guideline to prepare for angular interview. Also, you can use these q
3333

3434

3535
## Understand Your Current Level
36-
The most important step to understand yourself. If needed improve your skill, strength and confidence. If you don't feel confident about anything, do a favor to yourself by googling and spend few minutes to read some blog or youtube videos. And then check which level you are in terms of your angular skills.
36+
The most important step is to understand yourself. If needed improve your skill, strength and confidence. If you don't feel confident about anything, do a favor to yourself by googling and spend few minutes to improve your skills.
3737

38-
* 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](https://www.youtube.com/watch?v=rOr1r1rSZQ8) and get into beginners' level.
39-
* If you have full functional app that is deployed somewhere and/or published code in github and you understand detail about routing module breakdown, unit test, architecture, etc., you can consider yourself in intermediate level angular developer.
38+
* If you can create an 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](https://www.youtube.com/watch?v=rOr1r1rSZQ8) and get into beginners' level.
39+
* If you have full functional app that is deployed somewhere and/or published code in github and you understand detail about routing, authorization, feature module, architecture, style guide, etc., you can consider yourself in intermediate level angular developer.
4040
* If you master in lazy loading, AOT, custom directive, deployment configuration, etc. you can put yourself in the expert level.
4141
* Rest of the people are either angular blind or angular rock star.
4242

4343

4444
## Know the Interviewer
45-
Do a favor to yourself. Google the interviewer. Look at his/her Linkedin profile. Check his/her youtube videos, old blog that wasn't developed in years and github profile. After your research try to put the interviewer in one of the following categories.
46-
1. Lazy interviewer asks about terminology. Sometimes they google questions and ask you from there. They mostly ask terminology related questions. Mostly old managers ask this type of questions.
45+
Do a favor to yourself. Google the interviewer. Look at his/her Linkedin profile. Check his/her youtube videos, old crappy blog that wasn't updated in years and github profile. After your research try to put the interviewer in one of the following categories.
46+
1. Lazy interviewer asks about terminology. Sometimes they just Google and asks questions from there. If your interviewer is old there is a higher chance that he/she will asks questions related to terminology.
4747
2. 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
48-
3. Smart interviewer (the guy who is a senior developer for a long time and has updated blogs and videos) wants to know that you think, you compare and analyze stuff to make conscious decisions. For these type of nerdy interviewer (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
48+
3. Smart interviewer (the guy who is a senior developer for a long time and has updated blogs and videos) wants to know that you think. He also wants to know how you would compare and analyze stuff to make conscious decisions. These type of nerdy interviewer loves to prove you wrong. One important tip: don't try to prove them wrong.
4949

5050

51-
Research team member as well. Search people in the linked in by the company name and then look their profile in github.
51+
Research team members as well. Search people in the LinkedIn by the company name and then look their profile in github.
5252

5353

5454
## Beginners Level
5555

56-
For the beginners level an interviewer wants to know whether this interviewee is a self-learner, trainable. Hence, he/she might ask question about basic terminology, your ability to build some simple app and high level understanding.
56+
For the beginners level an interviewer wants to know whether this interviewee is a self-learner, trainable. Hence, he/she might ask question about basic terminology, your ability to build a simple app and have basic understandings.
5757

5858

5959
### Familiarity to Basic Terminology
6060
1. What are the difference between angularJS (angular 1.0) and angular2?
61-
2. What is a component? why would you use it?
61+
2. What is a component? Why would you use it?
6262
3. What is the minimum definition of a component?
6363
4. What is a module and what does it contains?
6464
5. What is a service and why will you use it?
6565
6. What is a promise? Explain it in simple words.
6666
7. What are the life cycle hooks for component and directives?
67-
8. What is pipes?
68-
9. What is a service and why would you use it?
67+
8. What is pipes? Give me an example.
68+
9. What is Reactive Form and template driven form?
6969
10. What is a dumb component? and what are the benefits of dumb component?
7070

7171

@@ -77,15 +77,15 @@ For the beginners level an interviewer wants to know whether this interviewee is
7777
4. How can you get current state of a route?
7878
5. How do you create two-way data binding in Angular?
7979
6. How to load external module in angular app?
80-
7. How you build an angular app for production?
80+
7. How would you display form validation error?
8181
8. Which life cycle hook will you use to unsubscribe a promise?
8282
9. How are the services injected to your application?
8383
10. How would you create route parameter and access it from a component?
8484

8585

8686

8787
### Understanding Basic Concepts Questions
88-
1. Why would you use angular over some other framework like react?
88+
1. Why would you use angular over some other framework like React?
8989
2. What is the difference between an observable and a promise?
9090
3. Tell me the difference between a component and a directive?
9191
4. Why would you use typescript aka benefits of typescript?
@@ -94,7 +94,7 @@ For the beginners level an interviewer wants to know whether this interviewee is
9494
7. What is the purpose of using zone js?
9595
8. What is the difference between ngOnInit() and constructor() of a component?
9696
9. When will ngOnInit be called? How would you make use of ngOnInit()?
97-
97+
10. What are the benefits to use formBuilder?
9898

9999

100100

@@ -104,7 +104,7 @@ For the beginners level an interviewer wants to know whether this interviewee is
104104

105105
## Intermediate Level
106106

107-
In the intermediate level, you built medium size angular app and you played with routing, https, different built process, unit test, etc. here are the questions you could expect
107+
To be in the intermediate level, you have to build at least one medium sized angular app. You have to have familiarity with routing, https, different built process, unit test, etc. here are the questions you could expect.
108108

109109

110110

@@ -130,15 +130,15 @@ In the intermediate level, you built medium size angular app and you played with
130130
5. How would you select a custom component to style it?
131131
6. How would you select all the child components' elements?
132132
7. How would you cache an observable data?
133-
8. How would you cache observable data?
133+
8. How would you save data from a form control?
134134
9. How Event Emitters works in Angular?
135135
10. How do you mock a service to inject in a unit test?
136136

137137

138138

139139
### Core Concepts Understandability Questions
140140
1. Tell me about feature module and shared module?
141-
2. What would you not put shared module?
141+
2. What would you not put in a shared module?
142142
3. Why angular uses decorator?
143143
4. What is async validation and how is it done?
144144
5. Why do you need type definitions?
@@ -156,10 +156,10 @@ In the intermediate level, you built medium size angular app and you played with
156156

157157
## Expert Level
158158

159-
You are a Rockstar in angular. you can teach other. you can lead a team for angular project. you should know the answer to the following questions.
159+
You are a Rockstar in angular. You can teach other. You can lead a team of angular developers.
160160

161161
### Performance and Edge case Related Terminology
162-
1. What is factory Component?
162+
1. What is a factory Component?
163163
2. What is lazy loading and why will you use it?
164164
3. What is Ahead of time (AOT) compilation and why will you use it?
165165
4. What are some of the Angular Style Guide suggestions you follow on your code? Why?
@@ -170,24 +170,25 @@ You are a Rockstar in angular. you can teach other. you can lead a team for angu
170170
9. How would you insert an embedded view from a prepared TemplateRef?
171171
10. What is attribute directive and why will you use it?
172172

173-
### Master a Large App Related Questions
173+
### Master a Large App
174174
1. How will you intercept http to inject header to each http call?
175175
2. How would you create a component to display error messages throughout your application?
176-
3. How you parallelize multiple observable call?
176+
3. How will you parallelize multiple observable call?
177177
4. How will you put one async call before another?
178178
5. How can you use web worker in angular app?
179179
6. What tools would you use to find a performance issue in your code?
180180
7. What are some ways you may improve your website's scrolling performance?
181181
8. Explain the difference between layout, painting and compositing.
182182
9. How can you cancel a router navigation?
183183
10. How would you animate routing?
184+
11. How would you cancel a promise on which you are waiting?
184185

185186

186187
### Rockstar and Fighter for Angular Questions
187188
1. When does a lazy loaded module is loaded?
188189
2. Why angular uses url segment?
189190
3. How will you make angular app secure?
190-
4. how will you localize numbers currencies and dates?
191+
4. How will you localize numbers currencies and dates?
191192
5. What is the best way to use translation in your app?
192193
6. How will you setup different environment build differently for your app?
193194
7. How will you use scss or css preprocessing with your application?
@@ -201,49 +202,52 @@ You are a Rockstar in angular. you can teach other. you can lead a team for angu
201202
[Answers link coming soon]
202203

203204
## Coding Test
204-
Sometimes interviewer would like to give a coding challenge that you have to while they are watching. Some potential employer might give you a day or two to finish a coding challenge. Here are few sample coding challenge
205+
Sometimes interviewer gives real coding test. Most of us suck on those and feel ashamed of ourselves and then continue to work in the current job. I don't want you to saty in that miserable job. Hence, take the following coding challenges and master them.
205206

206207
### Fetch Data and Display User Profile
207208

208209
This test has three level
209-
1. Level 1: Create a textbox to take user input and then Fetch data from https://api.github.com/search/users?q=eric which takes a query string to search users in github. Upon retrieval display total_count and first 10 users in the search result. Detail instruction about this test is available [here](https://github.com/khan4019/github-profile-search)
210-
2. Level 2: Convert each user profile as router link so that upon clicking on each user profile you will navigate to a route that has "login" property in the route. Pass user.login as route parameter. Create a separate component where you will read the route parameter and then fetch that user information by using this api https://api.github.com/users/eric . Please Notice that last part of the api is the user.login (the route parameter that you have passed). Finally display user image and other information in the component
211-
3. Level 3: use any charting framework that you can find in the online and then create a simple bar chart to display number of followers of first 10 users
210+
1. Level 1: I am giving you an api https://api.github.com/search/users?q=eric This api takes a query parameter name "q" and passes query string to server. Server returns bunch of users. Now I want you to create a input text box and button so that you can type anything on the text box and hit on the button to retrieve data from the given api. Upon retrieval display total_count and first 10 users in the search result. Detail instruction about this test is available [here](https://github.com/khan4019/github-profile-search)
211+
2. Level 2: Convert each user profile as a router link so that upon clicking on each user profile you will navigate to a route that has "login" property in the route. Pass user.login as route parameter. Create a separate component where you will read the route parameter and then fetch data for that user by using this api https://api.github.com/users/eric . Please Notice that last part of this api is the user.login (the route parameter that you have passed). Finally display user image and few other information in the component
212+
3. Level 3: use any charting framework that you can find and then create a simple bar chart to display number of followers of first 10 users
212213

213214

214-
Focus on this coding test is to judge your ability to use services, component and observables, etc. Always remember unit test, pay attention to variable names, build, etc.
215+
This coding test will judge your ability to use services, component, routing, data visualization, external module, observables, etc.
215216

216217
[Sample code link coming soon]
217218

218219
### Persistent Todo List
219-
Focuses on how you pass data and events between components. Also, whether you are leveraging directives and understand difference between component and directives
220-
Details coming soon
221-
220+
This test has three levels
222221
1. Level 1: Implement a simple todo list where you can add items, mark as done
223222
2. Level 2: Now create few categories of todo list and make it persistence in the browser
224-
3. Level 3: Now use firebase database to make todo list persistence across multiple devices
223+
3. Level 3: Now use firebase (serverless database) to make todo list persistence across multiple devices
224+
225+
This coding test will judge whether you can pass data and events between components. Also, whether you are leveraging directives and understand difference between component and directives.
226+
225227

226228
[Sample code link coming soon]
227229

228230
### Student Registration System
229-
Focuses on architecture for a large application. Your ability to think and implement module, lazy loading, asset management etc.
231+
This test has three levels
230232
1. Level-1: Design a system where students can login to register different courses
231233
2. Level-2: Add a feature so that faculties on each course can view how many students registered on the courses
232234
3. Level-3: (I need a shower. will add text here after I clean up myself)
233235

236+
This coding test will judge your understanding of architecture for a large application. Your ability to think and implement module, lazy loading, asset management etc.
237+
234238
[Sample code link coming soon]
235239

236240
## Side Things Related Questions
237241

238242
### rxjs
239-
1. Why angular uses rxjs?
240-
2. How would you explain Observable?
241243
3. Why unsubscribing is important?
242-
4. what is forkJoin, flat map, zip
243-
5. Difference between hot and cold observables
244+
1. What is the difference between map and flatmap?
245+
2. Whare are the different ways you can create an Observable?
246+
4. What is forkJoin, zip, share?
247+
5. Difference between hot and cold observables.
244248

245249
### TypeScript
246-
1. How to debug a typescript file?
250+
1. How would you debug a typescript file?
247251
2. How do you implement interface in typescript?
248252
3. How would you call base class constructor from child class in typescript?
249253
4. What is typescript language service?
@@ -261,21 +265,21 @@ Focuses on architecture for a large application. Your ability to think and imple
261265
### Others
262266
1. What is the use of codelyzer?
263267
2. Will you use Angular Material2?
264-
3. How would you build and deploy your app in multiple languages?
265268
4. How would you set different config in different deployment server?
266269
5. What do you know about ES6?
270+
6. What is ngUpgrage? Do you know how you can run angularJS and angular side by side?
267271

268272
[Answers link coming soon]
269273

270274

271275
## Note from God
272276
On a press release, God expressed HIS apologies to send the author of this repo to a non-English speaking country and creating weekends.
273-
[Sorry to hurt your readability. I am working on it. If you still complain about readability, I will expose your code. :) ]
277+
274278

275279

276280

277281
## Contribute
278-
Feel free to provide questions and update language
282+
Feel free to add/update questions
279283
___________
280284

281285

0 commit comments

Comments
 (0)