At Sanmina, a Software Engineer plays a vital role in bridging the gap between advanced technology and world-class manufacturing. As a global leader in electronics manufacturing services (EMS), Sanmina relies heavily on custom software, automated testing systems, enterprise resource planning (ERP) systems, and real-time data tracking to power its factories. The software you build, optimize, and maintain directly impacts the production of complex medical devices, defense systems, automotive electronics, and telecommunications hardware. This role is highly collaborative and operationally critical. Unlike traditional software companies where code lives purely in the cloud, at Sanmina, your code directly interfaces with physical assembly lines, robotic testing fixtures, and supply chain logistics. You will work alongside process engineers, hardware designers, and plant managers to build robust applications that ensure manufacturing precision, minimize downtime, and maintain strict compliance with international quality standards. Whether you are designing a database schema to track components, writing test automation scripts, or integrating factory floor equipment with enterprise software, your work ensures high-throughput and flawless execution. It is an exciting space for engineers who enjoy seeing the tangible impact of their software on real-world, high-tech physical products.
HR Phone Screen
reportedDiscuss your background, salary expectations, and interest in the role.
What to demonstrate
- Discuss your background, salary expectations, and interest in the role
- Depth in Aptitude Assessment
How to prepare
- Be able to walk your CV end to end in two minutes, and say why this company specifically.
- Have your salary expectations, notice period and location constraints ready, and ask for the rest of the loop in writing.
Technical Interview
reportedOne or more interviews focusing on past projects, system design reasoning, and real-world engineering challenges.
What to demonstrate
- One or more interviews focusing on past projects, system design reasoning, and real-world engineering challenges
- Depth in Aptitude Assessment
How to prepare
- Answer aloud and timed: Answer verbal ability questions to demonstrate strong English communication skills.
- Answer aloud and timed: Participate in a group discussion about the pros and cons of integrating artificial intelligence in the IT industry.
Facility Tour
reportedTour of the manufacturing facility to visualize where your software will be deployed.
What to demonstrate
- Tour of the manufacturing facility to visualize where your software will be deployed
- Depth in Aptitude Assessment
How to prepare
- Answer aloud and timed: Discuss current scientific or technological milestones, such as the success of the Chandrayaan 3 space mission.
- Answer aloud and timed: How long have you been working with Java, and can you explain the core differences between interface and abstract classes?
Online Aptitude Test
reportedTimed assessment covering quantitative, logical, and verbal reasoning.
What to demonstrate
- Timed assessment covering quantitative, logical, and verbal reasoning
- Depth in Aptitude Assessment
How to prepare
- Answer aloud and timed: Write a functional algorithm on paper to reverse an array or find duplicate elements without using built-in helper functions.
- Answer aloud and timed: Explain your experience with SQL Server database management. How do you optimize a slow-running query?
Group Discussion
reportedCandidates discuss a general, economic, or technical topic to evaluate communication and teamwork.
What to demonstrate
- Candidates discuss a general, economic, or technical topic to evaluate communication and teamwork
- Depth in Aptitude Assessment
How to prepare
- Answer aloud and timed: Write a SQL query using an inner join to retrieve manufacturing test records associated with specific product serial numbers.
- Answer aloud and timed: Walk me through the fundamental concepts of Object-Oriented Programming (OOP) and how you have applied them in your academic or professional projects.
Technical Interview
reportedOne-on-one session deep-diving into your resume, projects, internships, and core programming/SQL skills.
What to demonstrate
- One-on-one session deep-diving into your resume, projects, internships, and core programming/SQL skills
- Depth in Aptitude Assessment
How to prepare
- Answer aloud and timed: What experience do you have working with ERP systems, and how would you design an API to sync inventory data?
- Answer aloud and timed: Explain your thought process when designing software that must interface with physical enclosures or hardware testing equipment.
HR Interview
reportedFinal round to assess cultural fit, behavioral alignment, and compensation expectations.
What to demonstrate
- Final round to assess cultural fit, behavioral alignment, and compensation expectations
- Depth in Aptitude Assessment
How to prepare
- Answer aloud and timed: How do you manage project deadlines when you are tasked with delivering software for multiple manufacturing lines simultaneously?
- Answer aloud and timed: Walk us through your design process when creating a software tool to monitor and report real-time failures on an assembly line.
PracHub editorial advice for the preparation topics above.
Emphasize your database skills
Almost every software system at Sanmina relies heavily on databases to track parts, test results, and inventory. Spend extra time reviewing SQL joins, database normalization, and query optimization.
Be ready to code on paper
Practice writing clean, functional code by hand without the aid of an IDE or auto-complete. Focus on logical structuring and clear variable naming.
When writing code on paper, explain your thought process aloud
Interviewers value your systematic reasoning and how you approach a problem step-by-step far more than perfect syntax.
Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.
Write a functional algorithm on paper to reverse an array or find duplicate elements without using built-in he
Write a functional algorithm on paper to reverse an array or find duplicate elements without using built-in helper functions.
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- State the target complexity and say which constraint rules the naive version out.
Follow-up
- How does this change if the input no longer fits in memory?
- What is the worst case, and how likely is it on real data?
Explain your thought process when designing software that must interface with physical enclosures or hardware
Explain your thought process when designing software that must interface with physical enclosures or hardware testing equipment.
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- 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
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
- 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.
- 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.
- 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.
- 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?
Explain your experience with SQL Server database management. How do you optimize a slow-running query?
Explain your experience with SQL Server database management. How do you optimize a slow-running query?
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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?
Write a SQL query using an inner join to retrieve manufacturing test records associated with specific product
Write a SQL query using an inner join to retrieve manufacturing test records associated with specific product serial numbers.
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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?
Solve a series of quantitative questions covering percentages, ratios, and time-and-work problems.
Solve a series of quantitative questions covering percentages, ratios, and time-and-work problems.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Identify the next logical pattern in a sequence of abstract shapes or numbers.
Identify the next logical pattern in a sequence of abstract shapes or numbers.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Answer verbal ability questions to demonstrate strong English communication skills.
Answer verbal ability questions to demonstrate strong English communication skills.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Participate in a group discussion about the pros and cons of integrating artificial intelligence in the IT ind
Participate in a group discussion about the pros and cons of integrating artificial intelligence in the IT industry.
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- Design the error taxonomy before the success shape; callers branch on it.
Follow-up
- What happens if the caller retries after a timeout?
- How does a client discover it is on an old version of this contract?
Discuss current scientific or technological milestones, such as the success of the Chandrayaan 3 space mission
Discuss current scientific or technological milestones, such as the success of the Chandrayaan 3 space mission.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 long have you been working with Java, and can you explain the core differences between interface and abstr
How long have you been working with Java, and can you explain the core differences between interface and abstract classes?
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 me through the fundamental concepts of Object-Oriented Programming (OOP) and how you have applied them in
Walk me through the fundamental concepts of Object-Oriented Programming (OOP) and how you have applied them in your academic or professional projects.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 experience do you have working with ERP systems, and how would you design an API to sync inventory data?
What experience do you have working with ERP systems, and how would you design an API to sync inventory data?
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- 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?
How do you manage project deadlines when you are tasked with delivering software for multiple manufacturing li
How do you manage project deadlines when you are tasked with delivering software for multiple manufacturing lines simultaneously?
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- Design the error taxonomy before the success shape; callers branch on it.
Follow-up
- What happens if the caller retries after a timeout?
- How does a client discover it is on an old version of this contract?
Walk us through your design process when creating a software tool to monitor and report real-time failures on
Walk us through your design process when creating a software tool to monitor and report real-time failures on an assembly line.
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- Design the error taxonomy before the success shape; callers branch on it.
Follow-up
- What happens if the caller retries after a timeout?
- How does a client discover it is on an old version of this contract?
One customer endpoint stalls deliveries to every other destination
The egress service delivers about 1.5k webhooks/second across 40,000 destinations, with a per-destination concurrency cap of 4 and a 10-second connect-plus-read timeout. Throughput falls to 300/second, queue depth climbs, and p99 delivery latency for unaffected destinations goes from 200 ms to minutes, while the error rate barely moves. One tenant holds 900 destination rows whose URLs share a hostname that now answers in 9.5 seconds. Explain the mechanism with the arithmetic, then give the containment in the order you would apply it.
Approach
- Look at saturation before errors. A flat error rate with collapsing throughput says nothing is failing, things are waiting, so the first signal to pull is in-flight request count or pool wait time rather than the error counter. This is the distinction that decides the whole investigation.
- Group in-flight work by resolved host, not by destination id. The cap is keyed per destination row, so 900 rows sharing one hostname buy 3,600 concurrent slots against a single host, each held for 9.5 seconds. The bulkhead was never a bulkhead for that host, and grouping by the wrong dimension is why the dashboard looked healthy.
- Do the arithmetic in both directions. Required concurrency is arrival rate times latency, so 1.5k/second at 200 ms needs about 300 in flight, which is entirely consumed by 3,600 slow slots; conversely whatever concurrency is left sustains rate equals concurrency divided by 9.5 seconds, which is the 300/second you are seeing. Matching both numbers is what promotes this from a plausible story to the mechanism.
- Explain why the circuit breaker never helped. It opens on consecutive failures, and a 9.5-second response inside a 10-second timeout is a success. Slow is not failing, so an error-rate breaker cannot see this; you need a slow-call ratio, a deadline propagated from the caller's remaining budget, or a concurrency limiter.
Follow-up
- The host recovers to 80 ms. How long does the queue take to drain, and what does the drain do to the recovered host?
- Where should the 10-second timeout number actually come from?
Built from the rounds and topics Sanmina candidates report.
Prepare, practise & reflect
One practical outcome each day. Spend longer where you need it.
0 / 7 done01Map the Sanmina loop
- Write out the reported sequence: HR Phone Screen, Technical Interview, Facility Tour, Online Aptitude Test, Group Discussion, Technical Interview.
- 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 7 reported rounds, with the weakest marked.
02Work Aptitude Assessment
- Spend the session on Aptitude Assessment, which Sanmina candidates report being tested on.
- Write one worked example in Aptitude Assessment and time yourself on it.
Deliverable: One timed worked example in Aptitude Assessment.
03Work Group Discussion (GD)
- Spend the session on Group Discussion (GD), which Sanmina candidates report being tested on.
- Write one worked example in Group Discussion (GD) and time yourself on it.
Deliverable: One timed worked example in Group Discussion (GD).
04Work Java (Programming Language)
- Spend the session on Java (Programming Language), which Sanmina candidates report being tested on.
- Write one worked example in Java (Programming Language) and time yourself on it.
Deliverable: One timed worked example in Java (Programming Language).
05Answer out loud: Aptitude & Logical Reasoning (Common for Campus & Entry-Level Roles)
- Answer aloud, timed: Solve a series of quantitative questions covering percentages, ratios, and time-and-work problems.
- Answer aloud, timed: Identify the next logical pattern in a sequence of abstract shapes or numbers.
Deliverable: Spoken answers to 2 reported Aptitude & Logical Reasoning (Common for Campus & Entry-Level Roles) question(s), under time.
06Answer out loud: Core Technical & Programming
- Answer aloud, timed: How long have you been working with Java, and can you explain the core differences between interface and abstract classes?
- Answer aloud, timed: Write a functional algorithm on paper to reverse an array or find duplicate elements without using built-in helper functions.
Deliverable: Spoken answers to 2 reported Core Technical & Programming question(s), under time.
07Answer out loud: Systems, Integration & Manufacturing Reasoning
- Answer aloud, timed: What experience do you have working with ERP systems, and how would you design an API to sync inventory data?
- Answer aloud, timed: Explain your thought process when designing software that must interface with physical enclosures or hardware testing equipment.
Deliverable: Spoken answers to 2 reported Systems, Integration & Manufacturing Reasoning question(s), under time.
Expand any day for tasks and deliverables. Your progress is saved on this device.
Behavioural rounds judge the decision you made and what it cost.
Describe a time you had to troubleshoot a software issue on a system you did not build. How did you isolate th
Describe a time you had to troubleshoot a software issue on a system you did not build. How did you isolate the problem?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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?
Tell me about yourself and walk me through the key projects listed on your resume.
Tell me about yourself and walk me through the key projects listed on your resume.
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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 role in your previous internship. What was the most challenging technical obstacle you overcame?
Describe your role in your previous internship. What was the most challenging technical obstacle you overcame?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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?
How do you handle high-stress situations or tight production deadlines when software bugs threaten to halt phy
How do you handle high-stress situations or tight production deadlines when software bugs threaten to halt physical manufacturing?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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?
Why do you want to work at Sanmina, and how long do you plan on staying with our division?
Why do you want to work at Sanmina, and how long do you plan on staying with our division?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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 a situation where you had to collaborate with non-technical stakeholders, such as plant operators or
Describe a situation where you had to collaborate with non-technical stakeholders, such as plant operators or process engineers, to gather software requirements.
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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?
- 01
Describe a time you had to troubleshoot a software issue on a system you did not build. How did you isolate the problem?
- 02
Tell me about yourself and walk me through the key projects listed on your resume.
- 03
Describe your role in your previous internship. What was the most challenging technical obstacle you overcame?
- 04
How do you handle high-stress situations or tight production deadlines when software bugs threaten to halt physical manufacturing?
How technical are the coding rounds at Sanmina?
Compared to consumer tech companies, Sanmina focuses less on complex, theoretical LeetCode-style algorithms and more on practical programming. Expect to write basic, functional code on paper or a whiteboard, with a strong emphasis on database design, SQL queries, and OOP fundamentals.
Sanmina Software Engineer candidate reports ↗What is the typical timeline from the first interview to an offer?
The timeline varies by location. For campus recruitment drives, the entire process is often completed in 2 to 3 days. For experienced hires, it typically takes 2 to 4 weeks from the initial HR screen to a final offer, depending on team availability and corporate approval steps.
Sanmina Software Engineer candidate reports ↗How much should I prepare for questions about hardware or manufacturing?
If you are interviewing for a software role within a manufacturing plant, you should understand the basics of how software integrates with hardware (like ERP systems or automated testers). You do not need a degree in electrical engineering, but you should show a strong interest in how physical products are built and tested.
Sanmina Software Engineer candidate reports ↗Is there room for negotiation on salary and benefits?
While Sanmina offers competitive compensation, some candidates have noted that salary bands can be rigid, particularly for entry-level roles. When negotiating, focus on highlighting your specific technical skills, past project successes, and how your experience aligns directly with the team's immediate operational needs.
Sanmina Software Engineer candidate reports ↗What topics does Sanmina test in interviews?
Sanmina interviews most often cover Problem Solving, Program Management, Systems Engineering, Stakeholder Management, and Professionalism. The exact emphasis depends on the specific role you apply for.
Sanmina Software Engineer candidate reports ↗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.
- 01Sanmina Software Engineer candidate reports ↗
Company-reported rounds, questions and FAQ.
Candidate reports · Accessed 2026-09-22 - 02PracHub Software Engineer practice ↗
PracHub practice material, not company-reported.
PracHub page · Accessed 2026-09-22 - 03PracHub preparation framework ↗
PracHub preparation guidance.
PracHub page · Accessed 2026-09-22