Sanjaay Gowda T S
All company profiles

COMPANY CONTEXT / 28 IN THE STUDY LIST

Industrial and Commercial Bank of China Limited

FinancialsChinaSoftware engineeringSQL & data engineering

ICBC provides banking and financial services to personal and business customers.

Original company-context practice, not verified company interview questions. Use the business setting to explain technical choices clearly.

01 / PRACTICE IN CONTEXT

Two problems to reason through.

Clarify assumptions before reading the model answer. Discuss what would change with different constraints.

Original company-context practiceHard

Software engineering

Prevent duplicate branch appointments after a reschedule

Industrial and Commercial Bank of China Limited · Concept

Original practice scenario: A hypothetical banking app lets customers reschedule a branch appointment while staff edit available capacity. Design consistent booking changes under retries.

Read model answer

Treat a reschedule as moving one identified booking between capacity-constrained slots. Cancelling first and creating later can leave the customer without a booking when the new slot fills.

Work through it

  1. Give slots and bookings stable identities and versions, checking eligibility and capacity on the authoritative service rather than relying on a displayed availability cache.
  2. Reserve the new slot and release the old slot within one transaction where possible, or use a recoverable hold workflow with a clear expiration and final outcome.
  3. Bind retries to the intended booking change, returning the stored result and exposing concurrent staff changes as conflicts requiring a fresh choice.

Tradeoffs to discuss

  • Temporary holds improve user experience but reduce visible capacity until expiration; immediate transactions are simpler when both slots share one authority.

Common pitfalls

  • A repeated request must not create several appointments under different booking identifiers.
  • Validate time zones, holidays and daylight-saving boundaries instead of storing only a local clock label.
Open full question
Original company-context practiceHard

SQL & data engineering

Join transactions to the status valid when they occurred

Industrial and Commercial Bank of China Limited · Concept

Original practice scenario: A hypothetical banking report groups transactions by account status, but status history includes closures and reopenings. How should a historical query avoid using today's status?

Read model answer

Join each transaction to an effective-dated status interval. Current account state is a useful operational view but is not a replacement for historical status at the event time.

Work through it

  1. Define whether status takes effect at event time or posting time, then store non-overlapping intervals with account identity and an explicit boundary convention.
  2. Join using the declared timestamp and interval, validating that each transaction has exactly one applicable status or a visible unknown-status exception.
  3. Handle backdated corrections through versioned snapshots and compare transaction counts and amounts before and after enrichment to detect multiplication or omission.

Tradeoffs to discuss

  • Maintaining interval history adds storage and correction logic but supports reproducible reporting; a current-state table is cheaper for present-tense questions.

Common pitfalls

  • Avoid inclusive boundaries at both ends when adjoining intervals share a timestamp.
  • Do not use arbitrary row ordering to resolve overlapping statuses; surface the conflicting source history.
Open full question

02 / STRENGTHEN THE FOUNDATIONS

Related technical practice.

Browse company questions

03 / TEST AN APPROACH

Suggested coding exercises.

Exercises selected for these technical tracks. They are independent practice with visible tests and public solutions.

Study list: PwC Global Top 100 companies by market capitalisation, 2026 · 31 March 2026.

Keep learning beyond the interview.

Explore the Learning Hub