🎤 टॉप 81 Interview Questions
ये सबसे common Java interview questions हैं — tap करके answer खोलो।
Google dwara MAINTAINED, EK COMPLETE, TypeScript-BASED FRAMEWORK — ROUTING, FORMS, HTTP CLIENT, TESTING TOOLS, SAB "BATTERIES INCLUDED" hain — LARGE, ENTERPRISE-SCALE applications ke liye POPULAR hai.
AngularJS (v1.x), PURANA framework tha. Angular (v2+), COMPLETELY REWRITTEN hai, TypeScript-BASED — DONO COMPLETELY DIFFERENT TECHNOLOGIES HAIN, SIRF NAAM SIMILAR hai.
COMMAND-LINE TOOL, PROJECT SETUP, CODE GENERATION, BUILDING, TESTING — SAB AUTOMATE karta hai — ng new (NAYA PROJECT), ng generate (COMPONENTS/SERVICES banaна), ng serve (DEV SERVER).
FUNDAMENTAL BUILDING BLOCK — @Component DECORATOR SE DEFINE hota hai — APNA TEMPLATE (HTML), STYLES (CSS), aur LOGIC (TypeScript CLASS) RAKHTA hai.
Component ki PROPERTY VALUE ko, TEMPLATE (HTML) mein, DIRECTLY, DISPLAY karta hai — jaise {{ userName }} — VALUE CHANGE hone PAR, AUTOMATICALLY, UPDATE ho jaata hai.
Property binding ([property]="value"), COMPONENT SE TEMPLATE ki DIRECTION mein DATA BHEJTA hai. Event binding ((event)="handler()"), TEMPLATE SE COMPONENT ki DIRECTION mein, USER INTERACTIONS BHEJTA hai.
Property aur Event binding, DONO ko, EK SAATH, COMBINE karta hai — FORM INPUTS ke liye COMMON, JAHA COMPONENT aur TEMPLATE, DONO EK-DUSRE ko, REAL-TIME mein, SYNC KARTE HAIN.
EK "CONTAINER", RELATED COMPONENTS, DIRECTIVES, PIPES, aur SERVICES ko, LOGICALLY, GROUP karta hai — Angular 14+ mein, STANDALONE COMPONENTS SE, YE OPTIONAL ho gaya hai.
EK COMPONENT, CREATE hone SE, DESTROY hone TAK, MULTIPLE, PREDICTABLE STAGES SE, GUZARTA hai — ngOnInit, ngOnChanges, ngOnDestroy jaise HOOKS, SPECIFIC STAGES PAR, CODE RUN karne DETE hain.
ngOnInit, COMPONENT INITIALIZATION LOGIC ke liye hai (DATA FETCH karna) — constructor SE ZYAADA SAFE, kyunki, ISKE CALL hone TAK, @Input() PROPERTIES, ALREADY SET ho chuki HOTI hain.
@Input(), PARENT SE CHILD COMPONENT ko, DATA PASS karta hai. @Output() (EventEmitter KE SAATH), CHILD SE PARENT COMPONENT ko, EVENTS EMIT karta hai.
EK COMPONENT ke STYLES, DEFAULT mein, USI COMPONENT tak, LIMITED (SCOPED) rehte hain — DUSRE COMPONENTS ke STYLES ko, ACCIDENTALLY, AFFECT NAHI karte.
Structural directives (*ngIf, *ngFor), DOM STRUCTURE ko, ADD/REMOVE karte hain. Attribute directives (ngClass, ngStyle), EK EXISTING ELEMENT ke APPEARANCE/BEHAVIOR ko, MODIFY karte hain.
EK LIST (ARRAY) ke, HAR ELEMENT ke liye, EK TEMPLATE, REPEAT karta hai — jaise *ngFor="let item of items" — trackBy FUNCTION SE, PERFORMANCE OPTIMIZE ki ja sakti hai.
TEMPLATE mein, DATA ko, DISPLAY karne SE PEHLE, TRANSFORM karta hai — jaise {{ date | date:'short' }} — BUILT-IN PIPES (uppercase, currency) aur CUSTOM PIPES, DONO BANAI JA SAKTI HAIN.
EK CLASS, REUSABLE BUSINESS LOGIC (jaise DATA FETCHING) CONTAIN karti hai, JO, MULTIPLE COMPONENTS ke BEECH, SHARE ki ja sakti hai — @Injectable() DECORATOR SE MARK hoती hai.
EK DESIGN PATTERN, JAHA, EK CLASS ki DEPENDENCIES (jaise SERVICES), USKO, EXTERNALLY, PROVIDE ki jaati hain (CONSTRUCTOR ke THROUGH) — CLASS, KHUD APNI DEPENDENCIES CREATE NAHI karti.
EK SERVICE ko, APPLICATION-WIDE, SINGLETON (EK HI INSTANCE, POORI APP mein SHARED) BANATA hai — MANUALLY, MODULE mein, providers ARRAY mein, REGISTER karne ki zaroorat NAHI.
SINGLE PAGE APPLICATION (SPA) mein, DIFFERENT "PAGES" (VIEWS) ke BEECH, NAVIGATION MANAGE karta hai — BINA POORI PAGE RELOAD KIYE, URL CHANGE karके, DIFFERENT COMPONENTS DIKHATA hai.
HTML mein, <a> TAGS ko, Angular ROUTES SE, JODTA hai — TRADITIONAL href SE, DIFFERENT hai, kyunki, YE, POORI PAGE RELOAD NAHI KARWAТA, SPA NAVIGATION MAINTAIN karta hai.
Template-driven forms, HTML TEMPLATE mein, DIRECTIVES (ngModel) SE DEFINE HOTE HAIN — SIMPLE forms ke liye. Reactive forms, TypeScript CODE mein, EXPLICITLY, DEFINE hote hain — COMPLEX, DYNAMIC forms ke liye, ZYAADA CONTROL DETE HAIN.
FormControl, EK SINGLE FORM FIELD (jaise EK INPUT) ki STATE (VALUE, VALIDITY) TRACK karta hai. FormGroup, MULTIPLE FormControls ko, EK LOGICAL UNIT mein, GROUP karta hai.
EK STREAM of DATA, JO, TIME ke SAATH, MULTIPLE VALUES, EMIT kar sakta hai (Promise ki TARAH NAHI, JO SIRF EK VALUE DETA hai) — subscribe() SE, VALUES ko "SUNTE" HAIN.
Promise, EK BAAR, EK VALUE RESOLVE karta hai. Observable, MULTIPLE VALUES, EK STREAM mein, EMIT kar sakta hai, aur CANCELLABLE (unsubscribe) bhi HAI.
Angular ka BUILT-IN SERVICE, SERVER SE, HTTP REQUESTS (GET, POST, etc.) BHEJNE ke liye — RESPONSE, EK Observable ke ROOP mein, RETURN hota hai.
Angular ka MECHANISM, JO, DETECT karta hai, KAB, COMPONENT ki DATA, CHANGE HUI hai, aur AUTOMATICALLY, TEMPLATE (VIEW) ko, UPDATE karta hai.
EK COMPLETE FRAMEWORK hai (jaise React, EK LIBRARY hai) — ROUTING, FORMS, HTTP, SAB, OUT-OF-THE-BOX, INCLUDED HAIN, ALAG SE, THIRD-PARTY LIBRARIES CHOOSE karne ki zaroorat NAHI.
STATIC TYPE CHECKING, COMPILE-TIME PAR, BUGS PAKADТI hai — LARGE, ENTERPRISE CODEBASES mein, YE, MAINTAINABILITY aur REFACTORING SAFETY, BAHUT IMPROVE karta hai.
Interpolation, Property binding, Event binding, aur Two-way binding — CHAARO, COMPONENT aur TEMPLATE ke BEECH, DATA FLOW ke DIFFERENT DIRECTIONS/PATTERNS REPRESENT karte hain.
CLEANUP LOGIC ke liye — jaise Observable SUBSCRIPTIONS ko unsubscribe() karna, TIMERS CLEAR karna — MEMORY LEAKS AVOID karne ke liye, COMPONENT DESTROY hone SE PEHLE, ZAROORI hai.
PARENT COMPONENT ko, CHILD COMPONENT ke, TEMPLATE ke ANDAR, APNA KHUD KA CONTENT, "INJECT" karne DETA hai — REUSABLE, "WRAPPER" jaise COMPONENTS BANANE ke liye USEFUL.
Component ke STYLES ko, SCOPED RAKHNE ke BAJAYE, GLOBALLY, POORI APPLICATION mein, APPLY karta hai — RARELY use hota hai, kyunki, YE, STYLE CONFLICTS ka RISK BADHATA hai.
@Directive DECORATOR SE, EK CLASS DEFINE karके — ElementRef SE, DOM ELEMENT ko, DIRECTLY, ACCESS/MODIFY kiya ja sakta hai.
Pure pipes (DEFAULT), SIRF TAB RE-EVALUATE hoती hain, JAB INPUT VALUE, ACTUALLY CHANGE hoती hai (PERFORMANT). Impure pipes, HAR CHANGE DETECTION CYCLE PAR, RE-EVALUATE hoती hain (SLOWER, LEKIN MUTABLE DATA ke liye ZAROORI, KABHI-KABHI).
EK Observable (YA Promise) ko, AUTOMATICALLY, SUBSCRIBE karta hai, aur, COMPONENT DESTROY hone PAR, AUTOMATICALLY, unsubscribe bhi kar deta hai — MANUAL SUBSCRIPTION MANAGEMENT ki zaroorat NAHI.
providedIn: 'root' SE — Angular's DI SYSTEM, ENSURE karta hai, ki, POORI APPLICATION mein, US SERVICE ka, SIRF EK, SHARED INSTANCE EXIST kare.
Angular's DI CONTAINER, EK COMPONENT/SERVICE ke CONSTRUCTOR mein, LISTED DEPENDENCIES (jaise SERVICES) ko, AUTOMATICALLY, DETECT karke, CREATE/INJECT kar deta hai.
INTERFACES (CanActivate, CanDeactivate), JO, EK ROUTE PAR, NAVIGATE HONE SE PEHLE (YA CHHODNE SE PEHLE), EK CONDITION CHECK karte hain — jaise AUTHENTICATION CHECK, USER LOGGED IN NAHI hai TO, ROUTE BLOCK karna.
EK MODULE ko, TABHI LOAD karta hai, JAB USER, US SPECIFIC ROUTE PAR NAVIGATE KARTA HAI — INITIAL APPLICATION LOAD TIME, SIGNIFICANTLY, KAM ho jaata hai (SMALLER INITIAL BUNDLE).
FORM LOGIC, POORI TARAH, TypeScript CODE mein, DEFINE hoती hai (TEMPLATE mein NAHI) — ISLIYE, UNIT TESTS mein, BINA DOM RENDER kiye, FORM LOGIC, DIRECTLY, TEST ki ja sakti hai.
COMMON VALIDATION RULES (required, minLength, pattern) ke liye, READY-MADE FUNCTIONS — FormControl mein, DIRECTLY, PASS kiye ja sakte hain, MANUAL VALIDATION LOGIC LIKHNE ki zaroorat NAHI.
Observables PAR, DATA TRANSFORMATION/FILTERING OPERATIONS, CHAIN karne DETE hain — jaise EK API RESPONSE (Observable) ke DATA ko, map() SE, TRANSFORM karna.
Subject, EK "MULTICAST" Observable hai — DIRECTLY, next() CALL KARKE, NAYE VALUES, MANUALLY, EMIT ki ja sakti hain, aur, MULTIPLE SUBSCRIBERS, SAME VALUES, EK SAATH, RECEIVE karte hain.
EK Observable ko, EK DUSRE Observable mein, "SWITCH" karta hai — jaise SEARCH INPUT ka HAR NAYA KEYSTROKE, PICHLI, PENDING API CALL ko, CANCEL karके, NAYI CALL START kar deta hai.
EK MECHANISM, HAR OUTGOING HTTP REQUEST (YA INCOMING RESPONSE) ko, "INTERCEPT" karके, MODIFY karne DETA hai — jaise, HAR REQUEST mein, AUTOMATICALLY, AUTH TOKEN, HEADER mein, ADD karna.
catchError RxJS OPERATOR SE, YA subscribe() ke, ERROR CALLBACK SE — API FAILURES (jaise 404, 500) ko, GRACEFULLY, HANDLE karne ke liye.
Components, BINA NgModule ke, DIRECTLY, APNI DEPENDENCIES, IMPORT kar sakte hain — CONFIGURATION, SIMPLER ho jaati hai, aur, NgModules, OPTIONAL ban jaate hain.
EK NAYA, REACTIVE PRIMITIVE (Angular 16+), JO, FINE-GRAINED, EFFICIENT, CHANGE DETECTION ENABLE karta hai — RxJS Observables SE, SIMPLER, SYNCHRONOUS STATE MANAGEMENT ke liye.
Default STRATEGY, HAR CHANGE DETECTION CYCLE mein, POORE COMPONENT TREE ko, CHECK karti hai. OnPush, SIRF TAB CHECK karti hai, JAB, @Input() PROPERTY, ACTUALLY CHANGE hoती hai — PERFORMANCE OPTIMIZATION.
Angular Applications ko, SERVER PAR, PRE-RENDER karne ki CAPABILITY — INITIAL PAGE LOAD SPEED aur SEO, DONO IMPROVE hote hain (SEARCH ENGINES, FULLY-RENDERED HTML DEKH PAATE HAIN).
main.ts FILE mein, bootstrapApplication() (STANDALONE) YA platformBrowserDynamic().bootstrapModule() (NgModule-BASED) FUNCTION SE, ROOT COMPONENT, LOAD kiya jaata hai.
SPA (Single Page Application) ka, EK-MAATRA, HTML FILE — POORI APPLICATION, ISI PAGE ke ANDAR, JavaScript SE, DYNAMICALLY, RENDER/UPDATE hoती hai, BINA FULL PAGE RELOADS ke.
BATATA hai, KI, COMPONENT ko, HTML mein, KAISE USE karna hai — jaise selector: 'app-header', <app-header></app-header> SE, USE HOTA HAI.
Component ke TEMPLATE ke ANDAR, EK CHILD ELEMENT (YA CHILD COMPONENT) ko, DIRECTLY, TypeScript CODE mein, REFERENCE karne DETA hai.
Component ke HOST ELEMENT PAR, EK DOM EVENT (jaise click, resize) LISTEN karta hai — @HostListener('click', ['$event']) — DIRECTLY, TEMPLATE mein, EVENT BINDING lagaне ke BAJAYE.
Smart components, DATA FETCHING/BUSINESS LOGIC HANDLE karte hain. Dumb components, SIRF, @Input() SE DATA LEKAR, DISPLAY karte hain, aur @Output() SE, EVENTS EMIT karte hain — SEPARATION OF CONCERNS.
MULTIPLE CONDITIONS ke BEECH, EK MATCHING TEMPLATE, DISPLAY karta hai — jaise SWITCH-CASE STATEMENT ka, TEMPLATE EQUIVALENT.
MULTIPLE PIPES ko, EK SAATH, SEQUENTIALLY, APPLY karna — jaise {{ value | pipe1 | pipe2 }} — HAR PIPE, PICHLE PIPE ke OUTPUT PAR, KAAM karta hai.
DI SYSTEM, EK TREE-LIKE STRUCTURE FOLLOW karta hai — EK COMPONENT-LEVEL PROVIDER, US COMPONENT aur USKE CHILDREN ke liye, EK "NAYA" INSTANCE, CREATE kar sakta hai, ROOT-LEVEL INSTANCE se ALAG.
NON-CLASS DEPENDENCIES (jaise CONFIGURATION OBJECTS, STRINGS) ko, DI SYSTEM mein, INJECT karne ke liye, EK UNIQUE, TYPE-SAFE "TOKEN" BANATA hai.
ActivatedRoute SERVICE SE — jaise route.snapshot.paramMap.get('id') — URL mein, DYNAMIC SEGMENTS (jaise /users/:id) ki VALUES, COMPONENT mein, READ ki ja sakti hain.
EK ROUTE ke ANDAR, NESTED ROUTES DEFINE karne DETE hain — jaise EK "Dashboard" ROUTE ke ANDAR, "Profile" aur "Settings" jaise SUB-ROUTES.
FormGroup/FormControl objects BANANE ke liye, EK MORE CONCISE, READABLE SYNTAX PROVIDE karta hai — jaise fb.group({ name: [''], email: [''] }).
EK FUNCTION LIKH KAR, JO, AbstractControl LETA hai, aur, AGAR INVALID hai, EK ERROR OBJECT RETURN karta hai (YA null, AGAR VALID hai) — FormControl mein, DIRECTLY, PASS kiya jaata hai.
mergeMap, SAARI, PARALLEL, INNER OBSERVABLES ko, EK SAATH, HANDLE karta hai. switchMap, HAR NAYE VALUE PAR, PICHLI, INNER OBSERVABLE ko, CANCEL karके, SIRF, LATEST WALI ko, MAINTAIN karta hai.
BehaviorSubject, EK "INITIAL/CURRENT" VALUE, HAMESHA, RAKHTA hai, aur, NAYE SUBSCRIBERS ko, IMMEDIATELY, WOH LATEST VALUE, DETA hai. Subject, KOI INITIAL VALUE NAHI RAKHTA.
AGAR EK SUBSCRIPTION, MANUALLY, unsubscribe() NAHI ki jaati (Component DESTROY hone PAR), WOH SUBSCRIPTION, "ALIVE" REHTI hai, MEMORY OCCUPY karti REHTI hai — async pipe, YA ngOnDestroy mein, MANUAL unsubscribe, ISE AVOID karta hai.
Default mein, HttpClient, AUTOMATICALLY, JSON RESPONSE ko, PARSE karके, EK JavaScript OBJECT/ARRAY mein, CONVERT kar deta hai — MANUAL JSON.parse() ki zaroorat NAHI.
REAL-TIME, BI-DIRECTIONAL COMMUNICATION ke liye (jaise CHAT APPS, LIVE NOTIFICATIONS) — HttpClient (REQUEST-RESPONSE) SE DIFFERENT, WebSockets, EK PERSISTENT CONNECTION, MAINTAIN karte hain.
Angular TEMPLATES ko, BUILD TIME PAR HI, JavaScript mein, COMPILE kar deta hai (RUNTIME PAR NAHI) — FASTER RENDERING, SMALLER BUNDLE SIZE, aur EARLIER ERROR DETECTION.
EK BROWSER EXTENSION, JO, COMPONENT TREE, CHANGE DETECTION PERFORMANCE, aur DEPENDENCY INJECTION, DEBUG/VISUALIZE karne mein, HELP karta hai.
ASYNCHRONOUS OPERATIONS (jaise setTimeout, HTTP calls) ko, "MONITOR" karта hai, aur, AUTOMATICALLY, Angular's CHANGE DETECTION ko, TRIGGER karta hai — Angular 17+ mein, ZONELESS MODE bhi, EXPERIMENTAL, AVAILABLE hai.
Google's MATERIAL DESIGN SPECIFICATION ko, FOLLOW karne wali, EK UI COMPONENT LIBRARY, Angular ke liye — READY-MADE, ACCESSIBLE COMPONENTS (BUTTONS, DIALOGS, TABLES).
Angular COMPONENTS ko, STANDARD, FRAMEWORK-AGNOSTIC, CUSTOM HTML ELEMENTS (Web Components) mein, CONVERT karne ki CAPABILITY — NON-ANGULAR applications mein bhi, USE ki ja sakti hain.
EK DYNAMIC LIST of FormControls/FormGroups — jaise EK "ADD ANOTHER PHONE NUMBER" FEATURE, JAHA, USER, RUNTIME PAR, DYNAMICALLY, NAYE FORM FIELDS, ADD kar sakta hai.
EK MECHANISM, JO, EK ROUTE ACTIVATE hone SE PEHLE, ZAROORI DATA, PRE-FETCH karta hai — COMPONENT, TABHI LOAD hota hai, JAB, DATA, ALREADY, AVAILABLE ho (LOADING SPINNERS AVOID karta hai).
EK DEPENDENCY ko, "OPTIONAL" MARK karta hai — AGAR PROVIDER NAHI MILTA, ERROR THROW karne ke BAJAYE, null, INJECT ho jaata hai.
MULTIPLE Observables ko, COMBINE karta hai — JAB BHI, IN mein SE, KISI EK ka, NAYA VALUE, EMIT hota hai, EK NAYA, COMBINED VALUE (SAARE LATEST VALUES ke SAATH), EMIT hota hai.
FINAL BUNDLE SE, UNUSED CODE (jo KABHI IMPORT/USE NAHI hota) ko, AUTOMATICALLY, REMOVE kar deta hai — FINAL, PRODUCTION BUNDLE ki SIZE, SIGNIFICANTLY, KAM ho jaati hai.
EK ANGULAR ELEMENT, JISKA CONTENT, DIRECTLY, RENDER NAHI hota — TemplateRef SE, PROGRAMMATICALLY, KISI SPECIFIC CONDITION PAR, RENDER kiya ja sakta hai — *ngIf/*ngFor, INTERNALLY, ISI PAR BASED hain.
Jab FRONTEND (Angular app) aur BACKEND API, DIFFERENT ORIGINS (DOMAIN/PORT) PAR HOTE hain — SERVER ko, CORS HEADERS SET karne padte hain, TAAKI, BROWSER, REQUEST ko, ALLOW kare.