cswork / libraryOpen practice workspace

Interview guides · Chethan's Charters- GD FEA Employer

Chethan's Charters- GD FEA Employer Software Engineer Interview Guide

Chethan's Charters- GD FEA Employer Software Engineer interview guide: reported rounds, questions and how candidates describe the process.

The 60-second brief

The Software Engineer role at Chethan's Charters- GD FEA Employer is a highly dynamic position that sits at the intersection of robust application development, complex engineering simulations, and intelligent automation. As a key technical contributor, you will build and optimize the proprietary systems that power chartering operations, logistics, and Finite Element Analysis (FEA) workflows. Your work directly impacts the efficiency of engineering analysts and chartering coordinators, ensuring that high-performance simulation tools and data pipelines run seamlessly. In this position, you are not just writing standard application code; you are solving multi-layered computational problems.

This guide is scoped to a Software Engineer candidate at Chethan's Charters- GD FEA Employer.

Focus areas

  • Coding Interviews
  • Python (Programming)
  • SQL (Querying)

The Chethan's Charters- GD FEA Employer interview process

Chethan's Charters- GD FEA Employer candidates report 3 rounds over 3-5 weeks. The stages below are what candidates describe, not a published process.

Online Assessment

Begin with an online aptitude and technical assessment, often hosted on platforms like TestGorilla.

What to demonstrate

  • Begin with an online aptitude and technical assessment, often hosted on platforms like TestGorilla
  • Depth in Coding Interviews

How to prepare

  • Answer aloud and timed: Explain the core pillars of Object-Oriented Programming (OOPs) and how you have applied them in your past projects.
  • Answer aloud and timed: How does memory management differ between Python and Java? Specifically, how do pointers or references operate in these environments?

Hiring Manager Interview

Interview with the hiring manager focusing on your background, project experience, and team alignment.

What to demonstrate

  • Interview with the hiring manager focusing on your background, project experience, and team alignment
  • Depth in Coding Interviews

How to prepare

  • Prepare two projects you led end to end, each with the decision you owned and what it cost.
  • Have three questions about the team's roadmap and how success is measured in the first six months.

Technical Interviews

Consecutive technical and coding interviews that cover live coding, database design, networking, and system architecture.

What to demonstrate

  • Consecutive technical and coding interviews that cover live coding, database design, networking, and system architecture
  • Depth in Coding Interviews

How to prepare

  • Answer aloud and timed: Write a SQL query to find duplicate records in a table and explain how you would optimize it for a large dataset.
  • Answer aloud and timed: Explain the difference between SQL and NoSQL databases. In what scenario would you recommend one over the other for our chartering systems?

Where candidates lose points

Read assessment instructions carefully

Candidates have noted that the initial online exam instructions can be complex and tricky. Take your time to fully understand the constraints before you start writing code.

Do not rush through the online technical tests

A single misunderstood constraint in the instructions can lead to failing the automated grading parameters.

Brush up on your resume details

If you list a specific technology on your resume—such as cyber security, Java, or Python—expect the interviewers to ask direct, fundamental questions about it.

Questions & practice

How does memory management differ between Python and Java? Specifically, how do pointers or references operate

Medium · Core Computer Science & OOPs

How does memory management differ between Python and Java? Specifically, how do pointers or references operate in these environments?

Approach

  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. 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?

What is the difference between a process and a thread, and how do languages like Python handle multi-threading

Medium · Core Computer Science & OOPs

What is the difference between a process and a thread, and how do languages like Python handle multi-threading?

Approach

  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. 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?

Diff a projection against the primary without per-row point reads

Hard · reconciliation · range hashing · throttling

The listing projection has drifted and some rows show a stale version. The primary holds 40,000,000 resource rows across 12,000 tenants while serving 1,200 writes and 14,000 reads per second. The obvious repair, reading each resource row and comparing its version against the projection, is correct and would eventually finish. Explain precisely why it is unacceptable here, then give a diff that finds the differing rows, state its complexity, and make it safe to run against a live primary. Replication lag is usually under 100 ms and is not bounded.

Approach

  1. Quantify the naive cost rather than calling it slow: 40,000,000 point reads at even 0.5 ms each is over five hours serialised, and the only lever is concurrency, which is exactly what you cannot spend. The primary's pool is sized for the write path, and 40,000,000 random reads evict the buffer cache that sustains the 85 percent cache hit rate, so the audit degrades the system it is auditing.
  2. Replace random access with one ordered pass per side. Both sides can be read in (tenant_id, resource_id) order, which is a sequential scan on each and a merge join in O(n) time and O(1) memory. For a dense diff that is the whole answer, and it reads the primary once instead of 40,000,000 times.
  3. For the expected sparse case, compare range hashes instead of rows: partition the key space, compute per range an order-independent aggregate over hash(resource_id, version), compare aggregates, and descend only into ranges that differ. With d differing rows and branching factor B, at most d ranges mismatch per level, so the drill-down examines O(d log_B(n/d)) ranges and reads full rows only in mismatching leaves.
  4. Aggregate with a sum modulo 2^64 or a multiset hash, never XOR. XOR is order-independent but self-cancelling, so two rows wrong in the same way, or a row duplicated on one side, leave the range aggregate matching and the range is declared clean.

Follow-up

  • The diff reports 900 stale rows. How do you decide between patching those rows and rebuilding the projection from resource_revision?
  • Same job, but the projection lives in a search index that cannot be scanned in key order. What changes?

Write a SQL query to find duplicate records in a table and explain how you would optimize it for a large datas

Medium · Databases & Web Technologies

Write a SQL query to find duplicate records in a table and explain how you would optimize it for a large dataset.

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. 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 SQL and NoSQL databases. In what scenario would you recommend one over the othe

Medium · Databases & Web Technologies

Explain the difference between SQL and NoSQL databases. In what scenario would you recommend one over the other for our chartering systems?

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. 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 core pillars of Object-Oriented Programming (OOPs) and how you have applied them in your past proj

Medium · Core Computer Science & OOPs

Explain the core pillars of Object-Oriented Programming (OOPs) and how you have applied them in your past projects.

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. 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 a scenario where you had to choose between inheritance and composition. What factors influenced your

Medium · Core Computer Science & OOPs

Describe a scenario where you had to choose between inheritance and composition. What factors influenced your decision?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. 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 HTML, CSS, and JavaScript interact to render a dynamic webpage, and how would you optimize frontend per

Medium · Databases & Web Technologies

How do HTML, CSS, and JavaScript interact to render a dynamic webpage, and how would you optimize frontend performance?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. 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 differences between GET and POST requests, and how do you ensure security when transmitting sensi

Medium · Databases & Web Technologies

What are the differences between GET and POST requests, and how do you ensure security when transmitting sensitive data?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

Walk us through the seven layers of the OSI model and explain the function of the Transport layer.

Medium · Systems, Networking & Security

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

If a user reports that a web application is loading slowly, how would you use networking principles to diagnos

Medium · Systems, Networking & Security

If a user reports that a web application is loading slowly, how would you use networking principles to diagnose the bottleneck?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. 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 basic principles of cyber security that every software engineer should implement when writing cod

Medium · Systems, Networking & Security

What are the basic principles of cyber security that every software engineer should implement when writing code?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. 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 Agentic AI, and how does it differ from traditional rule-based automation or standard machine learning

Medium · Emerging Tech & Agentic AI

What is Agentic AI, and how does it differ from traditional rule-based automation or standard machine learning models?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. 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 would you design a system where an AI agent executes code dynamically based on user inputs while ensuring

Medium · Emerging Tech & Agentic AI

How would you design a system where an AI agent executes code dynamically based on user inputs while ensuring system safety?

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

Edge instances grow 400 MB per hour until the nightly restart

Hard · memory leak · heap analysis · metric cardinality

Edge API instances start at 700 MB resident and grow about 400 MB/hour; a nightly rolling restart has hidden it for weeks. Growth continues unchanged when request rate halves overnight, p99 degrades in the last hours before an instance is recycled, and heap used immediately after a forced full GC rises monotonically. The service holds no product state. Name the discriminating measurement that separates the plausible causes, give the most likely cause, and give the fix and how you would verify it.

Approach

  1. Separate resident memory from live heap first, because they fail differently. Resident size can grow from fragmentation, native buffers or thread stacks while the heap is flat; heap used after a full GC rising monotonically is the measurement that says objects are reachable and not being released. You already have it, so this is retention, not fragmentation, and that closes off half the candidate list.
  2. Use the rate's independence from traffic as the discriminator. Growth that continues at half the request rate rules out per-request objects that are merely slow to collect and points at a structure that grows with distinct values observed rather than with call volume. Write the candidates that have that property: a metrics registry keyed on a high-cardinality label, an unevicted cache, an interner, a per-key lock map.
  3. Take two heap snapshots an hour apart and diff by retained size, reading the dominator tree, not by allocation count or instance count. Expect one root holding a map with millions of entries, then follow the reference chain to the code that inserts and never removes. Allocation profilers point at churn, which is the wrong signal here.
  4. The candidate that fits this service is an observability label carrying an identifier, such as a request path recorded before templating so that /v1/resources/48213 becomes its own metric series. That grows with distinct ids seen, is independent of rate, and explains the late p99 degradation, since GC cost rises with the size of the live set.

Follow-up

  • Post-GC heap is now flat but resident size still creeps. What are you looking at, and does it matter?
  • How would you have detected this before an OOM, given the nightly restart masked the trend?

Suggested practice checklist

Built from the rounds and topics Chethan's Charters- GD FEA Employer candidates report.

Day 1 — Map the Chethan's Charters- GD FEA Employer loop

  • Write out the reported sequence: Online Assessment, Hiring Manager Interview, Technical Interviews.
  • 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 Coding Interviews

  • Spend the session on Coding Interviews, which Chethan's Charters- GD FEA Employer candidates report being tested on.
  • Write one worked example in Coding Interviews and time yourself on it.

Deliverable: One timed worked example in Coding Interviews.

Day 3 — Work Python (Programming)

  • Spend the session on Python (Programming), which Chethan's Charters- GD FEA Employer candidates report being tested on.
  • Write one worked example in Python (Programming) and time yourself on it.

Deliverable: One timed worked example in Python (Programming).

Day 4 — Work SQL (Querying)

  • Spend the session on SQL (Querying), which Chethan's Charters- GD FEA Employer candidates report being tested on.
  • Write one worked example in SQL (Querying) and time yourself on it.

Deliverable: One timed worked example in SQL (Querying).

Day 5 — Answer out loud: Core Computer Science & OOPs

  • Answer aloud, timed: Explain the core pillars of Object-Oriented Programming (OOPs) and how you have applied them in your past projects.
  • Answer aloud, timed: How does memory management differ between Python and Java? Specifically, how do pointers or references operate in these environments?

Deliverable: Spoken answers to 2 reported Core Computer Science & OOPs question(s), under time.

Day 6 — Answer out loud: Databases & Web Technologies

  • Answer aloud, timed: Write a SQL query to find duplicate records in a table and explain how you would optimize it for a large dataset.
  • Answer aloud, timed: Explain the difference between SQL and NoSQL databases. In what scenario would you recommend one over the other for our chartering systems?

Deliverable: Spoken answers to 2 reported Databases & Web Technologies question(s), under time.

Day 7 — Answer out loud: Systems, Networking & Security

  • Answer aloud, timed: Walk us through the seven layers of the OSI model and explain the function of the Transport layer.
  • Answer aloud, timed: If a user reports that a web application is loading slowly, how would you use networking principles to diagnose the bottleneck?

Deliverable: Spoken answers to 2 reported Systems, Networking & Security question(s), under time.

Behavioural preparation

Behavioural rounds judge the decision you made and what it cost.

How do you handle authentication and authorization securely in a distributed system?

Medium · Systems, Networking & Security

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Describe your experience with testing frameworks or platforms like TestGorilla for validating code quality and

Medium · Emerging Tech & Agentic AI

Describe your experience with testing frameworks or platforms like TestGorilla for validating code quality and algorithmic logic.

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Ship under a deadline and bound the debt you chose

Medium · pagination · technical debt · tradeoffs

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?