I was contacted by an engineering manager for an initial chat about an iOS Software Engineer position. This was followed by coordination from a recruiter who scheduled three virtual onsite interviews (one hour each).
The recruiter’s email outlined three rounds: two coding interviews (medium-level, algorithmic style) and one system design session. However, the actual interviews consisted of Xcode-based coding exercises, where I was asked to share my screen and work through scenarios.
The first interview began simply but escalated into increasingly complex scenarios involving threading and asynchronous behavior, ultimately leading to a discussion about publisher-based design approaches.
The second round was more straightforward and well-structured.
The third round involved unit testing an undocumented Combine-based class, including uncertainty around whether to refactor the provided code or create a new mock network service. Some methods also directly mutated models, which added to the complexity and ambiguity.
Overall, the first round had clear expectations and was technically rigorous. The interviewer was direct and assertive but ultimately helpful and informative. The last round, however, felt ambiguous and discouraging, with shifting expectations and limited clarity on what changes were allowed. Clearer guidance and better alignment with the outlined interview format would greatly improve the overall candidate experience.
Practical exercises with challenging code and unit testing under time pressure.
The following metrics were computed from 208 interview experiences for the Walmart Software Engineer role.
Walmart's interview process for their Software Engineer roles is very selective, failing most engineers who go through it.
Candidates reported having good feelings for Walmart's Software Engineer interview process.