Informatica Interview Questions and Answers covering PowerCenter architecture, mappings, transformations, lookups, performance tuning, incremental loading, slowly changing dimensions, workflows, sessions, and data warehousing concepts.
Informatica Interview Questions and Answers
These questions focus primarily on Informatica PowerCenter. Product terminology and available features can differ between PowerCenter releases and Informatica cloud services, so candidates should identify the platform and version used in their project before describing an implementation.
Informatica PowerCenter Architecture Interview Questions
Q1. What is Informatica PowerCenter?
Informatica PowerCenter is a data integration platform used to extract data from source systems, transform it according to business rules, and load it into targets such as databases, flat files, and data warehouses. Its main components include client tools, the repository, Repository Service, Integration Service, and domain services.
Q2. What is the role of the PowerCenter repository?
The repository stores metadata for source and target definitions, mappings, mapplets, reusable transformations, sessions, workflows, connections, and related configuration. The Repository Service manages access to this metadata.
Q3. What is the difference between the Repository Service and Integration Service?
The Repository Service manages repository metadata and client requests. The Integration Service executes workflows and sessions, reads source data, applies mapping logic, and writes the resulting data to targets.
Q4. Which PowerCenter Designer tools are used to create repository objects?
- Source Analyzer: imports or creates source definitions.
- Target Designer: imports or creates target definitions.
- Transformation Developer: creates reusable transformations.
- Mapplet Designer: creates reusable mapplets.
- Mapping Designer: connects sources, transformations, and targets in a mapping.
Q5. What metadata is imported with a relational source definition?
- Table and column names.
- Column datatypes, precision, and scale.
- Primary-key and foreign-key metadata available through the connection.
- Nullability and other supported column attributes.
- Database or owner information associated with the imported object.
Q6. How can a relational source definition be updated?
For a small metadata correction, edit the source definition in Source Analyzer and validate the dependent mappings. For structural database changes, re-import the definition and use the appropriate replace or rename option. Review datatype, port, expression, and dependency changes before saving because propagation can affect multiple mappings.
Informatica Mapping, Mapplet, and Transformation Questions
Q7. What is a mapping in Informatica?
A mapping is a repository object that defines how data moves from sources through transformations to targets. It describes the data flow and transformation logic but does not run independently. A session task provides the runtime configuration for executing it. For related design concepts, see the mapping tutorial.
Q8. What is a transformation?
A transformation is a mapping object that receives, generates, changes, routes, aggregates, or returns data. Examples include Expression, Filter, Lookup, Aggregator, Joiner, Router, Sequence Generator, and Update Strategy transformations.
Q9. What is a mapplet?
A mapplet is reusable mapping logic made from a group of transformations. It exposes input and output ports so that the same logic can be embedded in multiple mappings. A mapplet is useful when the transformation sequence, rather than only one transformation, must be reused.
Q10. What is a reusable transformation?
A reusable transformation is defined independently and referenced by multiple mappings or mapplets. A change to the reusable definition can affect every instance that uses it, so dependent objects should be validated after an update. Reusable transformations can be created in Transformation Developer or by promoting an eligible transformation to reusable status.
Q11. How are ports created in a transformation?
- Drag compatible ports from another transformation or source into the transformation.
- Add ports manually on the Ports tab and configure the name, datatype, precision, scale, and port type.
- Copy ports from another compatible object when the Designer supports the operation.
Q12. What is the difference between active and passive transformations?
An active transformation can change the number of rows, transaction boundaries, or row type passing through it. A Filter transformation, for example, removes rows that do not satisfy its condition.
A passive transformation does not change the number of rows passing through it. An Expression transformation is a common example because it calculates or modifies values while producing one output row for each input row.
Q13. What is the difference between connected and unconnected transformations?
A connected transformation is linked directly to the mapping pipeline and receives data through connected input ports. It can pass one or more values to downstream objects.
An unconnected transformation is not part of the main pipeline. It is invoked from an expression when needed and returns a value to the calling transformation. Lookup is the transformation most commonly discussed in connected and unconnected forms.
Informatica Lookup Transformation Interview Questions
Q14. Why is Lookup Transformation used?
A Lookup Transformation retrieves related data by comparing incoming values with a lookup source. It is commonly used to obtain reference values, check whether a record already exists, identify dimension keys, implement conditional logic, and support slowly changing dimension processing.
Q15. What is the difference between connected and unconnected lookups?
- Connected lookup: participates directly in the data flow, receives values through input ports, and can return multiple output columns.
- Unconnected lookup: is called from an expression using the lookup function and returns one designated value for each call.
Q16. What is the difference between cached and uncached lookups?
A cached lookup stores lookup data in memory and cache files so repeated searches can avoid issuing the same query for every input row. An uncached lookup queries the lookup source for incoming rows. The appropriate choice depends on lookup size, available memory, source latency, expected match frequency, and whether lookup data changes during the session.
Q17. What are static, dynamic, and persistent lookup caches?
- Static cache: the cache content is not updated by rows processed during the session.
- Dynamic cache: the Integration Service can update the cache as rows are inserted or updated, which is useful in selected target-maintenance patterns.
- Persistent cache: cache files are retained for possible reuse by later session runs when the cache remains valid.
Q18. Is Lookup always faster than Joiner Transformation?
No. Performance depends on data volume, join cardinality, cache size, source capabilities, network cost, sort order, indexes, and mapping design. A lookup is often suitable when enriching a stream with reference data. A Joiner is useful when joining pipelines, especially from heterogeneous sources. The decision should be based on the actual execution plan, session log, cache behavior, and measured runtime.
Informatica Aggregator and Joiner Interview Questions
Q19. What does Aggregator Transformation do?
Aggregator Transformation performs aggregate calculations such as SUM, AVG, COUNT, MIN, and MAX. It can group input rows using selected group-by ports and produce an aggregate result for each group.
Q20. What is an Aggregator cache?
The Aggregator uses an index cache and a data cache while calculating grouped results. The index cache stores group information, while the data cache stores values required for aggregate calculations. Cache requirements depend on the number of groups, connected ports, datatypes, and volume of data.
Q21. How can Aggregator Transformation performance be improved?
- Filter unnecessary rows before the aggregator transformation.
- Use sorted input only when rows are correctly sorted by the group-by ports in the required order.
- Connect only the ports required for grouping and calculations.
- Reduce complex repeated expressions by calculating them earlier when appropriate.
- Review cache sizing, partitioning, source pushdown options, and the session log before making changes.
- Use a Filter before aggregating when rows can be safely eliminated.
Q22. What is the purpose of Joiner Transformation?
Joiner Transformation combines related rows from two input pipelines. It is useful when the inputs come from heterogeneous sources or cannot be joined directly in one source query. The master and detail selection, join type, sorted-input configuration, and input sizes affect performance.
Q23. What join types are available in Joiner Transformation?
- Normal join: returns matching master and detail rows.
- Master outer join: retains all detail rows and matching master rows.
- Detail outer join: retains all master rows and matching detail rows.
- Full outer join: retains matching and unmatched rows from both pipelines.
Informatica Parameters, Variables, Sessions, and Workflows
Q24. What is the difference between a mapping parameter and a mapping variable?
A mapping parameter represents a value defined before a mapping run. It normally remains constant during that run and is useful for configurable values such as file paths, dates, and connection-independent business settings.
A mapping variable can change while the mapping runs. Its final value can be saved to the repository and reused in a later successful run, depending on configuration. Variables are frequently used for incremental-load boundaries and running calculations.
Q25. Can a mapping parameter or variable be used in another mapping?
Its definition belongs to the mapping or mapplet in which it is declared. Another mapping can define a parameter or variable with the same name and receive a value through a parameter file, but it does not automatically share the first mapping’s runtime scope or saved variable state.
Q26. What is the difference between a mapping, session, and workflow?
- Mapping: defines source-to-target data flow and transformation logic.
- Session: provides runtime instructions for executing a mapping, including connections, files, error handling, and target properties.
- Workflow: coordinates sessions and other tasks, defines dependencies, and controls execution order.
Q27. What is a parameter file?
A parameter file supplies values for parameters and variables at runtime. It can contain sections scoped to folders, workflows, worklets, sessions, mappings, or mapplets. Scope and naming must be checked carefully because an incorrect section can cause a default or previously saved value to be used.
Q28. What is a worklet?
A worklet is a reusable group of workflow tasks. It is used when the same task sequence, decision logic, or operational control must appear in multiple workflows.
Informatica Update Strategy and Incremental Loading Questions
Q29. What is Update Strategy Transformation?
Update Strategy Transformation marks rows for insert, update, delete, or reject operations. The expressions commonly return the constants DD_INSERT, DD_UPDATE, DD_DELETE, or DD_REJECT. The session and target configuration must be compatible with data-driven row handling.
Q30. At which levels is target update behavior controlled?
At the mapping level, Update Strategy Transformation can flag individual rows for different operations. At the session level, target update options determine whether rows are treated uniformly or according to the data-driven instructions produced by the mapping.
The following XML block appeared in an earlier version of this page. It describes an update-check subscription and is not an Informatica Update Strategy expression:
<!-- When to check for updates -->
<subscription>
<update>
<expiration maximumAge="6" unit="hours" />
</update>
</subscription>
Q31. What are common methods for identifying incremental or delta records?
- Filter by a reliable created or last-modified timestamp.
- Use a monotonically increasing key or sequence as a high-water mark.
- Read database change data capture or transaction-log information where available.
- Compare source keys and change-detection columns with the target.
- Use checksums or hashes when several business columns must be compared.
- Process source-provided operation flags or change files.
The extraction boundary should account for late-arriving records, timestamp precision, time zones, failed runs, and restart behavior. Save a new high-water mark only after the intended load completes successfully.
Q32. How should duplicate source records be handled?
First define what constitutes a duplicate: complete row equality, business-key equality, or repeated event identity. Then use source SQL, Sorter with distinct handling, Aggregator grouping, Rank logic, or another deterministic rule to retain or reject rows. Keep duplicate handling separate from database code that intentionally inserts the same row more than once.
The following historical sample uses data-adapter classes rather than Informatica PowerCenter objects. It is retained for reference but is not a valid PowerCenter duplicate-handling pattern:
sqlconnection cn = new sqlconnection("ur connection string");
Sqldataadapter da= new sqldataadapter("select * from sometable",cn);
sqlcommandbuilder cmb = new sqlcommandbuilder(da);
dataset ds= new dataset();
da.fill(ds,"sometable");
ds.tables[0].constraints.add("usr_pk",ds.tables[0].columns[0],true);
datarow row;
row=ds.tables[0].newrow();
for(int i=o;i<2;i++)
{i++;
row[0]=value;
ds.tables[0].rows.add(row);
da.update(ds.tables[0]);
Informatica Source, Flat File, and Mainframe Questions
Q33. Where should a flat file be placed for a PowerCenter session?
The Integration Service must be able to read the file through a valid path and operating-system account. A local directory on the Integration Service machine is often simpler and avoids network-transfer overhead, but shared storage may be required in clustered or grid deployments. The correct placement depends on accessibility, reliability, security, failover, and operational design; no universal speed multiplier applies.
Q34. How is a flat-file source or target definition created?
Use Source Analyzer to import or create a flat-file source definition. Configure properties such as delimiter, fixed-width columns, field names, datatypes, code page, quoting, and header handling. To create a flat-file target, use Target Designer or configure an eligible relational target definition for flat-file output in the session, depending on the design. For the Designer interface, see Informatica PowerCenter designer.
Q35. How are COBOL copybooks used with mainframe data?
A COBOL copybook describes the record structure for mainframe data. It can define fields, datatypes, hierarchical groups, and repeating structures. The exact import and runtime options depend on the licensed PowerCenter components and source format.
Q36. Why is Normalizer Transformation associated with COBOL sources?
Normalizer Transformation can convert repeating groups from a hierarchical or denormalized record into multiple relational rows. This makes it useful when a COBOL source contains occurs clauses or repeated fields that must be represented in relational form.
Informatica SQL and Source-Filter Questions
Q37. How can a particular record be selected from a relational source?
Apply a selective condition in the Source Qualifier when the connector and source support it, or use an SQL override when more control is required. Filtering at the database can reduce rows transferred to the Integration Service, but the query should use valid column names, bind or parameter values where appropriate, and suitable indexes.
select * from <tablename> where <coloumn-name1>='<value>'and
<coloumn-name2>='<value>'.........
(OR)
select name from tablename where name like 'A%';
Q38. How are records beginning with the letter A selected?
For a database that uses the percent sign as the multi-character wildcard, apply a LIKE 'A%' predicate. Case sensitivity depends on the database, datatype, and collation.
select * from emp where ename like 'A%'
Informatica Data Warehouse Interview Questions
Q39. What is an ODS?
ODS stands for Operational Data Store. It integrates relatively current operational data from one or more source systems for reporting, reconciliation, or downstream processing. Unlike a historical analytical warehouse, an ODS commonly emphasizes current or near-current integrated data.
Q40. What is multidimensional analysis?
Multidimensional analysis examines numeric measures across business dimensions. For example, sales amount may be analyzed by date, product, customer, and region. Dimensions provide descriptive context, while measures contain the values being analyzed.
Q41. What are additive, semi-additive, and non-additive facts?
- Additive facts: can be summed across all relevant dimensions, such as a transaction amount.
- Semi-additive facts: can be summed across some dimensions but not all. An account balance can usually be summed across accounts but not across dates.
- Non-additive facts: should not be summed across dimensions, such as ratios and percentages. Their underlying components may need to be aggregated before recalculation.
Q42. What is a slowly changing dimension?
A slowly changing dimension is a dimension whose descriptive attributes can change over time. The term describes the method used to manage those changes; it does not require that every change occur infrequently.
Q43. What is the difference between SCD Type 1, Type 2, and Type 3?
- SCD Type 1: overwrites the existing attribute value and does not retain attribute history.
- SCD Type 2: inserts a new dimension row for a change and retains historical versions, commonly using surrogate keys and effective-date or current-row columns.
- SCD Type 3: stores limited history in additional columns, such as current and previous values.
Q44. How is a time dimension loaded?
A time dimension is normally generated for a defined date or timestamp range rather than loaded through SCD Type 1, 2, or 3 logic. The process creates one row per required grain and derives attributes such as day, week, month, quarter, year, fiscal period, weekend indicator, and holiday indicator. Business calendar rules must be supplied by the organization.
Informatica Performance and Error-Handling Questions
Q45. How do you approach PowerCenter session performance tuning?
- Establish a repeatable baseline and identify whether the bottleneck is at the source, transformation, Integration Service, network, or target.
- Read session logs for reader, transformation, and writer statistics.
- Reduce rows and columns as early as business rules permit.
- Push suitable filtering, joining, or aggregation to the source database when measurement shows a benefit.
- Review lookup, aggregator, sorter, and joiner cache behavior.
- Check database indexes, bulk-loading options, commit intervals, constraints, and logging requirements.
- Evaluate partitioning only when sources, transformations, and targets can support useful parallelism.
- Change one significant factor at a time and measure the result.
Q46. What error-handling methods are used in Informatica?
- Reject invalid rows through transformation logic and write them to a controlled reject target.
- Review session reject files and database writer errors.
- Capture business keys, error reason, source identity, and load timestamp for rejected records.
- Configure workflow failure paths, email or operational alerts, and recovery behavior.
- Use target constraints as safeguards without relying on them as the only validation layer.
- Define thresholds that determine whether a session continues, stops, or fails.
Q47. What should be checked when a PowerCenter session fails?
Check the workflow and session logs, the first meaningful error rather than only the final failure message, source and target connectivity, file paths and permissions, database errors, cache and disk availability, parameter resolution, rejected rows, service availability, and recent deployment changes. Determine whether restarting is safe before rerunning a partially completed load.
Q48. How do you explain an Informatica performance improvement in an interview?
Describe the original data volume and runtime, evidence from logs or monitoring, the identified bottleneck, the specific change, validation performed, and measured result. Also state the trade-off. For example, sorted Aggregator input may reduce cache usage, but only if the upstream sort order is correct and the cost of producing that order is acceptable.
Scenario-Based Informatica Interview Questions
Q49. How would you load data from SQL Server, Oracle, and Informix into one target?
Create separate source pipelines for the heterogeneous systems. If the rows must be joined by related keys, combine two pipelines with a Joiner and then join the result with the third pipeline, or stage the data and perform the join in a database. If the rows share the same structure and must be appended rather than joined, use a design appropriate for combining compatible pipelines. The correct approach depends on whether the business operation is a join, union, lookup, or staged integration.
Q50. How would you design a restartable incremental load?
Store a committed high-water mark or batch identifier in a control table. Read the previous successful boundary at the start, extract a deterministic window, make target operations idempotent or otherwise restart-safe, record row counts and errors, and advance the boundary only after successful completion. Include an overlap or reconciliation rule if records can arrive late.
Q51. How would you implement SCD Type 2 in Informatica?
Lookup the incoming business key against the current dimension row. Identify new and changed records by comparing tracked attributes. Insert a new row for a new business key. For a changed existing member, expire the current row and insert a new row with a new surrogate key, effective date, open-ended expiry date, and current-row indicator. Define how nulls, duplicate source keys, multiple changes in one batch, and late-arriving data are handled.
Q52. How would you validate an ETL load?
Compare source, processed, rejected, inserted, updated, and deleted row counts. Reconcile key business totals, verify duplicate and null rules, inspect representative records, validate referential integrity, check audit columns and batch identifiers, review session logs, and confirm that rerunning the same batch produces the intended result.
Informatica Interview FAQs
Which Informatica topics should an experienced developer prepare?
Prepare architecture, mapping design, transformations, lookup and cache behavior, workflows, parameters, incremental loading, SCD implementation, performance tuning, error handling, deployment, recovery, and project-specific scenarios. Experienced candidates should support answers with measured examples.
Should an interview answer mention the Informatica version?
Yes, when the question concerns supported objects, product modules, release-specific behavior, operating systems, connectors, or lifecycle status. Avoid memorizing a supposedly universal latest version; identify the edition and version used in the project and verify current release information separately.
How long should an Informatica interview answer be?
Begin with a direct definition in one or two sentences. Then add a practical example, important limitation, or performance consideration. For scenario questions, explain the decision, implementation, validation, and trade-off rather than listing transformation names without context.
What is the best way to answer Informatica performance questions?
Use evidence from session logs and measurements. Identify the bottleneck, describe the change, provide before-and-after data, and mention any trade-off. Avoid claiming that one transformation is always faster than another.
How should Informatica Cloud experience be discussed in a PowerCenter interview?
Separate shared data-integration concepts from product-specific terminology. State whether the work used PowerCenter, Informatica Intelligent Data Management Cloud, or both, and describe the runtime, task, mapping, connection, monitoring, and deployment model in the correct product context.
Informatica Interview Content QA Checklist
- Confirm that each answer identifies PowerCenter or cloud-specific terminology where the distinction matters.
- Verify transformation classifications against the product version used in the project.
- Avoid unsupported claims that Lookup, Joiner, flat files, or pushdown processing are always faster.
- Check that parameter, variable, cache, Update Strategy, and SCD explanations include their operational limitations.
- Ensure scenario answers describe data volume, restart behavior, validation, and error handling.
- Replace memorized version numbers with verified edition and release information when a current-version answer is required.
- Confirm that SQL examples are adapted to the actual database, identifiers, datatypes, and collation.
- Review legacy code samples separately because they may not represent PowerCenter mapping logic.
TutorialKart.com