Informatica Interview Questions and Answers (2026): PowerCenter to IICS
Sixteen PowerCenter questions with interviewer-grade answers — transformations, SCD Type 2, caching, partitioning, and performance tuning — plus a prep plan and the IICS context that 2026 ETL interviews in India now expect.
By Durgesh Yadav — Senior Data Engineer @ 7-Eleven · Updated 2026-07-25. Preparation guidance, not a hiring guarantee.
What are the most asked Informatica interview questions?
Informatica interviews concentrate on transformation behavior — filter vs router, connected vs unconnected lookup, aggregator and joiner caching — plus scenario design like SCD Type 2 and incremental loads. Experienced candidates also face performance questions: lookup caches, partitioning, pushdown optimization, and reading session-log thread statistics to find bottlenecks. Strong answers explain runtime behavior, not textbook definitions.
Informatica rounds at Indian services companies and GCCs usually run three layers deep. Layer one is definitions: active vs passive, connected vs unconnected lookup, mapping vs session vs workflow. Almost everyone clears this. Layer two is behavior under the hood, and this is where candidates separate: what the aggregator cache does without sorted input, which rows a master outer join actually keeps, what happens on a lookup miss, why a dynamic cache exists at all. Layer three is scenario design — implement SCD Type 2, dedupe a daily feed, design an incremental load with restartability. For 2-6 years of experience, expect a performance thread through the whole interview: the moment you say a session was slow, the follow-up is how you proved where the bottleneck was. Interviewers are checking whether you have read session logs and thread statistics yourself or only watched someone else operate the tool.
Comparison questions (filter/router, connected/unconnected) open almost every round
Cache behavior — lookup, aggregator, joiner — is the main experience filter
Scenario design: SCD Type 2 and incremental loads are the two staples
Performance claims get audited: name the bottleneck method, not just the fix
How to Prepare in One to Two Weeks
Hands-on beats reading. If you have access to any PowerCenter or IICS instance, build three things yourself: a mapping with a connected and an unconnected lookup, one complete SCD Type 2 flow with a router and update strategies, and an incremental load driven by a mapping variable. Building them once makes every follow-up question answerable, because you have seen the settings — data driven, sorted input, associated ports — rather than memorized them. Then read one real session log end to end and find the thread statistics; being able to say 'the writer thread was 90 percent busy, so I attacked the target' is worth more than any definition. Revise SQL seriously: source qualifier overrides, pushdown optimization, and half of all tuning conversations are SQL underneath. Finally, script the story of one pipeline you have built or practiced — sources, volumes, transformations, failure handling — and rehearse narrating it left to right in under three minutes.
Build an SCD Type 2 mapping yourself before claiming it in an interview
Read a real session log and locate reader/transformation/writer busy percentages
Revise SQL joins, aggregates, and dedupe patterns — they are asked directly
Rehearse one end-to-end pipeline story, narrated left to right
Common Mistakes That Sink Informatica Interviews
The most common failure is reciting a definition and collapsing on the first follow-up: candidates define a dynamic lookup cache correctly, then cannot explain NewLookupRow or why the downstream update strategy must mirror the cache action. Second is mixing up joiner semantics — a master outer join keeps all detail rows, not all master rows, and interviewers set this trap deliberately. Third is the vague tuning claim: 'we did performance tuning' with no isolation method behind it reads as secondhand experience; always anchor tuning stories in thread statistics or a flat-file-target test. Fourth is forgetting the session side of mapping logic — an update strategy transformation does nothing unless the session treats source rows as data driven, and updates need keys in the target definition. Finally, walking in with zero cloud awareness is now a real negative: many Indian estates are mid-migration, and 'have you seen IICS?' is a standard closing question.
Master outer join keeps all detail rows — the classic trap
Update Strategy is inert without 'Treat source rows as: Data Driven'
Never claim tuning without naming how you isolated the bottleneck
Zero IICS awareness reads badly in 2026 migration-heavy teams
PowerCenter vs IICS: The 2026 Angle
PowerCenter remains an ETL staple across Indian services companies, banks, and GCC data teams, but Informatica's platform direction is its cloud service (IICS, under the Intelligent Data Management Cloud umbrella), and migration projects are a large share of current Informatica work. Interviews reflect this: you may be asked PowerCenter depth and then 'how would this look in IICS?' The concept mapping carries you: a PowerCenter mapping is still a mapping in Cloud Data Integration; session-plus-workflow roughly becomes a mapping task inside a taskflow; the Integration Service's execution role moves to the Secure Agent, which can run on-premise or on a cloud VM so data need not transit Informatica's cloud; the repository becomes cloud-hosted metadata. Pushdown thinking transfers almost unchanged — IICS leans harder into ELT, pushing SQL to warehouses. If you know PowerCenter well, position yourself as migration-ready: same design instincts, new runtime — that is exactly the profile migration projects hire for.
Integration Service's role moves to the Secure Agent in cloud
Pushdown/ELT instincts transfer directly to warehouse-centric IICS work
Pitch yourself as migration-ready: PowerCenter depth plus cloud vocabulary
Question bank
16 interview questions with answers
Real questions from beginner to advanced, each with a concise model answer — practice them, then rehearse live in a mock interview.
EasyWhat is Informatica PowerCenter and what are its main components?
PowerCenter is Informatica's enterprise ETL platform: it extracts data from heterogeneous sources, transforms it, and loads targets in batch. Architecturally, the repository is a relational database holding all metadata — mappings, sessions, workflows, connections — managed by the Repository Service. The Integration Service executes workflows: it spawns a DTM (Data Transformation Manager) process per session that reads, transforms, and writes data. Everything sits inside a domain, the administrative unit spanning one or more nodes. The client tools are Designer (build mappings), Workflow Manager (build sessions and workflows), Workflow Monitor (track runs), and Repository Manager (folders, permissions, object management). In an interview, separating design-time objects (stored in the repository) from run-time execution (Integration Service and DTM) shows you understand the architecture rather than just the GUI.
EasyExplain the difference between a mapping, a session, and a workflow.
A mapping is the design-time data flow: source definitions, transformations, and target definitions linked together in Designer. It defines what to do with data but nothing about when or where. A session is a task that makes one mapping executable: it binds the mapping to physical connections, file paths, memory settings, commit intervals, and error handling. A workflow is the orchestration layer built in Workflow Manager — sessions, command tasks, decision tasks, event waits, and email tasks connected by links, executed by the Integration Service on a schedule or on demand. A worklet groups tasks for reuse across workflows, the way a mapplet groups transformations for reuse across mappings. Interviewers ask this to confirm you separate logic (mapping), runtime configuration (session), and orchestration (workflow) cleanly.
EasyWhat is the difference between active and passive transformations?
An active transformation can change the number of rows passing through it, change transaction boundaries, or change row type. Filter, Router, Aggregator, Joiner, Rank, Sorter, Union, Normalizer, Update Strategy, and Source Qualifier are active. A passive transformation preserves row count — every input row produces exactly one output row: Expression, Sequence Generator, and Stored Procedure are passive. The classic follow-up is the Lookup: passive by default, but newer PowerCenter versions let it return all matching rows, which makes it active. The practical consequence of the classification: you cannot merge pipelines coming from different active transformations into the same downstream transformation, because the Integration Service cannot align rows whose counts may differ — merging branches requires a Union or a Joiner. Quoting that consequence, not just the definition, is what earns the marks.
EasyWhen would you use a Router instead of a Filter?
Both are active and condition-driven, but they behave differently. A Filter has a single condition; rows that fail are silently dropped — they are not captured in any reject file. A Router evaluates multiple conditions in one pass, with one output group per condition plus a default group for rows matching none. A row satisfying several conditions goes to every matching group, and the input is processed only once. Use a Router where you would otherwise chain multiple Filters off the same pipeline: one Router is cheaper because the data is read once instead of once per Filter, and you keep the non-matching rows via the default group. Use a Filter when you genuinely want to discard rows early — and pushing that filter into the Source Qualifier as a filter override, so the database drops the rows, is a standard performance move.
EasyWhat is the difference between a connected and an unconnected lookup?
A connected Lookup sits in the pipeline: it receives input through port links, participates in row-by-row flow, can return multiple columns, and supports a dynamic cache. On no match it returns default values for output ports. An unconnected Lookup sits outside the flow and is invoked from an Expression with the :LKP.lookup_name(args) syntax. It returns exactly one value through its designated return port, uses only a static cache, and returns NULL on no match. The key advantage of unconnected is conditional invocation: wrapped in an IIF, the lookup fires only for rows that need it, and one unconnected lookup can be called from multiple expressions. Choose connected when you need several columns back or a dynamic cache; choose unconnected when the lookup is needed rarely or shared across logic.
MediumHow does the Aggregator transformation work, and what does Sorted Input change?
The Aggregator computes SUM, AVG, COUNT, MIN, MAX and similar functions over groups defined by group-by ports. It is active and cache-based: an index cache holds group keys and a data cache holds row data. Without sorted input, it must read the entire input before emitting anything — a new member of any group could arrive at any time — so cache grows with the number of groups. With Sorted Input enabled and the data genuinely sorted on the group-by ports (via a Sorter or an ORDER BY in the Source Qualifier), it processes one group at a time and releases each group when the keys change, which slashes cache size and improves throughput. Two traps worth naming: enabling Sorted Input on unsorted data fails the session or corrupts results, and ports without an aggregate function return the last row of each group.
MediumExplain the Joiner transformation: master vs detail and the four join types.
The Joiner joins two pipelines, which may come from heterogeneous sources — a flat file joined to an Oracle table, say. One input is the master, the other the detail. The Integration Service caches master rows and streams detail rows against that cache, so you designate the source with fewer rows (or fewer duplicate keys) as master to keep the cache small. The four join types trip people up: a normal join keeps only matching rows; a master outer join keeps all detail rows and discards unmatched master rows; a detail outer join keeps all master rows and discards unmatched detail rows; a full outer join keeps everything. Sorted input on a Joiner enables group-by-group processing and better performance at volume. When both inputs are relational tables in the same database, prefer a database join in the Source Qualifier — the database usually joins faster.
MediumHow do you implement SCD Type 2 in Informatica?
SCD Type 2 preserves history by inserting a new dimension row when a tracked attribute changes, instead of overwriting. Standard mapping: the Source Qualifier feeds a Lookup on the target dimension keyed by the business key, returning the surrogate key and current attribute values. An Expression compares source against looked-up values and flags each row NEW, CHANGED, or UNCHANGED. A Router splits the flow: NEW rows take a surrogate key from a Sequence Generator through an Update Strategy with DD_INSERT; CHANGED rows go down two branches — one inserts the new version (new surrogate key, current flag 'Y', effective start date), the other updates the old row with DD_UPDATE to set its end date and flag 'N'. History can be tracked by version number, current-row flag, or effective date ranges — date ranges are most common because they support as-of queries. PowerCenter also ships an SCD wizard that generates this pattern.
MediumWhat does the Update Strategy transformation do, and what session settings does it depend on?
Update Strategy tags each row with the operation the writer should perform: DD_INSERT (0), DD_UPDATE (1), DD_DELETE (2), or DD_REJECT (3), typically via an IIF or DECODE expression. For the flags to matter, the session property 'Treat source rows as' must be Data Driven — otherwise the session-level setting (Insert, Update, or Delete) applies uniformly and the transformation is ignored. Rejected rows go to the session reject file when Forward Rejected Rows is enabled. Target-level session properties interact too: insert, update as update, update as insert, update else insert, and delete decide what the writer may actually do. A common scenario question is upsert: either Update Strategy with a data-driven session, or 'update else insert' at the target — and the target definition needs key columns defined, because PowerCenter builds the UPDATE's WHERE clause from them.
MediumWhat types of lookup cache exist and when do you use each?
By default a Lookup builds a static cache: the lookup source is read once at session start into index and data caches, and never changes during the run. A dynamic cache can be inserted into or updated as rows pass through — essential when the lookup table is also the target being loaded, so later rows in the same run see earlier inserts. A persistent cache is saved to cache files and reused by later sessions, skipping the rebuild — right for large, slowly changing reference tables; name it to share across mappings and recache when the reference data changes. Unnamed caches can be shared between compatible lookups within one mapping. The trade-off to articulate: caching costs memory and build time but avoids repeated database hits — for a huge table probed only a handful of times, an uncached lookup can actually be faster.
MediumWhat is pushdown optimization and what are its limits?
Pushdown optimization has the Integration Service translate transformation logic into SQL and push it to the database instead of processing rows itself. Source-side pushdown folds upstream logic into the SELECT against the source; target-side pushes downstream logic into the write; full pushdown — when source and target share a database — can turn the whole mapping into SQL executed in-database, so data never moves through the DTM. It shines when both ends sit on a powerful database: classic ELT. The limits: only logic with a SQL equivalent can be pushed, so transformations or functions the database cannot express (varies by database; sequence-heavy logic and some lookups are common blockers) produce a partial pushdown. The Pushdown Optimization Viewer shows exactly which pieces were pushed, and you can control behavior per session or dynamically through the $$PushdownConfig mapping parameter.
MediumCompare a reusable transformation, a mapplet, and a worklet.
All three are reuse mechanisms at different levels. A reusable transformation, built in the Transformation Developer, is a single transformation — say a standard address-cleansing Expression — shared across mappings; edits propagate everywhere it is used. A mapplet, built in the Mapplet Designer, packages a set of transformations behind Mapplet Input and Output transformations, so a whole pattern — validate, standardize, lookup — drops into many mappings as one object. Mapplets carry restrictions: they cannot contain targets, other mapplets, or certain source types such as XML. A worklet is the workflow-level equivalent: a reusable group of tasks (sessions, commands, decisions) placed inside multiple workflows, useful when several nightly workflows share the same load-and-audit sequence. The crisp interview framing: reusable transformation = one object, mapplet = reusable mapping fragment, worklet = reusable workflow fragment.
HardExplain session partitioning: the partition types and how you choose between them.
Partitioning splits a pipeline into parallel threads at partition points, multiplying reader, transformation, and writer threads. Pass-through keeps rows in their current partition — used to add a stage boundary without redistributing data. Round-robin distributes rows evenly, useful after an unevenly split source. Hash auto-keys hashes on the grouping or sort keys — effectively required before an Aggregator, Rank, or Sorter so all rows of a group land in the same partition; hash user keys lets you choose the hash ports yourself. Key range routes rows by value ranges you define, typically aligned to target table partitions; database partitioning reads or writes according to the database's own partition scheme. The costs interviewers want to hear: every partition gets its own caches, so memory multiplies; skewed keys create hot partitions that erase the gains; and partitioning is a licensed option, so confirm it exists before designing around it.
HardA session is slow. How do you find the bottleneck and fix it?
Start with evidence: the session log's thread statistics show run time and busy percentage for reader, transformation, and writer threads — the highest busy percentage is the bottleneck. Then isolate. Point the mapping at a flat-file target: if runtime collapses, the target is the problem — fix with bulk loading, dropping indexes during the load, larger commit intervals, or an external loader. Put a Filter with condition FALSE right after the Source Qualifier: if it is still slow, the source is the problem — tune the source query, indexing, or network. Otherwise it is the mapping: cache and trim expensive lookups, enable sorted input on Aggregators and Joiners, replace chained Filters with one Router, and remove unnecessary datatype conversions. Session-level knobs come last — DTM buffer size, buffer block size, transformation cache sizes — and partitioning only after single-thread tuning is exhausted.
HardHow does a dynamic lookup cache work internally, and what problem does it solve?
A dynamic lookup cache changes while the session runs: as each row passes, the Integration Service can insert it into the cache or update the cached row, keeping the cache synchronized with what the target will become. It solves a specific failure: with a static cache, if the same business key arrives twice in one run against an empty target, both rows miss the lookup and you insert duplicates. With a dynamic cache, the first row inserts into the cache and the second row finds it. The transformation exposes a NewLookupRow port — 0 (no change), 1 (inserted), 2 (updated) — and each lookup port pairs with an associated input port supplying the values written into the cache. Downstream, you route on NewLookupRow into Update Strategies so the target receives the same insert or update the cache recorded, and you mark volatile ports like timestamps as ignore-in-comparison to avoid spurious updates.
HardDesign an incremental (delta) load in Informatica with restartability.
The standard pattern is a persisted mapping variable as a watermark. Declare $$LastExtractTime, filter the source on last_updated_ts > $$LastExtractTime inside the Source Qualifier so the database does the filtering, and call SETMAXVARIABLE($$LastExtractTime, last_updated_ts) in an Expression. The Integration Service persists the new value to the repository only when the session succeeds, which gives natural restartability: a failed run never advances the watermark, so the next run re-extracts the same window. Alternatives are a control table updated post-load (more visible to operations, portable across tools) or script-generated parameter files. Design points interviewers probe: the audit column must be trustworthy, or late-updated rows are silently missed; timestamp deltas never see deletes, so you need soft deletes or periodic reconciliation; and re-processed windows must not duplicate rows, so pair the delta with a dynamic lookup or upsert logic. True change capture including deletes is where CDC tooling and database logs come in.
Related Guides
Keep Preparing
Move between roadmaps, interview questions, and tools without losing your preparation thread.
Is Informatica PowerCenter still worth learning in 2026?
Yes, with a caveat. Large PowerCenter estates still run in Indian banks, services companies, and GCCs, and they need people who can maintain and extend them. The growth area, though, is migration to Informatica's cloud platform (IICS/IDMC), and those projects specifically want engineers who know both. Learn PowerCenter fundamentals deeply — mappings, caches, tuning — then layer IICS vocabulary on top. The concepts transfer almost one to one, so nothing you learn is wasted.
Which transformations should I prepare most thoroughly?
Lookup is the single most-questioned transformation — connected vs unconnected, all four cache types, and dynamic cache mechanics. After that: Aggregator (sorted input, cache behavior), Joiner (master/detail, join types), Router vs Filter, Update Strategy with its session settings, Sequence Generator, Sorter, and Normalizer. For each, prepare the behavior story, not just the definition: what it caches, what happens on edge cases like no-match or unsorted input, and one performance implication.
How much SQL do Informatica interviews require?
A lot — often a full SQL segment alongside the tool questions. Source qualifier overrides, pushdown optimization, and most tuning work are SQL underneath, so interviewers treat weak SQL as weak Informatica. Expect to write joins, aggregations with GROUP BY and HAVING, duplicate detection and removal, and possibly analytic functions like ROW_NUMBER for latest-record problems. If your SQL is rusty, split your prep time roughly evenly between PowerCenter concepts and SQL practice.
How should I answer scenario-based Informatica questions?
Narrate the mapping left to right, naming each transformation and its key settings: 'Source qualifier with a filter on the audit column, lookup on the target by business key, expression to compare and flag, router with three groups, update strategies with DD_INSERT and DD_UPDATE, session set to data driven.' Then volunteer one edge case — duplicate keys in the same run, a failed session mid-load — and how the design survives it. Settings and edge cases are what separate practiced candidates from rehearsed ones.
I am a fresher with no project experience. How do I prepare for Informatica roles?
Focus on fundamentals plus SQL, because that is what fresher rounds actually test — many services companies train tool specifics after hiring. If you can, practice on a trial or academic setup and build two or three small mappings, including one SCD Type 2, and describe them honestly as practice work rather than inventing a project. Being able to correctly explain caches, active vs passive, and joiner semantics as a fresher already puts you ahead of most candidates.
Next Step
Turn The Guide Into Practice
Use PrepNPlaced tools to turn this learning path into resume proof, targeted practice, and interview-ready explanations.