Interview guides · Icreon
Icreon Software Engineer Interview Guide
Icreon Software Engineer interview guide: reported rounds, questions and how candidates describe the process.
The 60-second brief
As a Software Engineer at Icreon, you will play a critical role in driving digital transformation for enterprise-level clients globally. Icreon is a specialized digital innovation agency, which means engineering here is not just about writing code; it is about consulting, designing, and delivering complex web applications, custom software, and scalable platforms that solve real-world business challenges. Your work directly impacts the digital footprint of major brands, non-profits, and mid-market enterprises. In this role, you will work within multi-functional teams consisting of product managers, UI/UX designers, and QA engineers. The engineering environment at Icreon is diverse, spanning robust backend systems built on Java or.NET, modern frontend architectures, and cloud-native database solutions.
This guide is scoped to a Software Engineer candidate at Icreon.
Focus areas
- Java
- Object-Oriented Programming (OOP)
- SQL
The Icreon interview process
Icreon candidates report 3 rounds over 3-5 weeks. The stages below are what candidates describe, not a published process.
Telephonic Screening
Initial conversation with an HR representative or technical director focusing on background, project experience, and basic technical concepts.
What to demonstrate
- Initial conversation with an HR representative or technical director focusing on background, project experience, and basic technical concepts
- Depth in Java
How to prepare
- Answer aloud and timed: Explain the difference between a List, Set, and Map in the Java Collections Framework, and when you would use each.
- Answer aloud and timed: What are the major features introduced in Java 8, and how do Streams improve code readability and performance?
Technical Rounds
One or two detailed technical interviews involving live coding, database design, and problem-solving, conducted virtually or in-person.
What to demonstrate
- One or two detailed technical interviews involving live coding, database design, and problem-solving, conducted virtually or in-person
- Depth in Java
How to prepare
- Answer aloud and timed: How do you configure custom exceptions and handle transactions in a Spring Boot application?
- Answer aloud and timed: Describe the purpose of common Spring Boot annotations such as
@RestController,@Autowired, and@Transactional.
Managerial Round
Final interview with a managerial or AVP level to assess architectural thinking, project management familiarity, and cultural fit.
What to demonstrate
- Final interview with a managerial or AVP level to assess architectural thinking, project management familiarity, and cultural fit
- Depth in Java
How to prepare
- Answer aloud and timed: How does Hibernate manage entity life cycles, and how do you resolve the N+1 select problem?
- Answer aloud and timed: How do you set character encoding in JavaScript, and why is it important for cross-browser compatibility?
Where candidates lose points
Clarify Compensation Early
Ensure you have an open, transparent conversation about salary expectations during your very first HR call. Clearly define your compensation boundaries to prevent any misalignment or budget discrepancies later in the process.
Brush Up on Database Basics
Do not overlook database fundamentals. Be ready to write raw SQL queries, explain different types of joins, and discuss database objects like indexes, triggers, and stored procedures on a whiteboard or shared screen.
Issuing one query per row of a result set
Fetch related rows in a single batched query keyed by the ids you already hold, or join them into the original query. A per-row round trip multiplies network latency by the row count, and it looks perfectly fine against the ten rows in your development database.
Questions & practice
What is the difference between synchronous and asynchronous request handling using AJAX?
Medium · Front-End & Web Technologies
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- Distinguish a value from a reference to it, and say which one you handed out.
Follow-up
- What happens if two callers reach this at the same time?
- Where could this allocate more than you expect?
Explain the concept of garbage collection in.NET and how managed resources are handled.
Medium · .NET & Microsoft Stack
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- Distinguish a value from a reference to it, and say which one you handed out.
Follow-up
- What happens if two callers reach this at the same time?
- Where could this allocate more than you expect?
How do you implement asynchronous programming patterns in C# using async and await?
Medium · .NET & Microsoft Stack
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- Distinguish a value from a reference to it, and say which one you handed out.
Follow-up
- What happens if two callers reach this at the same time?
- Where could this allocate more than you expect?
Explain the difference between INNER JOIN, LEFT JOIN, and RIGHT JOIN with concrete examples.
Medium · Databases & SQL
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- Handle the rows that do not match: that is usually the actual question.
Follow-up
- How does the query change if that join becomes one-to-many?
- What happens to this when the table is ten times larger?
What are Stored Procedures and Triggers in SQL Server, and what are the pros and cons of using them?
Medium · Databases & SQL
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- Handle the rows that do not match: that is usually the actual question.
Follow-up
- How does the query change if that join becomes one-to-many?
- What happens to this when the table is ten times larger?
How do you optimize a slow-running SQL query, and what role do indexes play in database performance?
Medium · Databases & SQL
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- Handle the rows that do not match: that is usually the actual question.
Follow-up
- How does the query change if that join becomes one-to-many?
- What happens to this when the table is ten times larger?
Explain the difference between a List, Set, and Map in the Java Collections Framework, and when you would use
Medium · Core Java & Spring Boot
Explain the difference between a List, Set, and Map in the Java Collections Framework, and when you would use each.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
What are the major features introduced in Java 8, and how do Streams improve code readability and performance?
Medium · Core Java & Spring Boot
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
How do you configure custom exceptions and handle transactions in a Spring Boot application?
Medium · Core Java & Spring Boot
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Describe the purpose of common Spring Boot annotations such as @RestController, @Autowired, and `@Transact
Medium · Core Java & Spring Boot
Describe the purpose of common Spring Boot annotations such as @RestController, @Autowired, and @Transactional.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
How does Hibernate manage entity life cycles, and how do you resolve the N+1 select problem?
Medium · Core Java & Spring Boot
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
How do you set character encoding in JavaScript, and why is it important for cross-browser compatibility?
Medium · Front-End & Web Technologies
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
How do you optimize frontend assets to improve page load times and overall performance?
Medium · Front-End & Web Technologies
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
What is the difference between abstract classes and interfaces in C#, and when would you choose one over the o
Medium · .NET & Microsoft Stack
What is the difference between abstract classes and interfaces in C#, and when would you choose one over the other?
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Explain the box model in CSS and how you would troubleshoot layout rendering issues.
Medium · Front-End & Web Technologies
Approach
- Establish what changed and when, before forming any theory.
- Pick a bisection that eliminates candidates whichever way it turns out.
- Check the instrumentation before believing the symptom.
- Separate the trigger from the cause; the deploy is rarely the bug.
Follow-up
- What would you look at first, and what would it rule out?
- How would you tell a cause from a coincidence here?
Suggested practice checklist
Built from the rounds and topics Icreon candidates report.
Day 1 — Map the Icreon loop
- Write out the reported sequence: Telephonic Screening, Technical Rounds, Managerial Round.
- For each round, write one sentence on what it is judging, from the description above, and mark the one you are least ready for.
Deliverable: A one-page map of the 3 reported rounds, with the weakest marked.
Day 2 — Work Java
- Spend the session on Java, which Icreon candidates report being tested on.
- Write one worked example in Java and time yourself on it.
Deliverable: One timed worked example in Java.
Day 3 — Work Object-Oriented Programming (OOP)
- Spend the session on Object-Oriented Programming (OOP), which Icreon candidates report being tested on.
- Write one worked example in Object-Oriented Programming (OOP) and time yourself on it.
Deliverable: One timed worked example in Object-Oriented Programming (OOP).
Day 4 — Work SQL
- Spend the session on SQL, which Icreon candidates report being tested on.
- Write one worked example in SQL and time yourself on it.
Deliverable: One timed worked example in SQL.
Day 5 — Answer out loud: Core Java & Spring Boot
- Answer aloud, timed: Explain the difference between a List, Set, and Map in the Java Collections Framework, and when you would use each.
- Answer aloud, timed: What are the major features introduced in Java 8, and how do Streams improve code readability and performance?
Deliverable: Spoken answers to 2 reported Core Java & Spring Boot question(s), under time.
Day 6 — Answer out loud: Front-End & Web Technologies
- Answer aloud, timed: How do you set character encoding in JavaScript, and why is it important for cross-browser compatibility?
- Answer aloud, timed: Explain the box model in CSS and how you would troubleshoot layout rendering issues.
Deliverable: Spoken answers to 2 reported Front-End & Web Technologies question(s), under time.
Day 7 — Answer out loud: .NET & Microsoft Stack
- Answer aloud, timed: What is the difference between abstract classes and interfaces in C#, and when would you choose one over the other?
- Answer aloud, timed: Explain the concept of garbage collection in.NET and how managed resources are handled.
Deliverable: Spoken answers to 2 reported .NET & Microsoft Stack question(s), under time.
Behavioural preparation
Behavioural rounds judge the decision you made and what it cost.
Argue against a design, lose, and commit anyway
Medium · disagreement · service boundaries · decision records
Describe a design you argued against and lost. State the failure you predicted as a named mechanism, not a feeling about complexity: two services that would need one transaction, a projection with no rebuild path, a write path with no idempotency key. Say what evidence you brought, what the decision maker weighed instead, and what you did after the decision was made: what you instrumented, what you wrote down, and whether the prediction came true. Five minutes.
Approach
- State the prediction in falsifiable form up front: the mechanism, the condition that triggers it, and the observable outcome. A prediction that cannot be checked also cannot be credited to you later.
- Show the evidence you had at the time and label each piece honestly as measured, analogous, or intuition. Keeping the intuition is fine; disguising it as data is the thing that erodes your standing in the next argument.
- Represent the opposing case at full strength, including the constraint you did not control: a fixed date, a team boundary, or the fact that the decision was cheap to reverse and yours was not.
- Make disagree-and-commit concrete. Name the artefact you left behind so the prediction could be settled without you: the alert and its threshold, the counter on the dashboard, the decision note that recorded the trade-off and the condition that would revisit it.
Follow-up
- What threshold on that alert would have proved you right, and did anyone ever look at it?
- If the same proposal arrived tomorrow with the same deadline, would you argue it the same way?
Reverse your own decision and price the reversal
Medium · reversibility · measurement · migrations
Describe a technical decision you made and later reversed. Pick one that cost something: a service you split and merged back, a cache you added and removed, an index you created that pushed the planner onto a worse plan, a projection you rebuilt from scratch. State what you believed when you decided, the measurement that changed your mind, how long the wrong version ran in production, and what the reversal cost in migrations, dual writes, and a deprecation window for callers you did not own.
Approach
- State the original rationale without irony, in the version you would still defend given what was known then. If it is not defensible, the story is about carelessness rather than judgement, and a different example serves you better.
- Give the measurement that moved with a before and after: the p99 that did not improve, the cache hit rate that sat at 40%, the plan that flipped to a sequential scan once the table passed a size you can name.
- Cost the reversal in steps, not adjectives: expand-and-contract deploys, the dual-write window, the callers who had to be notified, the rows already written in the wrong shape that had to be backfilled or abandoned.
- Distinguish reversal from rewrite by naming what you kept. Most good reversals preserve the schema or the interface and undo one decision inside it, which is also why they were affordable.
Follow-up
- What in that decision was irreversible, and did you know it was irreversible when you made it?
- How did you tell the people who had already built on top of the original decision?
Narrate an outage you owned from page to postmortem
Hard · incident response · blast radius · postmortems
Pick an incident you personally drove, ideally one where writes were affected rather than reads. In six to eight minutes: state the symptom as it first appeared on a dashboard, the blast radius you established before you knew the cause, the mitigation you applied and when, the mechanism you eventually proved, and the follow-up that would prevent a repeat. Bring numbers: error rate, tenants affected, minutes to mitigate, minutes to resolve. If you cannot name what you measured, choose a different incident.
Approach
- Open on the signal rather than the cause: which metric at which percentile moved, on which service, at what time, so the listener follows the same evidence you had rather than a conclusion you already reached.
- Separate mitigation from diagnosis out loud. State what you did to stop the bleeding (flag off, shed traffic, drain a lease, roll back a deploy) and say plainly that you did it before the mechanism was known, because those are two jobs with different deadlines.
- Establish blast radius in countable terms: how many tenants, how many writes, and crucially whether the effect was loss or only delay. An append-only revision table or a pending outbox row means the change survived and the projection was merely behind, which is a repair rather than a data-loss incident.
- Prove the mechanism instead of asserting it. Name the trace span that grew, the plan that flipped to a sequential scan, the lease that expired, plus one alternative you ruled out and the signal that stayed flat while you ruled it out.
Follow-up
- What would you do differently in the first five minutes, given the same dashboard and no more information?
- Which follow-up action did you deliberately not take, and why was dropping it the right call?