CoinSwitch · Software Engineer
Updated · 2026-10-02

CoinSwitch Software Engineer
Interview Guide

THE 60-SECOND BRIEF

CoinSwitch runs a crypto-asset platform for users in India. Candidates describe the Software Engineer role as backend-heavy engineering around that platform, with work such as low-latency trading engines, microservices, transaction ledgers and real-time market data. The responsibilities candidates see cover delivering features from design discussions through to production, turning product requirements into technical specifications, writing testable code, reviewing code, mentoring junior engineers and flagging technical debt. The requirements list one modern language (Java, Go, Python or JavaScript are the examples), solid data structures and algorithms, and experience with relational databases. Fintech or crypto experience, React for full-stack roles, and AWS or GCP are listed as extras.

This guide is for engineers preparing for the CoinSwitch Software Engineer loop, from the first assessment through the culture stage. It covers the four reported rounds, how to answer the behavioral and test-design questions candidates report (a difficult colleague, a motivation answer, a major challenge, handling pushback on your approach, and testing a graph problem), and how to build a seven-day plan that also covers the reported coding and system design questions. It describes what candidates report, not a published process.

Candidates report four rounds spread over roughly 3-5 weeks: Online Assessment, Screening Call, Technical Evaluation and Cultural Alignment. The number of rounds is reported to vary with seniority and team.

Data Structures & Algorithms (DSA)Problem SolvingSystem Design

35 min read

Browse Software Engineer questions

See the practice prompts

17Practice promptsAcross five skill areas

The reported question list is dominated by two technical families and one behavioral family. The coding family is dynamic programming (Coin Change 2 and a classic knapsack), search over an array of strings, a tree traversal problem, and a graph problem about degree connections. The design family mixes two whole-system questions (a URL shortener and the database design for a locker management system) with three concept questions on NoSQL versus PostgreSQL, high availability with load balancing, and private versus public IPs. The behavioral family covers a difficult colleague, motivation for joining, the biggest past challenge, and handling feedback on your technical approach.

The stack signals are modest and specific. The requirements name a single modern language of your choice (Java, Go, Python or JavaScript), strong data structures and algorithms, and relational database experience. Candidates also report core computer science fundamentals (operating systems, computer architecture, database management) as expected background, and cloud familiarity (AWS or GCP) as a plus. That makes the private versus public IP question and the NoSQL versus PostgreSQL question answerable from concrete cloud and database knowledge rather than slogans. The role description also mentions ledgers and trading, so when you discuss consistency, anchor your examples in money-like data: idempotent writes, double-entry records and what must never be lost or duplicated.

Candidates describe the process as intense and some report inconsistent communication from the hiring side, so prepare for the pressure as well as the content. Practise explaining your reasoning out loud while you write code, state assumptions before you design, and justify each technology choice with an access pattern or failure mode. Some candidates report being asked to run code in a local IDE or an online compiler, so rehearse in that setting rather than in a bare text box. One verified candidate review also describes heavy work pressure, which is worth raising when you ask the team about workload.

01

Online Assessment

reported

The Online Assessment is reported as an initial test of technical skills and problem solving. Candidates also say the process can open with either this assessment or the screening call, so the order may differ. The reported coding topics are dynamic programming (memoization and tabulation), graph theory (connectivity, shortest paths, search), and Big O analysis of time and space. Treat it as working code under pressure: pick one of the languages the role lists, write from a blank editor, and finish each solution with a stated time and space complexity.

What to demonstrate

  • Technical skills and problem solving, as the stage is described
  • Correct, runnable code in a language you choose
  • Complexity analysis stated for both time and space

How to prepare

  • Solve Coin Change 2 and the classic knapsack from scratch in both memoized and table form, and say why the Coin Change 2 loop order counts combinations rather than orderings.
  • Practise graph search (BFS and DFS) in your language with an explicit visited set, and write your own test inputs for it, including the degree-connections case.
  • Code in a plain editor or an online compiler without autocomplete, and run your tests yourself before you call a solution done.
CoinSwitch Software Engineer candidate reports ↗
02

Screening Call

reported

The Screening Call is reported as a conversation about your background and fit for the role. It is a good moment to learn how the rest of the loop is organised: candidates report that the round count varies with seniority and team, and some report inconsistent communication, so ask the recruiter what follows and when. Your main job is a concise, credible account of your work, since every technology on your CV can become a follow-up.

What to demonstrate

  • Background and fit for the role as you describe it
  • How clearly you summarise your own projects and your part in them
  • Whether your stated experience matches the language and database requirements the role lists

How to prepare

  • Write a two-minute walk through your CV and rehearse it aloud, naming the language, database and cloud tools you actually used.
  • For each technology on your resume, prepare one sentence on how it works internally, not only how you called it.
  • Prepare a specific answer to why this company, based on the platform's reported work (trading, ledgers, market data), plus questions about the team's technical challenges.
  • Ask which stages remain and keep the recruiter's answers in writing, because candidates report uneven communication.
CoinSwitch Software Engineer candidate reports ↗
03

Technical Evaluation

reported

The Technical Evaluation is reported as multiple rounds covering coding, system design and wider technical skills. Candidates describe two reported evaluation areas. The first is data structures and algorithms (dynamic programming, graphs, complexity), with reported example prompts such as optimizing a tree traversal for memory efficiency and explaining the performance cost of a data structure choice under a specific constraint. The second is system design: SQL versus NoSQL, sharding, replication and load balancing, and RESTful or gRPC API design, with prompts such as how the system handles a sudden spike in traffic and what changes if consistency requirements get stricter. Candidates also mention core CS fundamentals (OS, computer architecture, databases) and being asked to run code locally.

What to demonstrate

  • Clean, optimised, bug-free code, with more than one approach and the trade-offs between them
  • Defending database, caching and communication-protocol choices in a design
  • Core computer science fundamentals behind those choices

How to prepare

  • For each coding problem, give a brute-force approach, the optimised one, and the complexity difference, then run your own tests.
  • Design the URL shortener end to end: ID generation, storage, read-heavy caching, redirect behaviour and what happens during a traffic spike.
  • Prepare the locker management database schema with a constraint that stops two active bookings on the same locker, and be able to say why you chose PostgreSQL or a NoSQL store.
  • Rehearse the stricter-consistency follow-up: name what you would change (transactions, synchronous replication, fewer caches) and what it costs in latency and availability.
CoinSwitch Software Engineer candidate reports ↗
04

Cultural Alignment

reported

Cultural Alignment is reported as an assessment of fit with the company's culture and values. Candidates are advised to discuss their past projects with real engagement and to show they can learn and handle ambiguity. The reported behavioral questions are about a difficult colleague, what attracts you to CoinSwitch's vision and mission, your biggest challenge in a previous role, and how you take feedback when your technical approach is questioned. Prepare stories with decisions, trade-offs and results, not summaries of what the team did.

What to demonstrate

  • Fit with the company's culture and values, as the stage is described
  • Communication style and the way you describe past experience
  • How you respond to disagreement about technical choices

How to prepare

  • Write four stories in situation, action, result form: a difficult colleague, your largest challenge, a time your approach was challenged, and a decision made under ambiguity.
  • Prepare a mission answer built from facts you checked yourself, such as the product's visible features and the engineering problems the role describes.
  • For every story, prepare the numbers or observable outcome and one thing you would change.
  • Prepare two questions for the team: its current technical challenges, and how it balances delivery speed against code quality.
CoinSwitch Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Writing the dynamic programming code before defining the state, then getting Coin Change 2 or the knapsack subtly wrong (the wrong loop order counts orderings, or a 0/1 knapsack reuses an item).

Define the state in words first, such as dp[a] = number of combinations that make amount a, and fix the loop order deliberately: coins in the outer loop for combinations, capacity iterated downward in a one-dimensional 0/1 knapsack. Then state O(n·amount) time and the space you used.

02

Answering the string-array search and tree traversal questions with the first approach that works, with no alternative and no complexity.

For the array of strings, ask whether queries are one-off or repeated, then compare a linear scan, sorting with binary search, a hash set and a trie for prefix queries. For the tree, give recursive, iterative-stack and constant-extra-space approaches and say what each costs.

03

Starting the URL shortener or locker database without scoping, then listing components with no reason for each (a cache, a NoSQL store or a queue added by habit).

State read and write volumes and failure expectations first, design the read path and write path separately, and justify each store by its access pattern. For the locker schema, show the constraint that prevents double booking, not just the tables.

04

Giving slogan answers to the concept questions: NoSQL because it scales, high availability because of replicas, public versus private IP without a network picture.

Tie each answer to a concrete failure or access pattern. For private versus public IPs, draw a public-facing load balancer, services and databases on private addresses, and outbound traffic through a gateway. For availability, say what fails over, what detects it and what data can be stale.

05

Going quiet when stuck, or only practising in an environment that differs from a local IDE or online compiler, since candidates report being asked to run code.

Narrate assumptions and ask clarifying questions when you hit a wall. Practise by writing, running and debugging real code in a plain IDE and an online compiler, and write your own test cases before calling a solution finished.

Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.

12 technical prompts0 include a worked solution

How would you implement a solution for the Coin Change 2 problem using dynamic programming?

medium
Data Structures and Algorithms

How would you implement a solution for the Coin Change 2 problem using dynamic programming?

Approach
  1. Define dp[a] as the number of coin combinations that sum to a, with dp[0] = 1 because there is exactly one way to make zero: choose no coins.
  2. Loop coins in the outer loop and amounts from coin up to the target in the inner loop: dp[a] += dp[a - coin]. Keeping coins outside counts each multiset once; swapping the loops counts ordered sequences instead, which is a different problem.
  3. Complexity is O(n * amount) time and O(amount) space with the 1-D array; the 2-D table dp[i][a] gives the same time with O(n * amount) space and is easier to explain first.
  4. Edge cases: amount 0 returns 1 even with no coins, a coin larger than the amount contributes nothing, and counts can grow fast, so use a 64-bit type or take a modulus if the problem asks for one.
Follow-up
  • How would you return the minimum number of coins instead of the number of combinations?
  • What changes if order matters, so 1+2 and 2+1 count as different ways?
  • Can you write the top-down memoised version and compare its recursion depth with the bottom-up table?

Given an array of strings, can you optimize the search time complexity?

medium
Data Structures and Algorithms

Given an array of strings, can you optimize the search time complexity?

Approach
  1. Clarify the query first: exact match, prefix match, or substring; one search or many; and whether the array is static or receives inserts.
  2. Baseline is a linear scan at O(n * L) per query, where L is string length. For repeated exact lookups, build a hash set once in O(total characters) and answer each query in expected O(L).
  3. For prefix queries, a trie answers in O(L) plus the size of the output; alternatively sort once in O(n log n) string comparisons and binary search for the lower bound of the prefix, giving O(L log n) per query with far less memory than a trie.
  4. Name the trade-off out loud: a hash set cannot do prefix or range queries, a trie costs a node per character, and a sorted array is cheap to store but O(n) per insert.
  5. Edge cases: duplicates, empty strings, case and Unicode normalisation, and very long strings that make hashing itself the dominant cost.
Follow-up
  • How would you support wildcard or one-typo fuzzy search?
  • What would you do if the strings no longer fit in memory?
  • How does the choice change if the array is updated as often as it is searched?

Explain your approach to solving a tree-based traversal problem.

medium
Data Structures and Algorithms

Explain your approach to solving a tree-based traversal problem.

Approach
  1. Say which traversal the problem needs and why: preorder to copy or serialise, inorder to read a BST in sorted order, postorder when a node needs results from its children (heights, subtree sums), level order (BFS with a queue) for anything per depth.
  2. Recursive DFS is O(n) time and O(h) stack space; on a skewed tree h equals n, which can overflow the call stack (Python's default recursion limit is 1000), so be ready to convert to an explicit stack.
  3. BFS uses O(w) space, where w is the widest level; process one level at a time by reading the queue length before the inner loop.
  4. If asked to cut memory, describe Morris traversal: it threads each node's inorder predecessor back to it, gives O(1) extra space and O(n) time, and restores the tree before returning.
  5. Test on an empty root, a single node, a fully left-skewed tree and a complete tree before calling it done.
Follow-up
  • Can you write iterative postorder with one stack?
  • How would you return a zigzag level order?
  • When would Morris traversal be unsafe, for example with concurrent readers of the tree?

Can you solve a classic knapsack problem and explain the time/space complexity?

medium
Data Structures and Algorithms

Can you solve a classic knapsack problem and explain the time/space complexity?

Approach
  1. State the 0/1 recurrence: dp[i][w] = max(dp[i-1][w], dp[i-1][w - weight_i] + value_i) when weight_i <= w, with dp[0][w] = 0.
  2. Time and space are O(n * W). Reduce space to O(W) with a 1-D array by iterating w downward from W to weight_i, so each item is used at most once; iterating upward turns it into the unbounded knapsack.
  3. Explain that O(n * W) is pseudo-polynomial: it is polynomial in the value of W, not in its bit length, which is why 0/1 knapsack stays NP-hard.
  4. Separate the variants: fractional knapsack is solved greedily by value-to-weight ratio in O(n log n); greedy fails for 0/1.
  5. To list the chosen items, keep the 2-D table (or a choice bitmap) and walk back from dp[n][W]; the 1-D array alone cannot recover them.
Follow-up
  • If W is huge but total value is small, how would you change the DP?
  • How would you reconstruct the selected items with O(W) memory?
  • What if n is around 40 and W is very large?

Each day targets one family of reported questions: the coding topics, the design and database topics, then the behavioral stories. Days 1 and 6 cover running code outside a text box and mock sessions, which candidates report some interviewers ask for.

Small steps. Visible outcomes.0 / 7 completed
ONE WEEK · YOUR PACE

Prepare, practise & reflect

One practical outcome each day. Spend longer where you need it.

0 / 7 done
01Map the loop and set up your coding environment
  • Write out the four reported rounds (Online Assessment, Screening Call, Technical Evaluation, Cultural Alignment) with one line each on what candidates report, and mark the stage you feel least ready for.
  • Choose one language from the role's list (Java, Go, Python or JavaScript) and set up a plain IDE plus an online compiler where you can write, run and debug code.
  • Write a two-minute CV walk-through and list one internal-workings fact for each technology on your resume.

Deliverable: A one-page loop map with your weakest stage marked, a working local setup that runs a hello-world with a test, and a rehearsed CV walk-through.

02Dynamic programming: Coin Change 2 and knapsack
  • Solve Coin Change 2 as a memoized recursion, a two-dimensional table and a one-dimensional table, and write why coins go in the outer loop for combinations.
  • Solve the 0/1 knapsack with a table, then compress to one dimension by iterating capacity downward, and note what changes for the unbounded version.
  • Write time and space complexity for each version, including why the knapsack runtime is pseudo-polynomial.

Deliverable: Runnable solutions for Coin Change 2 and knapsack in your language, each with a stated complexity and a note on the loop-order mistake.

Practice prompt ↗Practice prompt ↗
03Strings, trees and graph test design
  • For the array-of-strings search question, compare linear scan, sorted array with binary search, hash set and trie, and write when each wins by query type.
  • Solve a tree traversal recursively, iteratively with a stack, and with constant extra space, noting recursion depth risk and the memory cost of each.
  • Write a test matrix for a degree-connections graph problem (empty, isolated, cycle, disconnected, shortest versus longer path, k beyond the diameter) and implement the BFS to pass it.

Deliverable: Three solutions with complexities, plus a written graph test matrix that your BFS passes on your own machine.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
04Databases: schema design and SQL versus NoSQL
  • Design the locker management database in PostgreSQL (lockers, sizes, bookings, status), including a constraint that prevents two active bookings on one locker, and write the booking query.
  • Write a comparison of NoSQL and PostgreSQL by access pattern, transactions, consistency and schema flexibility, ending with the cases where you would pick each.
  • Work through the PracHub practice questions on holding a per-tenant active cap against concurrent creates and on soft-deleted accounts blocking re-registration, to practise concurrency and uniqueness rules in a relational database.

Deliverable: A locker schema with its constraints and booking query, a one-page NoSQL versus PostgreSQL decision table, and completed practice questions on concurrency and uniqueness.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
05System design: URL shortener, availability and networking
  • Design the URL shortener end to end: state read and write volumes, choose an ID generation approach, pick a store, add a cache for redirects and describe collision and expiry handling.
  • Write how you would keep the service highly available behind a load balancer: health checks, stateless services, replication, failover, and what data can be stale.
  • Draw the network layout that answers private versus public IPs: public load balancer, services and databases on private addresses, and outbound access through a gateway.
  • Answer the reported follow-ups aloud: how the system handles a sudden traffic spike, and what you change if consistency requirements get stricter.

Deliverable: A written URL shortener design, an availability checklist, a network diagram, and recorded spoken answers to the two follow-ups.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
06Mock round: coding aloud and debugging
  • Pick one dynamic programming problem and one tree or graph problem from the earlier days and solve each aloud in your plain IDE, stating assumptions, writing tests and running them.
  • Redo one earlier solution a second way and explain the trade-off between the two versions, the way the reported prompt about a data structure's performance cost asks.
  • Work through the PracHub practice question about instances growing 400 MB per hour until the nightly restart, narrating how you would find the cause step by step.

Deliverable: Two recorded aloud solutions with passing tests, a note comparing two approaches, and a written debugging sequence for the memory-growth practice question.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
07Behavioral stories and the screening conversation
  • Write situation, action and result outlines for the difficult-colleague question and the biggest-challenge question, each with the options you weighed and a measured outcome.
  • Write the feedback story for when your technical approach is questioned, showing the evidence you used and one case where you changed your mind.
  • Write your answer about what attracts you to CoinSwitch from facts you have checked, plus two questions for the team about its technical challenges and how it balances speed with code quality.

Deliverable: Four written story outlines, a mission answer, two team questions and a rehearsed screening-call summary.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗

Expand any day for tasks and deliverables. Your progress is saved on this device.

Candidates report that the culture stage and the behavioral question group centre on how you communicate, what you have done before, and how you fit the company. For an engineering role that means stories with a technical decision, a disagreement and a measured result, and a motivation answer built from facts you checked.

How do you handle test cases for a graph-based problem involving degree connections?

medium
Data Structures and Algorithms

How do you handle test cases for a graph-based problem involving degree connections?

Approach
  1. Treat this as test design for a graph where connections are counted in degrees. Start by pinning the definition: a degree is the shortest hop count, the graph may be directed or undirected, and the function may return people at exactly k degrees or within k. Every test case follows from those choices, so state them first.
  2. Cover structural cases: an empty graph, a single node, a node with no edges, a start node that is not in the graph, self-loops, duplicate edges, a disconnected component, a cycle (to prove the visited set stops infinite loops), a star with high fan-out and a long chain for depth.
  3. Cover degree-specific cases: a node reachable by both a 1-hop and a 3-hop path must appear as a first-degree connection only, k = 0, k larger than the graph's diameter, and for a directed graph a connection that exists in one direction only. These catch BFS level-counting bugs.
  4. Check correctness with a hand-traced small graph, then an oracle: a brute-force all-pairs shortest-path run on small random graphs compared with the BFS result. Add one large input (for example a chain of 100,000 nodes) to check performance, O(V + E), and recursion depth; an iterative BFS avoids stack overflow.
  5. Say the process aloud: write the tests before or alongside the code, run them in your editor, and fix failures one at a time. A short story about an edge case you missed once and how you now find it earlier makes the answer concrete.
Follow-up
  • How would you test this if the graph did not fit in memory?
  • Which input makes your BFS slowest, and how would you test for it?
  • How would you write a property-based test for it, and what invariants would it check?

Tell me about a time you had a difficult working relationship with a colleague; how did you address it?

medium
Behavioral and Cultural

Tell me about a time you had a difficult working relationship with a colleague; how did you address it?

Approach
  1. Choose a conflict with real stakes, such as repeated blocked reviews, a missed handoff or a design dispute, where the friction affected delivery. Keep the situation to a few sentences and spend the rest on what you did.
  2. Describe your own part honestly: what you assumed about the colleague, and what you changed once you learned their constraints. A story where the other person is the sole problem usually sounds incomplete.
  3. Show a direct, private conversation about specific behaviour and its effect, with questions that asked for their view, before any escalation. Then show a concrete agreement, such as a review turnaround expectation, a written decision or a split of ownership.
  4. Close with an observable result and the current relationship: a feature shipped, review cycles shortened or the two of you now pairing. Name what you would do earlier next time. The story fails if it ends with the manager solving it or with no resolution.
Follow-up
  • What if they had not changed after that conversation?
  • What would you do differently if you ran this again?
  • How do you work with that person today?

What attracts you most to the vision and mission of CoinSwitch?

medium
Behavioral and Cultural

What attracts you most to the vision and mission of CoinSwitch?

Approach
  1. This is a motivation answer, not a STAR story, so build it in three parts: what you know about the product, why that problem matches your experience, and what you want to own or learn there. Keep each part specific to you.
  2. For the first part, use facts you verified: it is a crypto-asset platform, and the role description mentions trading, ledgers, market data and microservices. Use the product as a user if you can, and mention something you actually noticed. Do not state a mission you have not confirmed.
  3. For the second part, link one real project to the problem: a ledger or payments system, a high-traffic service, a consistency bug you fixed. Explain why correctness, latency or security was hard in that project.
  4. For the third part, show you understand the domain's risks, for example the cost of a duplicated or lost transaction or security of user assets, and say how you would approach learning them. Avoid flattery, price speculation and generic claims about changing finance.
Follow-up
  • What concerns, if any, do you have about working in crypto, and how do you weigh them?
  • What have you used or read about the product, and what would you improve?
  • What would you want to build or learn in your first few months?

What was the most significant challenge you faced in your previous role?

medium
Behavioral and Cultural

What was the most significant challenge you faced in your previous role?

Approach
  1. Pick a challenge where you made the key decisions and that you can explain technically, such as a slow query, a failed migration, a reliability problem or an ambiguous project with changing requirements. Skip a challenge that was only hard because of workload.
  2. Structure it as situation, options, decision, result. Name at least two options you weighed and why you rejected the alternative, with the trade-off in plain terms (risk, cost, time or complexity).
  3. State what could have gone wrong and how you contained it: a staged rollout, a rollback plan, a test, a benchmark or monitoring. Be ready to describe how the underlying technology works, since any detail of a project you mention can be examined.
  4. End with a measured outcome (latency, error rate, delivery date or reduced incidents) and one lesson that changed your later practice. The story sinks if it is a heroic overnight rescue with no reasoning, or if the blame lands on others.
Follow-up
  • Which alternative did you reject, and would you reject it again?
  • How did you know the change caused the improvement?
  • What would you do differently now?

How do you handle feedback when your technical approach is questioned?

medium
Behavioral and Cultural

How do you handle feedback when your technical approach is questioned?

Approach
  1. Use a real instance where a design, an algorithm or a pull request was challenged. Say what the approach was, what the objection was and who raised it, so the listener sees an actual disagreement rather than a polite hypothetical.
  2. Show the sequence: you listened and restated the objection, separated evidence from preference, then tested the claim with a benchmark, a small prototype, a failure scenario or the project's constraints. Name the criteria you used to decide, such as latency, operational cost or consistency.
  3. Show both outcomes in your behaviour: you changed the approach when the evidence favoured the critic, and you held your position with data and recorded the reasoning when it did not. Change on the first pushback and never changing are both weak answers.
  4. Mention the follow-through: a short written decision, an updated pull request, and a check afterwards that the decision worked. Keep the tone about the code, not the person.
Follow-up
  • What do you do when a more senior engineer is wrong and holds firm?
  • How do you disagree and still commit when the decision goes against you?
  • What if the debate is unresolved and a deadline is close?
  • 01

    Tell me about a time you had a difficult working relationship with a colleague; how did you address it?

  • 02

    What attracts you most to the vision and mission of CoinSwitch?

  • 03

    What was the most significant challenge you faced in your previous role?

  • 04

    How do you handle feedback when your technical approach is questioned?

  • 05

    Walk me through a project on your resume and explain how one of its technologies works internally.

  • 06

    Tell me about a time you had to deliver while requirements were unclear.

PracHub preparation framework ↗
How long should I prepare for the CoinSwitch interview?

No fixed preparation length is reported. Candidates describe four rounds over roughly 3-5 weeks, and the number of rounds can vary with seniority and team. Use the seven-day plan to cover each reported question family once (dynamic programming, strings, trees, graphs, design, databases, behavioral), then repeat the weakest days.

CoinSwitch Software Engineer candidate reports ↗
What reasons for rejection do candidates report?

Reports point to two causes beyond raw technical performance: not communicating your thought process, and not being able to justify architectural decisions in a system design discussion. Prepare by narrating your reasoning when you code and by giving each design choice a reason tied to an access pattern, failure case or consistency need.

CoinSwitch Software Engineer candidate reports ↗
What topics does CoinSwitch test in interviews?

Reported topics are data structures and algorithms (dynamic programming, graphs, trees, string search, complexity), system design (SQL versus NoSQL, sharding, replication, load balancing, REST or gRPC APIs), low-level design, and core fundamentals such as operating systems, computer architecture and databases. The behavioral questions cover working relationships, challenges, feedback and motivation.

CoinSwitch Software Engineer candidate reports ↗
Which programming language should I use?

The role description lists Java, Go, Python and JavaScript as examples of a modern language. Use the one in which you can write dynamic programming, BFS and tree code fastest without looking anything up, and in which you can run and debug code in a plain IDE or online compiler.

PracHub Software Engineer practice ↗
Will I have to run code on my own machine or an online compiler?

Candidates report that some interviewers ask for this. Practise writing, running and debugging full solutions in a plain IDE and an online compiler, and write your own test inputs, including edge cases for each solution, so running the code is routine.

PracHub Software Engineer practice ↗
The recruiter has gone quiet. What should I do?

Some candidates report inconsistent communication during the hiring process. Follow up politely with your recruiter if you have not heard back when expected, and use the screening call to ask which stages remain, because the round count is reported to vary by seniority and team. Keep the answers in writing.

PracHub Software Engineer practice ↗
What should I ask the team at the end?

Ask what technical problems the team is working on now and how it balances delivery speed with code quality, which candidates are advised to raise. One verified candidate review describes the work pressure as heavy, so it is also reasonable to ask how workload and on-call responsibilities are shared.

PracHub Software Engineer practice ↗
Sources & methodology 3 sources ↗

No official company page is cited. Rounds and questions come from candidate reports and PracHub editorial material; each source shows the date it was read.