# Software Engineer
**Role:** Software Engineer · **Level:** Software Engineer
**Company:** [Applied Intuition](https://scaleengineer.com/companies/applied-intuition)
**Difficulty:** Medium to Hard
**Salary:** US$100000 - US$180000
**Experience:** 0 - 10
**Timeline:** ~14 days
Applied Intuition's Software Engineer interview process is designed to assess a candidate's technical skills, problem-solving abilities, and cultural fit. The process typically involves several rounds, starting with an initial HR screening, followed by technical interviews focusing on data structures, algorithms, and system design, and concluding with a behavioral or managerial interview.
Canonical: https://scaleengineer.com/interviews/applied-intuition/software-engineer-software-engineer
---
## Overall evaluation

- Technical Skills
- Communication Skills
- Teamwork and Cultural Fit

## Questions asked

- Write a function to reverse a linked list.
- Given an array of integers, find the contiguous subarray with the largest sum.
- Design a system to handle real-time traffic data for a city.
- How would you optimize a slow database query?
- Tell me about a time you had to deal with ambiguity in a project.
- What are your thoughts on the future of autonomous driving?
- Describe a situation where you had to influence a decision.
- How do you stay updated with new technologies?

## Preparation tips

### lists

- Review fundamental computer science concepts: data structures (arrays, linked lists, trees, graphs, hash maps), algorithms (sorting, searching, graph traversal), and time/space complexity analysis (Big O notation).
- Practice coding problems on platforms like LeetCode, HackerRank, or Coderbyte, focusing on medium to hard difficulty.
- Study system design principles: scalability, reliability, availability, consistency, databases (SQL vs. NoSQL), caching, load balancing, message queues, and API design.
- Understand the domain of autonomous vehicles and simulation technology, if possible.
- Prepare to discuss your resume in detail, highlighting your accomplishments and the impact of your work.
- Practice behavioral questions using the STAR method (Situation, Task, Action, Result).
- Research Applied Intuition's products, mission, and values to tailor your answers and demonstrate genuine interest.

### studyPlan

- {"title":"Data Structures and Algorithms","longDescription":"Weeks 1-2: Focus on Data Structures and Algorithms. Cover arrays, linked lists, stacks, queues, trees (binary trees, BSTs, heaps), graphs, hash tables. Practice common algorithms like sorting (quicksort, mergesort), searching (binary search), graph traversals (BFS, DFS), dynamic programming, and greedy algorithms. Aim to solve 2-3 problems per day, focusing on understanding the underlying concepts and optimizing for time and space complexity.","shortDescription":"Weeks 1-2: Data Structures & Algorithms. Practice 2-3 problems daily."}
- {"title":"System Design","longDescription":"Weeks 3-4: Dive into System Design. Study concepts like designing scalable web applications, microservices architecture, database design (SQL and NoSQL), caching strategies, load balancing, message queues, and API design. Work through common system design interview questions (e.g., design Twitter, design a URL shortener). Understand trade-offs between different design choices.","shortDescription":"Weeks 3-4: System Design. Study scalability, databases, caching."}
- {"title":"Behavioral and Domain Knowledge","longDescription":"Week 5: Behavioral Preparation and Domain Knowledge. Prepare answers to common behavioral questions using the STAR method. Research Applied Intuition's work in autonomous driving and simulation. Understand the company's mission, values, and recent news. Practice articulating your career goals and why you are interested in this specific role.","shortDescription":"Week 5: Behavioral prep & domain knowledge. Research Applied Intuition."}
- {"title":"Mock Interviews and Review","longDescription":"Week 6: Mock Interviews and Review. Conduct mock interviews with peers or mentors, covering both technical and behavioral aspects. Review challenging concepts or areas where you feel less confident. Refine your answers and ensure you can clearly explain your thought process.","shortDescription":"Week 6: Mock interviews and review. Focus on weak areas."}

## Location differences

- {"location":"Remote","differences":{"tips":["Research the specific office culture if applicable.","Be prepared to discuss projects relevant to the local market.","Highlight cross-cultural collaboration experience."],"interviewFocus":["Adaptability to different work cultures.","Communication style in a diverse team.","Understanding of local market trends and expectations."],"commonQuestions":["Tell me about a challenging project you worked on.","How do you handle tight deadlines?","Describe a time you disagreed with a teammate.","What are your strengths and weaknesses?","Why Applied Intuition?"]}}
- {"location":"On-site (Specific office locations may have slight variations in emphasis)","differences":{"tips":["Brush up on core computer science fundamentals (data structures, algorithms).","Review system design principles and common architectural patterns.","Familiarize yourself with the technologies and domains relevant to Applied Intuition (e.g., simulation, autonomous vehicles, machine learning).","Prepare to discuss your past projects in detail, focusing on your contributions and the impact of your work."],"interviewFocus":["Deep technical expertise in software development principles.","Problem-solving skills related to simulation and autonomous systems.","System design capabilities for scalable and reliable software.","Proficiency in relevant programming languages and tools."],"commonQuestions":["Describe your experience with autonomous driving technology.","How would you design a system for real-time data processing in a simulation environment?","What are the trade-offs between different database technologies for large-scale data storage?","Explain the concept of continuous integration and continuous deployment (CI/CD).","How do you approach debugging complex software issues?"]}}

## Round 1: Data Structures and Algorithms
**Type:** Technical Interview (Coding) · **Difficulty:** Medium · **Duration:** 45 min
Coding exercise focusing on data structures and algorithms.
This round typically involves a coding exercise, often conducted via a shared online editor. The interviewer will present a problem that requires the application of data structures and algorithms. You'll be expected to write code to solve the problem, explain your approach, discuss its time and space complexity, and handle edge cases. The focus is on your fundamental programming skills and problem-solving abilities.
**Interviewers look for:** Clean, efficient, and correct code.; Clear explanation of the solution.; Ability to identify and discuss time/space complexity.; Consideration of edge cases.
**Evaluation criteria:** Coding proficiency.; Understanding of data structures and algorithms.; Problem-solving approach.; Ability to explain code and logic.
**Common rejection reasons:** Poor communication of thought process.; Inability to solve basic coding problems.; Lack of understanding of fundamental data structures and algorithms.
## Questions

- Given a binary tree, find its inorder traversal.
- Implement a function to find the kth smallest element in an unsorted array.

## Preparation tips

- Practice coding problems on platforms like LeetCode.
- Focus on understanding the 'why' behind different data structures and algorithms.
- Practice explaining your thought process out loud while coding.
- Be prepared to discuss trade-offs of different solutions.

## Round 2: System Design
**Type:** System Design Interview · **Difficulty:** Hard · **Duration:** 60 min
Design a scalable software system based on a given problem statement.
This round assesses your ability to design and architect software systems. You'll be given an open-ended problem (e.g., 'Design Twitter', 'Design a ride-sharing service') and expected to propose a high-level design. This includes defining requirements, outlining system components, discussing data models, API design, scalability considerations, and potential trade-offs. The focus is on your ability to think critically about complex systems.
**Interviewers look for:** A structured approach to problem-solving.; Ability to break down complex problems.; Consideration of various system components (databases, APIs, caching, etc.).; Justification for design choices.; Awareness of potential bottlenecks and failure modes.
**Evaluation criteria:** System design capabilities.; Understanding of scalability, reliability, and performance.; Ability to make reasoned trade-offs.; Knowledge of distributed systems concepts.; Clarity of communication.
**Common rejection reasons:** Inability to design scalable systems.; Poor understanding of trade-offs.; Lack of clarity in explaining design choices.; Not considering failure scenarios or bottlenecks.
## Questions

- Design a URL shortening service like bit.ly.
- Design a system to recommend articles to users on a news website.

## Preparation tips

- Study common system design patterns and architectures.
- Understand concepts like CAP theorem, eventual consistency, and ACID properties.
- Practice designing various types of systems.
- Be prepared to discuss trade-offs between different technologies and approaches.

## Round 3: Behavioral Interview
**Type:** Behavioral / Managerial Interview · **Difficulty:** Medium · **Duration:** 45 min
Assesses behavioral competencies, cultural fit, and motivation.
This round focuses on your behavioral aspects and how you align with the company culture. You'll be asked questions about your past experiences, how you handle specific situations (e.g., conflict resolution, dealing with failure, leadership), and your motivations. The interviewer aims to understand your working style, your ability to collaborate, and your overall fit within the team and company.
**Interviewers look for:** Honesty and self-awareness.; Examples of collaboration and teamwork.; Ability to handle challenges and learn from mistakes.; Enthusiasm for the role and company.; Good communication and interpersonal skills.
**Evaluation criteria:** Behavioral competencies (teamwork, communication, problem-solving).; Alignment with company values.; Motivation and career aspirations.; Past experiences and learning.; Cultural fit.
**Common rejection reasons:** Poor cultural fit.; Lack of enthusiasm or interest.; Inability to articulate past experiences effectively.; Negative attitude or lack of self-awareness.
## Questions

- Tell me about a time you faced a significant technical challenge and how you overcame it.
- Describe a situation where you had to work with a difficult colleague.
- What are your long-term career goals?

## Preparation tips

- Prepare examples using the STAR method for common behavioral questions.
- Reflect on your strengths, weaknesses, and career goals.
- Think about why you are interested in Applied Intuition and this specific role.
- Be ready to ask thoughtful questions about the team, role, and company culture.
