75way Technologies Pvt. · Software Engineer
Updated · 2026-10-02

75way Technologies Pvt. Software Engineer
Interview Guide

THE 60-SECOND BRIEF

Candidates describe 75way Technologies Pvt. as a company that builds client-facing software across varied projects, from administrative panel integrations to user-facing web interfaces. As candidates report it, a Software Engineer here works across the stack. That means React front ends, RESTful APIs, and relational or NoSQL schemas, with Ruby on Rails, admin-panel work and real-time data features listed as nice-to-haves. The reported day-to-day work is debugging, writing APIs, maintaining existing codebases and connecting front-end components to back-end services. Candidates also mention filtering logic and administrative workflows as recurring tasks.

This guide is for Software Engineer candidates at 75way Technologies Pvt. who will be asked about their own portfolio projects and have to change code live. It covers the three stages candidates report: Resume Shortlist, Virtual Screening and Technical Interviews. It gives question-specific approaches to every reported question: architecture walk-throughs, price and rating filters, approval-gated admin data, React pagination, table-to-card refactors, npm lockfiles, cinema booking and nested-comment schemas, Rails callbacks and a loop-based letter pattern. It closes with a seven-day plan, common ways candidates lose points and an FAQ.

Candidates report three stages over about 3-5 weeks: a Resume Shortlist, a Virtual Screening, then Technical Interviews made up of two separate hands-on rounds. In those rounds you share your screen, explain your code as you write it and modify it on request.

ReactDatabase DesignAPI Development (RESTful)

36 min read

Browse Software Engineer questions

See the practice prompts

17Practice promptsAcross five skill areas

The reported questions fall into two groups. The first group is about your own work: the architecture of your main project, plus small features built on top of it, such as a price and rating filter, admin data that appears only after super-admin approval, pagination in React, and turning a table into cards. The second group covers fundamentals: npm's package.json versus package-lock.json, a cinema booking schema with seat availability and show timings, a schema for comments nested to any depth, callbacks in Rails, and printing a letter shape with loops.

Candidates report that the technical rounds focus on hands-on work rather than recall. You share your screen, talk through your code as you go, and get asked for on-the-spot changes, such as a new API endpoint or a UI change. That shapes how you should prepare. Practise on your real project, running locally, and rehearse changes that cross the stack: a new query parameter in the API, the SQL that uses it, and the React state that sends it. Candidates mention tasks sized at around 30 minutes, so build the common pieces (a paginated list, a filter form, a role-gated button) until you can write them without looking anything up.

Database design comes up repeatedly in candidate reports. Treat the two schema questions as full exercises. For each one, write the tables, keys and unique constraints, the query that answers the main read (free seats for a show, a whole comment thread), and the write path that has to stay correct when two requests run at the same time. A seat that can be sold twice, or a comment tree that needs one query per level, is the kind of gap a follow-up question exposes quickly.

The listed requirements put React, RESTful APIs and schema design (SQL or NoSQL) first, with Rails as a plus. Since NoSQL is named, also sketch both schemas in a document store. For the cinema, keep one document per seat per show (or a seats array embedded in the show document) and take a hold with an atomic conditional update that matches the seat id and status 'available', backed by a unique index on show and seat. For comments, embed replies only for shallow threads, and reference a parent id when depth is unlimited, because embedding is capped by document size. If your projects are in Node and React, still learn the Rails callback lifecycle well enough to explain it, because it is a reported question. If your projects are in Rails, be ready to show how the same flow looks from the React side.

01

Resume Shortlist

reported

Candidates report a resume-based shortlist as the first stage, with further evaluation for those who are shortlisted. The projects on your resume matter later, since candidates report questions about the architecture of a primary project and on-the-spot changes to it. List only projects you can rebuild and modify on demand. For each one, name the stack (React, a REST API, the database), say what you personally built, and include one concrete feature, such as filtering, pagination or an admin approval flow, that you are ready to extend.

What to demonstrate

  • Candidates report that shortlisting is based on the resume
  • Candidates report that the projects you list return later as architecture questions and live changes

How to prepare

  • Cut any project from your resume whose code you cannot explain line by line or change live.
  • For each remaining project, write one line naming the stack and one feature you built end to end, such as a filter, a paginated list or a role-gated admin view.
  • Make sure linked repositories have a README with setup steps and that they install and run on a clean machine.
75way Technologies Pvt. Software Engineer candidate reports ↗
02

Virtual Screening

reported

Candidates describe an initial virtual screening that checks fit before the technical rounds. They report a standard 'tell me about yourself' opener, and they report that the technical content of the process is the priority. Use your introduction to point toward the projects you want to be asked about, because those projects carry the technical rounds that follow. Test your camera, microphone and screen sharing beforehand, since the later rounds also run with a shared screen.

What to demonstrate

  • Fit for the role, which candidates describe as the purpose of the screening
  • A clear self-introduction that connects your projects to the React, API and database work in the role

How to prepare

  • Write and rehearse a short 'tell me about yourself' that ends on your main project and the stack it uses.
  • Write a one-sentence summary of your main project's architecture (client, API, database), ready for a more detailed walk-through later.
  • Do a test call with screen sharing and an IDE open, so that setup problems do not cost you time later in the process.
75way Technologies Pvt. Software Engineer candidate reports ↗
03

Technical Interviews

reported

Candidates report two separate technical rounds built around hands-on tasks and coding. You share your screen, explain your code in real time and handle changes requested on the spot, and candidates mention examples such as adding an API endpoint or changing the UI. They also mention short time-boxed tasks of around 30 minutes. Have your project open and running before the call starts. When a change is requested, restate it, name the files you will touch (route, query, component), make the smallest working change, then show that it works in the browser or with a request.

What to demonstrate

  • Working code produced live while sharing your screen
  • Explaining design and library choices in your own project as you change it
  • Modifying existing code on request without breaking the feature around it

How to prepare

  • Rehearse three live changes to your own project, each in one sitting: add a filter parameter to an endpoint, add pagination to a list, and convert a table view to cards.
  • Build a paginated, filterable React list backed by a small REST API from scratch, until it runs at the end of one sitting.
  • Write out the cinema booking and nested-comment schemas with their constraints and main queries, and say them aloud without notes.
75way Technologies Pvt. Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Being unable to explain, or change, a part of your own listed project when asked for a live change such as a new endpoint or UI tweak.

Before the loop, go through each listed project file by file and change three things in it yourself: a new filter parameter, a pagination change and a view change. Remove any project you cannot change confidently, and have it running locally before the call.

02

Hiding unapproved or admin-only data only in React, so the API still returns it to anyone.

For the super-admin approval question, put the status filter in the query of the public endpoint and the role check in middleware on the approve endpoint. Treat the conditional rendering in React as a convenience, and say so out loud.

03

Writing a cinema booking schema with no database-level guard against selling the same seat twice for a show.

Pre-create one show_seat row per seat per show and make the conditional UPDATE (status 'available', or a hold that has expired) the guard, checking the affected row count. Keep UNIQUE(show_id, seat_id) for integrity, and explain what the second of two concurrent requests sees.

04

Paginating with OFFSET and no stable sort, or keeping the old page number after a filter changes.

Always order by a unique tie-breaker (created_at, id), reset to page 1 whenever filters change, ignore stale responses with an AbortController, and be ready to explain when keyset pagination beats OFFSET.

05

Answering the nested-comments schema by adding a parent_id column and then fetching replies with one query per level.

Load a post's comments in one query and build the tree with a hash map, or use WITH RECURSIVE. Name materialized path and closure table as the alternatives, and explain how you handle deleting a comment that has replies.

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

14 technical prompts0 include a worked solution

What is the difference between package.json and package-lock.json?

medium
Technical Fundamentals & Database Design

What is the difference between package.json and package-lock.json?

Approach
  1. package.json is the hand-edited manifest: name, scripts, and dependencies and devDependencies declared as semver ranges. ^1.4.2 accepts anything below 2.0.0, and ~1.4.2 accepts anything below 1.5.0.
  2. package-lock.json is generated by npm. It records the exact resolved version of every package in the tree, including transitive dependencies, along with the resolved URL and an integrity hash, so every install produces the same node_modules.
  3. Commit the lockfile for applications. npm ci installs exactly what the lockfile says and fails if it disagrees with package.json, while npm install can update the lockfile within the allowed ranges.
  4. Mention the edge cases: the lockfile of a published library is not used by its consumers (npm-shrinkwrap.json is), and Yarn and pnpm use yarn.lock and pnpm-lock.yaml for the same purpose.
Follow-up
  • The app works on your machine but fails in CI after a fresh install. How could the lockfile be involved?
  • How do you resolve a merge conflict in package-lock.json?
  • When would you use npm ci instead of npm install?

Archive a resource graph without breaking live references or recursing

medium
graph traversaltopological ordertenant isolation

Resources reference other resources within a tenant; for the largest tenant the reference table holds up to 2,000,000 nodes and 8,000,000 edges. Archiving a resource must archive everything reachable from it that nothing outside the set still references, refuse when a live external referrer exists, and terminate when references form cycles, which they legitimately do. Produce the archive order and the refusal list, targeting O(V+E). Say what stops the traversal crossing a tenant boundary, and why recursion is the wrong control structure at this size.

Approach
  1. Load the subgraph with the tenant predicate on both endpoints of the edge, not only on the side you started from. Scoping the left table alone is the classic cross-tenant leak: one mis-entered edge then pulls another tenant's resources into the traversal and, worse, into the archive.
  2. Traverse iteratively with an explicit stack. A 2,000,000-node graph can hold a chain deep enough to exhaust a native stack in the low tens of thousands of frames, and that failure is a process crash rather than an error you can return.
  3. Treat cycles as data rather than corruption: compute strongly connected components with Tarjan in O(V+E) using its own explicit stack, then condense. The condensation is a DAG, so a topological order over it gives the archive order, and every member of a component archives in one transaction because no order within a cycle is valid.
  4. Decide refusals with reverse edges. A candidate is archivable only if every in-edge originates inside the candidate set, so build the transpose or count in-degrees restricted to the visited set, and emit each blocked resource with the id of the external referrer, which is the only part of the answer an operator can act on.
Follow-up
  • The graph is read in one query and the archive writes a minute later. What can change in between, and how do you make the write safe?
  • The candidate set is 400,000 resources. Is that one transaction, and if not, what does a half-finished archive look like to a reader?

Find overlapping job attempts and peak concurrency from lease records

medium
sweep lineintervalsleases

A day of job_run history yields about 50,000,000 attempt records: (job_run_id, job_type, attempt, started_at, finished_at which is NULL when the worker died, lease_expires_at). Leases expire on a clock, so a job that outran its lease ran twice. Produce (a) every job_run_id whose attempts overlapped in wall-clock time and (b) the peak number of simultaneously running attempts per job_type with the minute it occurred. Target O(n log n). State how you treat a NULL finished_at and what clock skew does to your answer.

Approach
  1. Define the interval before sorting anything: an attempt occupies [started_at, COALESCE(finished_at, lease_expires_at)). finished_at is observed and lease_expires_at is only a promise, so every attempt without a finish contributes an estimate and the whole result is a lower bound on overlap rather than an exact count.
  2. For peak concurrency, sweep: emit 2n endpoints, sort by (timestamp, kind) with ends ordered before starts at equal timestamps, then walk the sequence maintaining a counter per job_type and record each type's maximum with its timestamp. O(n log n) dominated by the sort, O(n) space, or O(1) extra if the sort is external and the walk streams.
  3. For overlap detection, do not compare attempts pairwise. A single global sort by (job_run_id, started_at) gives both the grouping and the order; within a group, keep the maximum end seen so far and report an overlap exactly when the next start is less than that running maximum, which is one linear pass after the sort.
  4. Half-open intervals matter and are easy to get wrong: with closed intervals an attempt ending at the same millisecond another begins reads as concurrency two, and across 50,000,000 records that artefact swamps the real signal.
Follow-up
  • A handler is not idempotent and you have found 400 overlapping jobs. Which of them actually caused damage, and what would you query to find out?
  • Peak concurrency for one job_type is 4 against a configured cap of 4. Is the cap working, or is the data hiding attempts that never started?

Each day of the plan targets one cluster of reported questions and ends with something you built or wrote down. It moves from your own project, through React and API features and the two schema questions, to fundamentals and a timed live-change mock.

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
01Own the project you will be asked to walk through
  • Draw your main project's architecture (React client, REST API, database, external services) and trace one feature from click to query to rendered response.
  • Write the schema of its three most important tables, with keys and one decision you would defend.
  • Clone the repository into a fresh folder, follow your own README, and fix whatever stops it running.

Deliverable: An architecture diagram with one feature traced end to end, a written schema with one defended decision, and a project that runs from a clean clone.

Practice prompt ↗
02React pagination and the table-to-card refactor
  • Build a list backed by a small API with server-side pagination. Store the page in the URL and ignore stale responses with an AbortController.
  • Add a keyset (cursor) version of the same endpoint and write down when you would choose each one.
  • Convert the list's table into a responsive card grid that renders from a shared column config, with loading, empty and error states intact.

Deliverable: A working paginated list in both OFFSET and cursor versions with a written comparison, and the same data rendered as a card grid.

Practice prompt ↗Practice prompt ↗
03Filters and approval-gated admin data over REST
  • Add GET /products?min_price=&max_price=&min_rating= with validation, bind parameters and a stored avg_rating, and decide how products with no rating are treated.
  • Add a status column, a super_admin role, a public endpoint that returns only approved rows and a role-checked approve endpoint that returns 403 to anyone else.
  • Wire both into React: debounced filter inputs that reset the page, and an Approve button shown only to super-admins that updates the list after approval.

Deliverable: A filter endpoint and an approval flow, each working end to end in your project, with server-side checks you can point to in the code.

Practice prompt ↗Practice prompt ↗
04Cinema booking schema, in SQL and in a document store
  • Write the CREATE TABLE statements for cinema, screen, seat, movie, show, booking and a show_seat table with one pre-created row per seat per show, including UNIQUE(show_id, seat_id) for integrity.
  • Write the availability query for one show and the conditional-update hold (status 'available' or an expired hold), and describe aloud what the losing request sees when two users race for one seat.
  • Add a guard against overlapping shows on a screen, a rule that frees the seat when a booking is cancelled, and a rule for releasing expired holds.
  • Sketch the same model as documents: seats embedded in the show or one document per seat per show, and the atomic conditional update that takes a hold.

Deliverable: A runnable schema file, an availability query, a seat-hold statement, a document-store sketch and a written walk-through of the race between two users.

Practice prompt ↗
05Nested comments and soft deletes
  • Write an adjacency-list comments table, load one post's thread in a single query and build the tree in memory with a hash map.
  • Write the same subtree read with WITH RECURSIVE, then outline a materialized-path and a closure-table version with one sentence on each trade-off.
  • Work the soft-deleted accounts practice question, then apply the same soft-delete reasoning to a comment that has replies.

Deliverable: A comments schema with both read paths written, a note comparing three tree models, and a worked soft-delete answer.

Practice prompt ↗Practice prompt ↗
06Fundamentals: npm lockfiles, Rails callbacks, loop patterns
  • Explain package.json versus package-lock.json aloud, including ^ versus ~, npm ci versus npm install, and why the lockfile is committed.
  • Write the Active Record callback order from memory, a before_save that halts with throw(:abort), and an example of why a mail belongs in after_commit.
  • Write the K pattern for odd n from a predicate on (row, column), without trailing spaces, then change the predicate to print X and Z.

Deliverable: A spoken lockfile explanation, a written callback-order sheet with two code examples, and a working pattern program that prints K, X and Z.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
07Timed live-change mock and introduction
  • Ask a friend to request one unseen change to your project (a new endpoint, a new filter, or a different view) and make it while sharing your screen and talking through it, in about 30 minutes.
  • Rehearse 'tell me about yourself' so that it ends on the project you just modified.
  • Work the deadline-trade-off practice question as a spoken story about a shortcut you shipped and how you contained it.

Deliverable: One completed live change on your own project, a rehearsed introduction, and a spoken deadline story.

Practice prompt ↗Practice prompt ↗

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

Candidates report that technical skills are the priority and that a standard 'tell me about yourself' introduction is expected. Keep yours short and use it to point toward your main project. The prompts below help if a project discussion turns to how you worked: vague requirements, changes made under time pressure, and failures caused by bad data.

How do you handle pagination in React for large datasets?

medium
Project-Based Technical Deep Dives

How do you handle pagination in React for large datasets?

Approach
  1. Choose where pagination happens. If you have only a few hundred rows, fetching everything and slicing on the client is fine. For large datasets, the server returns one page: either LIMIT/OFFSET with a total count, or keyset (cursor) pagination such as WHERE (created_at, id) < ($1, $2) ORDER BY created_at DESC, id DESC LIMIT 20.
  2. State the trade-off: OFFSET is simple and allows jumping to page N, but it slows down on deep pages and can skip or repeat rows when data changes. A cursor is stable and fast, but it only supports next and previous.
  3. React: keep page or cursor in state, ideally mirrored in the URL. Fetch in useEffect and ignore stale responses (AbortController or an ignore flag) so fast clicking cannot render the wrong page. Keep the previous page visible while the next one loads.
  4. For infinite scroll, use an IntersectionObserver on a sentinel element. If the rendered list grows very large, virtualise it (for example with react-window) so only the visible rows are in the DOM.
  5. Edge cases: resetting to page 1 when filters change, requesting a page past the end, an empty dataset, and always using a stable sort with a unique tie-breaker.
Follow-up
  • A user clicks Next three times quickly and sees page 2's data on page 4. What went wrong, and how do you fix it?
  • How does the backend return the total count, and what does that cost on a large table?
  • When would you choose infinite scroll over numbered pages?

Unblock an engineer without taking the keyboard

easy
mentoringleasesat-least-once

A teammate has spent two days on a job handler that occasionally writes duplicate rows. They are certain the queue is delivering twice by mistake. You suspect a lease expiring under a slow handler, so the job is running concurrently with itself. Describe how you have unblocked someone in this position: what you asked before offering a hypothesis, what you showed them rather than told them, and what you left them owning. Then say what you would do if their theory turned out to be the right one.

Approach
  1. Ask before diagnosing, and ask for things answerable from data they already have: the attempt count on the job rows that produced duplicates, the handler's observed duration against its lease expiry, and whether the duplicate rows share a natural key that a unique constraint could have caught.
  2. Teach the shape rather than the answer. A lease cannot distinguish a dead worker from a slow one, so a handler that outruns its lease is running twice by design, and deploys deliver the other half by killing handlers mid-run on every rollout. Both of their candidate theories produce identical duplicate rows, which is why the evidence has to come from timings rather than from argument.
  3. Hand over a checklist they execute: a natural key on every write the handler performs so the second copy collides rather than appends, the record of intent written before any external effect, a lease heartbeat while running, and the metric that shows it working.
  4. Keep ownership with them deliberately. Pair on the first write, then step back; if you finish it yourself you have closed one ticket and left the same person stuck on the next redelivery.
Follow-up
  • How would you distinguish a genuine double-delivery from a lease expiry using only the data already stored?
  • Their handler calls an external endpoint before recording that it did. What do you tell them to change first?

Ship under a deadline and bound the debt you chose

medium
paginationtechnical debttradeoffs

You have four days to ship a tenant-facing listing endpoint. The version you would defend uses keyset pagination over (tenant_id, status, updated_at DESC, resource_id DESC); the version you can finish uses LIMIT/OFFSET with no matching index. Describe a deadline call you actually made of this shape: what you shipped, what you knowingly deferred, how you bounded the damage with a mechanism rather than an intention, and the specific numeric condition that would force the follow-up. Name who you told and where you wrote it down.

Approach
  1. Name the deferred failure precisely instead of calling it slow. OFFSET n makes the database produce and discard n rows, so cost grows with page depth; without an index matching the sort, every matching row is read and sorted before the limit applies; and rows inserted between two page fetches shift across the boundary so items are skipped or repeated with nothing in the response to signal it.
  2. Bound the blast radius with something mechanical rather than a promise: cap maximum page depth, cap page size, restrict the endpoint to one internal caller, or keep it behind a flag. State which failure each cap removes and which it leaves standing.
  3. Attach a number to the trigger and wire it to an alarm: the first tenant crossing N resources, or the endpoint's p99 crossing its share of the 400 ms budget, so the debt announces itself instead of waiting to be remembered.
  4. Write it where the next engineer looks, which is the code and the ticket, not a chat message: what was deferred, why, the cap, and the trigger.
Follow-up
  • At what page depth does the offset version breach your latency budget, given your page size and row counts?
  • What breaks first when you switch to keyset pagination later, and what does a client holding an old page token see?
  • 01

    Tell me about yourself.

  • 02

    Walk through your main project and name the one design decision in it you would make differently today.

  • 03

    Describe a time you had to change working code quickly, such as reworking a view or adding an endpoint, and how you made sure nothing else broke.

  • 04

    Tell me about a requirement that arrived vague and the questions you asked before writing any code.

  • 05

    Describe a bug caused by missing or invalid data, how you found it and what the application does now in that case.

PracHub preparation framework ↗
What are the stages of the 75way Technologies Pvt. Software Engineer interview?

Candidates report three stages over about 3-5 weeks: a Resume Shortlist, a Virtual Screening, then Technical Interviews, which they describe as two separate rounds of hands-on tasks and coding. In the technical rounds you share your screen and explain your code while you work.

PracHub Software Engineer practice ↗
How difficult are the technical rounds?

Candidates describe the difficulty as moderate and practical. The tasks are small features and schema design rather than puzzle-style algorithms. What makes them hard is doing the work live on your own code, so practise building a paginated list, a filter endpoint and an approval flow until you can write each one without looking anything up.

75way Technologies Pvt. Software Engineer candidate reports ↗
Should I prepare for behavioral questions?

The one behavioral item candidates mention is a self-introduction, and they put technical skills ahead of it, so spend most of your time on code. Prepare an introduction that ends on your main project, plus a few stories about vague requirements and quick changes, since project discussions can turn to how you worked.

75way Technologies Pvt. Software Engineer candidate reports ↗
How should I prepare for the live coding tasks?

Candidates mention time-boxed tasks of around 30 minutes and on-the-spot changes to their own projects, such as a new API endpoint or a UI change. Rehearse exactly that: keep your project running, make one unseen change while sharing your screen, and build small features (a paginated list, a booking form, a card grid) from scratch.

75way Technologies Pvt. Software Engineer candidate reports ↗
Which technologies should I focus on?

The requirements candidates describe list React or another front-end framework, RESTful API development and schema design in SQL or NoSQL as must-haves. Ruby on Rails, admin-panel development and real-time data features are nice-to-haves. The reported questions match this: React pagination and refactoring, approval-gated admin data, two schema designs and a question on Rails callbacks.

75way Technologies Pvt. Software Engineer candidate reports ↗
Do I need to know Ruby on Rails if my projects use Node?

Rails is listed as a nice-to-have, but a question on callbacks in Rails is among those candidates report. Learn the Active Record callback order, how throw(:abort) halts the chain, which methods skip callbacks, and why side effects belong in after_commit, so that you can answer it even without Rails projects.

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.