Log In

Don't have an account? Sign up now

Lost Password?

Sign Up

Prev Next

Sutherland Technical Recruitment Process

Overview of Sutherland Hiring / Interview Flow

Based on recent interviewee reports, Sutherland’s hiring process typically involves these stages:

  • Communication / English-Fluency / Speaking Round — assessing spoken English, clarity, and communication skills.
  • Online Assessment or Written Test — for some technical-support or backend-support roles: may include basic technical or reasoning questions.
  • Technical Interview / Support-Round — candidates for technical-support or IT support roles are asked about troubleshooting, networking/OS/basic tech support scenarios, or customer-handling with technical bent.
  • HR / Manager Round — general HR / behavioral questions: strengths/weaknesses, ability to work in shifts, flexibility, customer-service orientation, and willingness for rotational shifts.

In some cases (for voice- or non-voice support roles) there may also be a written or grammar/essay test, or a short “speak for 1 minute / JAM” round to test spontaneous communication.

What Interviewers Typically Look For

  • Fluent English & Clear Communication — especially if it’s a voice-support or international-client handling role. Reportedly, many rejections happen due to poor fluency rather than technical inability.
  • Basic Technical / Troubleshooting Knowledge — for technical support roles: OS, networking, basic software troubleshooting, customer-issue handling. Training is often provided if basic aptitude is good.
  • Adaptability & Soft Skills — ability to handle stress, shift work (rotational / night shifts), customer-service attitude, clear speaking, and problem-solving under pressure.
  • Willingness for Shift Work & Flexibility — candidates are often asked if they can work night shifts, rotational shifts, or on weekends.

What to Keep in Mind

  • Many roles at Sutherland (especially BPO / technical-support) emphasize communication and soft-skills more than hardcore programming. So even if you have strong CS knowledge, fluency in spoken English + clarity in communication + attitude matters a lot.
  • For tech / “support-engineer” roles, expect basic technical questions + customer-handling / scenario-based questions rather than deep system-design or algorithm questions — the workload is often support / maintenance-oriented.

50 Most Asked Technical Interview Questions

  1. Design a thread-safe singleton in your favorite language & explain why it’s safe.
    • Tests concurrency control, memory visibility, correct use of synchronization or volatile — crucial for multithreaded services.
  2. Given two sorted arrays, find the median of the combined array in O(log(min(n, m))).
    • Classic divide-and-conquer problem; evaluates careful indexing, edge cases, and efficiency.
  3. Implement an LRU (Least Recently Used) cache with O(1) get and put operations.
    • Tests knowledge of hash maps + doubly-linked lists, eviction policy, and real-world resource-management thinking.
  4. Design a rate limiter for a REST/API service that supports distributed deployment (multiple servers).
    • Checks understanding of distributed state, token-bucket/leaky-bucket algorithms, concurrency and consistency across nodes.
  5. Explain differences between SQL and NoSQL databases and scenarios where you’d choose one over the other.
    • Tests database design knowledge, trade-offs between consistency, schema flexibility, scaling, and performance.
  6. Given a large log file (>10GB), write a program to find top 10 most frequent IP addresses (or users).
    • Evaluates streaming data handling, memory constraints, efficient hashing/aggregation, possibly external sorting or chunk-wise processing.
  7. Design a scalable real-time notification system for millions of users (mobile or web).
    • Tests system-design skills: message queue vs pub/sub, back-pressure, latency vs throughput trade-offs, delivery guarantees.
  8. Implement cycle detection in a directed graph and return one cycle (if exists).
    • Evaluates DFS / recursion / stack usage, graph theory, complexity, and correct handling of edge-cases.
  9. Compare and contrast processes vs threads. When would you use each and why?
    • Tests OS knowledge, resource isolation, context-switch costs, multi-processing vs multi-threading trade-offs.
  10. Explain CAP theorem. If you design a distributed database for global users, which two properties you’d prioritize and why?
    • Tests distributed systems knowledge, consistency vs availability trade-offs, partition-tolerance acceptance.
  11. Write a scheduler system that supports recurring jobs, delays, retries, and persistence (survives restarts).
    • Tests system-design thinking, persistence, job queueing, fault tolerance, and scheduling complexity.
  12. How would you design a cache for a high-read, low-write website? Discuss eviction, cache-invalidations, stale-data strategy.
    • Evaluates caching strategies (cache-aside, write-through, write-back), invalidation approaches, TTL vs versioning.
  13. Implement a generic observer / pub-sub pattern in your language — when does this pattern help?
    • Tests design-pattern knowledge, decoupling, event-driven design — useful for scalable, modular systems.
  14. Design URL-shortening service (like bit.ly): data model, collisions, scaling, redirect load handling.
    • Tests data modeling, hashing, collision resolution, storage choice, scalability, and API design.
  15. Explain how HTTPS / TLS works: handshake, certificate validation, encryption — what happens on mismatch.
    • Tests network / security knowledge — important if handling sensitive data or secure services.
  16. Implement a sliding-window rate-counter (e.g. limit 100 requests per hour per user) efficiently.
    • Tests time-based data structures, sliding-window algorithm, memory and concurrency considerations.
  17. Given a binary tree, find the maximum width (max nodes at any level).
    • Tests tree traversal, level-order traversal, handling nulls, correct width calculation.
  18. Explain horizontal vs vertical scaling. Which one would you choose and when?
    • Tests scalability thinking, cost vs performance trade-offs, resource allocation, cloud / infrastructure design.
  19. Implement a function to serialize & deserialize an arbitrary object tree/graph (with cycles) to JSON safely.
    • Tests data-structure traversal, cycle detection, serialization pitfalls (like infinite recursion), memory handling.
  20. Design a micro-service architecture for an e-commerce checkout system: discuss data consistency, inventory, concurrency, payment gateway integration.
    • Tests system design, data modeling, service boundaries, fault handling, transaction management across services.
  21. Explain dependency injection: what problem does it solve? Show via example.
    • Tests code design for modularity, testability, decoupling — relevant in large codebases and team environments.
  22. Implement a job queue processing system: support concurrency, retries, failure handling, ordering.
    • Tests queueing concepts, concurrency, error-handling, idempotency, job management.
  23. Given a stream of data (unknown size), maintain the k-th smallest element at all times.
    • Tests use of heaps (min-/max-heap), streaming data structures, time & memory efficiency for large data.
  24. Explain SOLID principles and refactor a class violating them (show code).
    • Tests software design skills, clean code practices, maintainability, and design discipline.
  25. Optimize a slow SQL query — how do you approach it (indexes, query plan, data distribution, caching)?
    • Tests database tuning, indexing, query optimization, cost analysis — vital in data-intensive backend work.
  26. What is eventual consistency vs strong consistency vs causal consistency? Explain with use-cases.
    • Tests advanced distributed systems knowledge — important for globally distributed databases/services.
  27. Design a monitoring & alerting system for a distributed application (metrics, logs, alerts, dashboards).
    • Tests operations/DevOps-oriented thinking — reliability, observability, fault detection, and recovery strategies.
  28. Implement a lock-free stack or queue using atomic operations.
    • Tests deep concurrency understanding, atomic primitives, thread-safe lock-free data structures — good for high-performance systems.
  29. Compare REST vs GraphQL APIs: advantages/disadvantages, when to choose one over the other.
    • Tests API design knowledge, trade-offs for data fetching, flexibility, over-fetch/ under-fetch issues.
  30. Design a distributed caching system for frequently read data: invalidation, replication, consistency.
    • Tests caching + distributed architecture + data replication + cache-consistency strategies — important for scalable systems.
  31. Implement a function to merge k sorted lists efficiently (e.g. via min-heap).
    • Tests data-structure merging, heap usage, complexity analysis; common in backend data merging tasks.
  32. Explain how garbage collection works in Java / managed languages: generational GC, pauses, memory leaks via references.
    • Tests runtime / memory-management knowledge — helps optimize large-scale Java backend applications.
  33. Design a versioned API system ensuring backward compatibility — how to evolve APIs without breaking clients?
    • Tests API lifecycle management, versioning strategies, backward compatibility, deprecation policies — crucial for long-lived services.
  34. Write code to find the k-th smallest/largest element in a large unsorted array efficiently (without sorting completely).
    • Tests QuickSelect algorithm, average-case analysis, pivot strategy, performance vs naive sorting.
  35. Explain synchronous vs asynchronous programming; convert a synchronous function to asynchronous; benefits & pitfalls.
    • Tests concurrency models, async patterns, callbacks/promises/async-await, thread-management — useful for modern backend / frontend.
  36. Design a system for real-time analytics on streaming data (ingestion, processing, storage, scalability).
    • Tests stream-processing knowledge, data pipelines, batch vs stream trade-offs, fault tolerance, scalability.
  37. Implement a least-frequently used (LFU) cache and explain when it’s better than LRU.
    • Tests advanced caching strategies, frequency count maintenance, eviction logic — useful for specialized caching needs.
  38. Given relational data, design a schema vs a NoSQL schema for a social-network feed; discuss pros/cons and queries.
    • Tests data modeling, normalization vs denormalization, read/write trade-offs, query patterns — helpful for social/data app design.
  39. Explain how you’d secure a web application: discuss SQL injection, XSS, CSRF, encryption, input validation.
    • Tests security awareness, input/output sanitization, secure coding practices — critical for production apps.
  40. Design a distributed file storage system: considerations for scalability, redundancy, consistency, partition tolerance.
    • Tests large-scale system design: data distribution, replication, fault-tolerance, scalability, chunking, metadata management.
  41. Implement binary search on a rotated sorted array (unknown pivot).
    • Tests modified binary search logic, edge cases, correctness under constraints — common in coding rounds.
  42. Explain what back-pressure is in streaming systems and how to handle it.
    • Tests deep understanding of streaming architectures, flow control, buffering, reliability under load.
  43. Given a time-series dataset, how would you design a storage and query system for efficient range queries and aggregations?
    • Tests data modeling for time-series, indexing strategies, trade-offs for storage vs query speed — useful for analytics platforms.
  44. Write code for detecting if two binary trees are isomorphic.
    • Tests tree traversal, recursion, structural matching — shows comfort with tree-data structures.
  45. Implement a distributed lock (using Redis or Zookeeper) — outline pros/cons.
    • Tests distributed coordination, concurrency control across services, fault-tolerance — essential for distributed systems design.
  46. Explain difference between monolithic and micro-services architecture; pros/cons; when to choose one.
    • Tests architecture design understanding, deployment trade-offs, scaling, coupling vs cohesion — useful for backend design interviews (some Morningstar interviews ask this).
  47. Given a REST API returning nested JSON, design a robust data model and show how you’d version and evolve the API safely.
    • Tests API design, version control, backward compatibility, data modeling, and maintainability.
  48. Write code to check if two strings are anagrams (including Unicode / special-character support).
    • Tests string processing, Unicode awareness, sorting vs counting logic — useful for text-processing tasks.
  49. Explain eventual-consistency challenges (like stale reads) and how you’d mitigate them in a distributed cache + DB system.
    • Tests consistency models, caching strategies, invalidation logic, read-after-write correctness — important for distributed data services.
  50. Design a generic publish-subscribe messaging system, support fan-out, durability, message ordering guarantees — what trade-offs exist?
    • Tests architectural thinking: message brokers, queues vs topics, persistence, ordering, delivery guarantees, scalability under high load.

Leave a Comment