టాప్ 100 Angular ఇంటర్వ్యూ ప్రశ్నలు – తెలుగు
భాగం 2: ప్రశ్నలు 26–50
ఈ భాగంలో Dependency Injection (DI), Services, RxJS, Routing వంటి Angular యొక్క ముఖ్యమైన కాన్సెప్ట్స్ను తెలుసుకుందాం. ఈ అనువాదం మీరు అందించిన డాక్యుమెంట్లోని ప్రశ్నలు 26–50 ఆధారంగా రూపొందించబడింది.
Dependency Injection (DI)
26. Dependency Injection (DI) అంటే ఏమిటి?
సమాధానం:
Dependency Injection (DI) అనేది ఒక Design Pattern. ఒక Class కి అవసరమైన Objects లేదా Dependencies ను ఆ Class స్వయంగా సృష్టించకుండా, Angular Framework ఆటోమేటిక్గా అందిస్తుంది.
ప్రయోజనాలు:
- Loose Coupling
- Code Reusability
- Unit Testing సులభం
- Maintainability పెరుగుతుంది.
27. Dependency Injection ఎందుకు ముఖ్యమైనది?
సమాధానం:
DI ఉపయోగించడం వల్ల:
- Code Organization మెరుగుపడుతుంది.
- Testing సులభమవుతుంది.
- Classes మధ్య Dependency తగ్గుతుంది (Reduced Coupling).
28. Injector అంటే ఏమిటి?
సమాధానం:
Injector అనేది Angular లో Services ను Create చేసి అవసరమైన Components కు అందించే Object.
ఉదాహరణకు:
constructor(private employeeService: EmployeeService) {}
ఇక్కడ EmployeeService ను Angular Injector ఆటోమేటిక్గా అందిస్తుంది.
29. Providers అంటే ఏమిటి?
సమాధానం:
Providers అనేవి Angular కి Service Instance ఎలా Create చేయాలో తెలియజేస్తాయి.
ఉదాహరణ:
@Injectable({
providedIn: 'root'
})
export class EmployeeService {}
ఈ Service మొత్తం Application లో ఒకే Instance (Singleton)గా ఉపయోగించబడుతుంది.
30. Hierarchical DI అంటే ఏమిటి?
సమాధానం:
Angular లో ప్రతి Component కి ఒక Injector ఉండవచ్చు. ఇవన్నీ Tree Structure రూపంలో ఏర్పడి, Parent Injector నుండి Child Injector అవసరమైన Services ను పొందగలుగుతుంది.
దీనినే Hierarchical Dependency Injection అంటారు.
Services మరియు RxJS
31. Service అంటే ఏమిటి?
సమాధానం:
Service అనేది Business Logic, Database Calls, API Calls వంటి Common Functionality ని ఉంచే Reusable Class.
ఉదాహరణలు:
- EmployeeService
- LoginService
- ProductService
32. Services ఎందుకు ఉపయోగిస్తారు?
సమాధానం:
Services ఉపయోగించడం వల్ల:
- Components మధ్య Data Share చేయవచ్చు.
- Business Logic ను Reuse చేయవచ్చు.
- Code Maintain చేయడం సులభమవుతుంది.
33. RxJS అంటే ఏమిటి?
సమాధానం:
RxJS (Reactive Extensions for JavaScript) అనేది Reactive Programming Library.
Angular లో ఇది ముఖ్యంగా:
- HTTP Calls
- Events
- Asynchronous Data
- Real-time Updates
నిర్వహించడానికి ఉపయోగించబడుతుంది.
34. Observable అంటే ఏమిటి?
సమాధానం:
Observable అనేది కాలక్రమంలో వచ్చే Asynchronous Data Stream.
ఉదాహరణ:
- API Response
- Button Click Events
- WebSocket Messages
35. Promise మరియు Observable మధ్య తేడా
| Promise | Observable |
|---|---|
| ఒకే Value ఇస్తుంది | అనేక Values ఇవ్వగలదు |
| Cancel చేయలేము | Cancel చేయవచ్చు |
| వెంటనే Execute అవుతుంది | Subscribe చేసినప్పుడు మాత్రమే Execute అవుతుంది |
36. Subject అంటే ఏమిటి?
సమాధానం:
Subject అనేది ఒక ప్రత్యేకమైన Observable.
ఇది ఒకేసారి Multiple Subscribers కు ఒకే Data ను పంపగలదు (Multicasting).
37. BehaviorSubject అంటే ఏమిటి?
సమాధానం:
BehaviorSubject ఎప్పుడూ తన తాజా (Latest) Value ను Store చేస్తుంది.
కొత్త Subscriber వచ్చిన వెంటనే ఆ తాజా Value ను అందిస్తుంది.
38. ReplaySubject అంటే ఏమిటి?
సమాధానం:
ReplaySubject గతంలో వచ్చిన Values ను Store చేసి, కొత్త Subscriber వచ్చినప్పుడు వాటిని తిరిగి పంపుతుంది.
39. RxJS Operators అంటే ఏమిటి?
సమాధానం:
Observable Data ను Transform, Filter లేదా Combine చేయడానికి ఉపయోగించే Functions ను RxJS Operators అంటారు.
ప్రధాన Operators:
- map()
- filter()
- switchMap()
- mergeMap()
- debounceTime()
40. switchMap() అంటే ఏమిటి?
సమాధానం:
కొత్త Observable వచ్చినప్పుడు, పాత Observable ను Cancel చేసి కొత్తదానిని Subscribe చేస్తుంది.
ఇది ముఖ్యంగా:
- Search Box
- Auto Complete
- Live Search
వంటి సందర్భాల్లో ఎక్కువగా ఉపయోగిస్తారు.
Routing
41. Angular Routing అంటే ఏమిటి?
సమాధానం:
Routing ద్వారా ఒక Page నుండి మరో Page కి Navigation చేయవచ్చు.
ఉదాహరణలు:
- Home
- About
- Contact
- Login
- Dashboard
42. RouterModule అంటే ఏమిటి?
సమాధానం:
Angular లో Routing కు అవసరమైన అన్ని Features ను RouterModule అందిస్తుంది.
43. Lazy Loading అంటే ఏమిటి?
సమాధానం:
Application ప్రారంభమైనప్పుడు అన్ని Modules ను Load చేయకుండా, అవసరమైనప్పుడు మాత్రమే Module ను Load చేయడాన్ని Lazy Loading అంటారు.
44. Lazy Loading వల్ల కలిగే ప్రయోజనాలు
- Application వేగంగా Start అవుతుంది.
- Performance మెరుగుపడుతుంది.
- Bundle Size తగ్గుతుంది.
45. Route Guards అంటే ఏమిటి?
సమాధానం:
Unauthorized Users కొన్ని Pages ను Access చేయకుండా నిరోధించడానికి Route Guards ఉపయోగిస్తారు.
ఉదాహరణ:
- Login లేకపోతే Dashboard Open కాకూడదు.
46. Route Guards రకాలు
- CanActivate
- CanDeactivate
- CanLoad
- CanMatch
47. CanActivate అంటే ఏమిటి?
సమాధానం:
User కి ఆ Route ను Access చేసే Permission ఉందా లేదా అనేది నిర్ణయిస్తుంది.
ఉదాహరణ:
Login అయిన తర్వాత మాత్రమే Dashboard Open చేయడం.
48. CanDeactivate అంటే ఏమిటి?
సమాధానం:
User ఒక Page నుండి బయటకు వెళ్లే ముందు Validation చేయడానికి ఉపయోగిస్తారు.
ఉదాహరణ:
Form Save చేయకుండా Exit అవుతున్నప్పుడు Confirmation Message చూపించడం.
49. Route Resolver అంటే ఏమిటి?
సమాధానం:
Route Activate అయ్యే ముందు అవసరమైన Data ను Server నుండి Fetch చేసి, Page Load అయిన వెంటనే Data అందుబాటులో ఉండేలా చేస్తుంది.
50. Route Parameters ను ఎలా Pass చేస్తారు?
సమాధానం:
Angular Router ద్వారా Route Parameters ను ఈ విధంగా పంపవచ్చు:
this.router.navigate(['/users', id]);
ఇక్కడ id అనేది Route Parameter. ఉదాహరణకు /users/101 అనే URL కు Navigate చేయడానికి ఇది ఉపయోగపడుతుంది.
భాగం 2 ముగింపు
ఈ భాగంలో మీరు Dependency Injection, Services, RxJS మరియు Angular Routing గురించి ఇంటర్వ్యూలో తరచుగా అడిగే ప్రశ్నలు మరియు వాటి సమాధానాలను తెలుగులో నేర్చుకున్నారు.
తదుపరి భాగం 3 (ప్రశ్నలు 51–75) లో Angular Forms, HTTP & APIs, Advanced Angular Concepts గురించి తెలుసుకుందాం.
