LTIMindtree MEAN Stack Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About LTIMindtree hiring for MEAN Stack roles
LTIMindtree is an Indian IT services and consulting company formed by the merger of Larsen and Toubro Infotech and Mindtree, and part of the L&T Group. It provides cloud, data, ERP, testing and digital engineering services for global clients. It hires for software engineers, test engineers, data analysts, data engineers and ERP consultants.
For MEAN Stack roles, this LTIMindtree practice set focuses most on Angular Components and Templates (5), Security, Testing and Deployment (5), Services, Dependency Injection and Routing (5), Angular Forms and HTTP Client (5). It has 13 easy, 17 medium questions, so you can start easy and work up to the harder ones.
Company type
IT services
Headquarters
Mumbai, India
Main India offices
Mumbai, Pune, Bengaluru, Chennai, Hyderabad
LTIMindtree MEAN Stack interview process
Online assessment (aptitude + reasoning)
Coding test
Technical interview
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for LTIMindtreeStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
✓ 3 questions free • Unlock the rest in seconds
01
List the Angular CLI commands you use most often in a project.
Common commands:
ng new shop-app --style=scss
ng serve --open
ng generate component features/product-list
ng generate service core/auth
ng generate guard core/auth --functional
ng generate pipe shared/truncate
ng build --configuration production
ng test
ng update @angular/core @angular/cli
ng update applies official migrations automatically, which makes version upgrades much easier.
02
What is the difference between a cold and a hot Observable?
A cold Observable starts producing values when each subscriber subscribes, and every subscriber gets its own independent execution; an HttpClient call is cold, so two subscriptions send two requests. A hot Observable produces values regardless of subscribers, and subscribers share the same stream, like mouse events or a websocket. You can make a cold Observable shared with operators like share or shareReplay.
03
What is the role of a controller-service-repository structure in an Express API?
Controllers handle HTTP: they read request data, call services and format responses with status codes. Services contain business rules, such as checking stock before creating an order, and are independent of Express. Repositories or models encapsulate database access through Mongoose. This separation makes code easier to test, lets you reuse services in jobs or other transports, and stops route files from turning into large unmaintainable blocks.
04
How do parent and child components communicate in Angular?
A parent passes data down through inputs, declared with the input() function or the @Input decorator, and the child notifies the parent through outputs, declared with output() or @Output with an EventEmitter. For two-way binding, model() creates a writable input. A parent can access a child directly using viewChild. For unrelated components, use a shared service holding a signal or a BehaviorSubject.
05
What are Angular's lifecycle hooks and when is each typically used?
ngOnChanges runs when input values change. ngOnInit runs once after the first inputs are set, used for initial data loading. ngDoCheck allows custom change detection. ngAfterContentInit and ngAfterViewInit run after projected content and the view are ready, used for DOM access. ngOnDestroy runs before removal, used for cleanup. With signals, effect, computed and DestroyRef often replace several of these hooks.
06
How does JWT-based authentication work end to end in a MEAN application?
The user submits credentials from an Angular form to an Express login route. The server verifies the bcrypt password hash and signs a short-lived access token containing the user id and role, often with a refresh token in an httpOnly cookie. Angular stores the access token in memory, an interceptor attaches it to requests, Express middleware verifies it, and guards control which routes the user can open.
07
How is routing configured in a standalone Angular application?
You define a Routes array mapping paths to components, with redirectTo, child routes and a wildcard ** route for 404 pages, and register it with provideRouter(routes) in app.config.ts. The root template contains <router-outlet />, links use routerLink and routerLinkActive, and code navigates with Router.navigate. Features such as withComponentInputBinding let route parameters bind directly to component inputs.
08
Which security measures should every Express API in a MEAN app have?
Use HTTPS, helmet for security headers, a strict CORS allowlist, input validation on every route, rate limiting on auth endpoints, body size limits, parameterised queries and stripped MongoDB operators, bcrypt for passwords, secrets in environment variables, and least-privilege database users. Keep dependencies updated with npm audit or Dependabot, log security events and never return stack traces in production.
09
Users upload large documents and want to see upload progress. How do you implement it in Angular?
Send a FormData body with HttpClient post and options reportProgress: true and observe: 'events'. Filter the event stream for HttpEventType.UploadProgress to calculate percent from loaded and total, and for HttpEventType.Response to get the final result. Show a progress bar bound to a signal, allow cancelling by unsubscribing, and validate size and type before upload. For very large files, upload directly to storage with pre-signed URLs.
10
What is the new built-in control flow syntax in Angular templates?
Modern Angular uses blocks instead of structural directives: @if with @else if and @else for conditions, @for with a required track expression and an optional @empty block for lists, and @switch with @case and @default. The syntax is built into the compiler, needs no imports, is easier to read and is faster than *ngIf and *ngFor. The CLI provides a migration schematic for older templates.
11
What is MongoDB Atlas and what features does it offer?
MongoDB Atlas is the fully managed cloud service for MongoDB on AWS, Azure and Google Cloud. It handles provisioning, replica sets, automated backups, scaling, monitoring, security features like network access lists and encryption, and performance advice such as index suggestions. It also offers Atlas Search, Vector Search and data federation. A free tier makes it popular for learning projects and MEAN prototypes.
12
Users lose a long half-filled form when they accidentally click a menu link. How would you prevent this?
Add a canDeactivate guard on the form route. The guard checks whether the form is dirty and unsaved through a method or signal on the component, and if so asks the user to confirm leaving with a dialog. Return true to allow or false to stay. Also handle browser refresh and tab close with a beforeunload listener, and consider auto-saving drafts to local storage or the server.
13
Why is Node.js a good fit for the backend in a MEAN application?
Node.js runs JavaScript or TypeScript on the server with a non-blocking, event-driven model, so it handles many concurrent I/O-heavy requests efficiently. The team uses one language family across Angular and the API, can share TypeScript models, and has access to the large npm ecosystem. It is ideal for REST APIs, real-time features and microservices, but CPU-heavy tasks should move to workers or separate services.
14
An order form lets users add any number of items with product, quantity and price. How do you build it?
Use a FormArray of FormGroups, each with product, quantity and price controls and validators like min(1). Provide addItem and removeItem methods that push or removeAt on the array, and render rows with @for over items.controls. Calculate the total from valueChanges or a computed signal. On submit, send getRawValue() typed as the order DTO, and disable the submit button while invalid or pending.
15
Write a functional auth guard that redirects unauthenticated users to the login page.
Install express and types with npm i express and npm i -D typescript @types/express @types/node. Create a tsconfig with strict mode and a module setting like NodeNext, write code in src and compile to dist with tsc. For development, run TypeScript directly with tsx watch, and use node dist/server.js in production. Type request bodies, params and responses with Request and Response generics or validated schemas.
17
What are FormControl, FormGroup, FormArray and FormBuilder?
FormControl tracks the value and validation state of a single input. FormGroup groups named controls into an object, such as a registration form. FormArray holds a dynamic list of controls or groups, such as multiple phone numbers or order items. FormBuilder, usually NonNullableFormBuilder, is a helper service that creates these with shorter syntax, for example fb.group({ email: ['', Validators.required] }).
18
What are async validators and when do you use them?
Async validators return an Observable or Promise of validation errors, used when validity needs a server check, such as whether a username or email is already taken. Angular runs them only after synchronous validators pass, and the control's status is PENDING meanwhile. Use updateOn: 'blur' or debounce inside the validator to avoid a request on every keystroke, and still enforce uniqueness on the backend.
19
Create a text index and run a relevance-sorted search in MongoDB.
Text search with scores:
db.articles.createIndex({ title: 'text', body: 'text' }, { weights: { title: 5, body: 1 } })
db.articles.find(
{ $text: { $search: 'angular signals' } },
{ score: { $meta: 'textScore' }, title: 1 }
).sort({ score: { $meta: 'textScore' } }).limit(10)
Weights make title matches rank higher. A collection can have only one text index, so include all searchable fields in it.
20
Describe a time you helped a teammate who was struggling with RxJS.
Situation: a new teammate kept writing nested subscribes and could not follow our streams. Task: help him become productive quickly. Action: I drew marble diagrams for map, switchMap and combineLatest, paired with him to refactor one of his components, and shared a short list of the operators we use most with examples. Result: within two weeks his pull requests used flattening operators correctly and he started reviewing others.
21
Write a custom validator that rejects passwords without a number and an uppercase letter.
Build Angular with ng build to produce optimised static files and compile the TypeScript API. Host the Angular files on a CDN, static host or Nginx, and run the API on a VM, container service or Kubernetes with environment variables. Use MongoDB Atlas or a managed replica set. Configure HTTPS, domain DNS, CORS, logging and monitoring, and automate everything through a CI/CD pipeline.
24
What are route guards and what kinds exist in modern Angular?
Guards decide whether navigation can proceed. canActivate checks before entering a route, canActivateChild covers child routes, canDeactivate runs before leaving, often to warn about unsaved changes, and canMatch decides whether a route definition even matches, useful for role-based lazy loading. Modern guards are plain functions using inject(), returning true, false, a UrlTree for redirect, or an Observable or Promise of these.
RxJS is a library for reactive programming with Observables, streams of values over time, combined using operators. Angular uses it in HttpClient, router events, reactive forms valueChanges and many third-party libraries. It excels at asynchronous workflows such as type-ahead search, polling, websocket streams, retries and combining multiple requests. Signals handle synchronous state well, while RxJS remains the tool for complex event streams.
26
Write a debounced search helper in TypeScript using a closure.
A typed debounce keeps argument types.
function debounce<A extends unknown[]>(fn: (...args: A) => void, ms = 300) {
let timer: ReturnType<typeof setTimeout> | undefined;
return (...args: A) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), ms);
};
}
const search = debounce((term: string) => console.log('search', term), 400);
search('ang');
In Angular you would usually use the RxJS debounceTime operator instead.
27
A dashboard needs data from three independent APIs before it can render. How would you load them?
Use forkJoin to run all three requests in parallel and emit once when all complete, giving an object or array of results. Handle errors per request with catchError returning a fallback value, so one failed widget does not block the whole dashboard. If any source emits repeatedly, use combineLatest instead. With signals, you could use three httpResource instances and a computed for the combined loading state.
28
What are directives in Angular and what types exist?
Directives add behaviour to elements. Components are directives with templates. Attribute directives change appearance or behaviour of an existing element, such as ngClass, ngStyle or a custom appHighlight using host bindings. Structural directives change the DOM layout by adding or removing elements, like the older *ngIf and *ngFor, now largely replaced by built-in control flow. Custom directives keep repeated DOM logic out of components.
29
Test an Angular service's HTTP call with HttpTestingController.
Cache the Observable with shareReplay so the API is called once.
import { Injectable, inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable, shareReplay } from 'rxjs';
export interface Category { _id: string; name: string }
@Injectable({ providedIn: 'root' })
export class CategoryService {
private http = inject(HttpClient);
private categories$?: Observable<Category[]>;
getAll(): Observable<Category[]> {
this.categories$ ??= this.http.get<Category[]>('/api/categories')
.pipe(shareReplay({ bufferSize: 1, refCount: false }));
return this.categories$;
}
}
Tips to crack the LTIMindtree MEAN Stack interview
Practise aptitude, logical reasoning and basic coding questions, as the online assessment is usually the first filter.
Revise SQL, OOP and testing fundamentals, plus any cloud or data tools you list on your resume.
Learn about the L&T Group background and the LTI and Mindtree merger to answer company-related questions.
Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
Practise the hard questions on this page aloud; LTIMindtree interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the LTIMindtree MEAN Stack interview?
Candidates usually go through 4 stages: Online assessment (aptitude + reasoning); Coding test; Technical interview; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.
Which topics should I prepare for the LTIMindtree MEAN Stack interview?
This practice set leans on Angular Components and Templates (5), Security, Testing and Deployment (5), Services, Dependency Injection and Routing (5), Angular Forms and HTTP Client (5). Revise those first, then practise explaining one or two of your own projects end to end, because most LTIMindtree interviewers ask you to walk through real work.
Are these the exact questions asked at LTIMindtree?
No. These are curated practice questions that match the skills and difficulty usually tested in it services interviews like LTIMindtree's. They are not a leaked or verified list of past questions.
Where does LTIMindtree hire MEAN Stack professionals in India?
LTIMindtree has large teams in Mumbai, Pune, Bengaluru, Chennai, Hyderabad. Openings and locations change often, so check the LTIMindtree careers page and filter by city and experience.