# Software Engineer
**Role:** Software Engineer · **Level:** SDE II
**Company:** [InMobi](https://scaleengineer.com/companies/inmobi)
**Difficulty:** Medium to Hard
**Salary:** US$110000 - US$150000
**Experience:** 3 - 6
**Timeline:** ~7 days
This interview process is for the Software Engineer (SDE II) role at InMobi. It is designed to assess a candidate's technical proficiency, problem-solving skills, and cultural fit within the company.
Canonical: https://scaleengineer.com/interviews/inmobi/sde-ii-software-engineer
---
## Overall evaluation

- Technical Skills
- Communication
- Cultural Fit

## Questions asked

- Given an array of integers, find the contiguous subarray with the largest sum.
- Design a URL shortening service like bit.ly.
- How would you design a news feed system?
- Explain the difference between SQL and NoSQL databases.
- Describe a time you faced a technical challenge and how you overcame it.
- What are your strengths and weaknesses?
- Why are you interested in InMobi?

## Preparation tips

### lists

- Brush up on fundamental data structures and algorithms.
- Practice coding problems on platforms like LeetCode, HackerRank, or GeeksforGeeks.
- Review system design principles and common architectural patterns.
- Prepare to discuss your past projects in detail, focusing on your contributions and learnings.
- Understand InMobi's business, products, and values.
- Prepare for behavioral questions using the STAR method (Situation, Task, Action, Result).
- Be ready to ask insightful questions about the role, team, and company.

### studyPlan

- {"title":"Data Structures and Algorithms","longDescription":"Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash Tables) and algorithms (Sorting, Searching, Dynamic Programming, Greedy Algorithms). Practice implementing these in your preferred language.","shortDescription":"Weeks 1-2: Data Structures & Algorithms fundamentals. Practice implementation."}
- {"title":"System Design","longDescription":"Weeks 3-4: Dive into system design concepts. Study topics like scalability, availability, reliability, databases (SQL vs. NoSQL), caching, load balancing, and microservices. Work through common system design interview questions.","shortDescription":"Weeks 3-4: System Design principles and common patterns. Practice design questions."}
- {"title":"Behavioral and Company Fit","longDescription":"Week 5: Prepare for behavioral and situational questions. Reflect on your past experiences and prepare examples using the STAR method. Understand InMobi's mission and values.","shortDescription":"Week 5: Behavioral questions (STAR method) and company research."}
- {"title":"Mock Interviews and Review","longDescription":"Week 6: Mock interviews. Practice coding and system design problems under timed conditions. Get feedback from peers or mentors. Review any weak areas identified.","shortDescription":"Week 6: Mock interviews and final review."}

## Location differences

- {"location":"Bangalore, India","differences":{"tips":["Research InMobi's presence and impact in the specific region.","Be prepared to discuss how your skills align with local business needs."],"interviewFocus":["Adaptability to local work culture and team dynamics.","Understanding of regional market trends and user behavior (if applicable)."],"commonQuestions":["Discuss a challenging project you worked on and how you overcame obstacles.","How do you handle tight deadlines and pressure?","Describe a time you disagreed with a team member and how you resolved it."]}}
- {"location":"San Francisco, USA","differences":{"tips":["Highlight experience working with international teams.","Showcase your ability to adapt to different time zones and communication styles."],"interviewFocus":["Cross-cultural communication and collaboration.","Experience with global product development and diverse user bases."],"commonQuestions":["Tell me about a time you had to influence a decision within your team.","How do you stay updated with the latest technology trends?","Describe your experience with remote collaboration tools and best practices."]}}

## Round 1: Data Structures and Algorithms Round
**Type:** Technical Interview - Data Structures and Algorithms · **Difficulty:** Medium · **Duration:** 45 min
Coding problems focusing on DSA.
This round focuses on your fundamental data structures and algorithms knowledge. You will be asked to solve coding problems, typically involving arrays, strings, trees, graphs, or dynamic programming. The interviewer will assess your ability to analyze the problem, devise an efficient solution, and implement it cleanly in code.
**Interviewers look for:** Logical thinking; Ability to translate requirements into code; Understanding of time and space complexity
**Evaluation criteria:** Correctness of the solution; Efficiency of the solution (time and space complexity); Code readability and maintainability; Problem-solving approach
**Common rejection reasons:** Inability to articulate thought process.; Poor coding practices.; Fundamental gaps in DSA knowledge.
## Questions

- Reverse a linked list.
- Find the kth smallest element in a binary search tree.
- Implement a function to check if a binary tree is a valid Binary Search Tree.

## Preparation tips

- Practice coding on a whiteboard or a simple text editor.
- Think out loud and explain your approach before coding.
- Test your code with edge cases.

## Round 2: System Design Round
**Type:** Technical Interview - System Design · **Difficulty:** Hard · **Duration:** 60 min
Design scalable and reliable systems.
This round assesses your ability to design scalable, reliable, and maintainable software systems. You will be presented with a high-level problem (e.g., designing a social media feed, a URL shortener, or a distributed cache) and expected to discuss various aspects of the design, including data modeling, API design, component interactions, and scalability strategies.
**Interviewers look for:** Ability to design complex systems; Understanding of distributed systems concepts; Pragmatic approach to problem-solving
**Evaluation criteria:** Scalability of the design; Availability and reliability considerations; Choice of appropriate technologies and data stores; Trade-off analysis; Clarity of the design
**Common rejection reasons:** Lack of understanding of distributed systems.; Inability to design scalable and reliable systems.; Poor trade-off analysis.
## Questions

- Design a system to count unique visitors to a website.
- Design a rate limiter.
- Design a distributed key-value store.

## Preparation tips

- Study common system design patterns.
- Understand trade-offs between different architectural choices.
- Practice designing systems for scale.
- Be prepared to justify your design decisions.

## Round 3: Managerial Round
**Type:** Behavioral and Managerial Interview · **Difficulty:** Medium · **Duration:** 45 min
Behavioral questions and team fit assessment.
This round is conducted by the hiring manager and focuses on your behavioral aspects, career aspirations, and overall fit with the team and InMobi's culture. You'll be asked questions about your past experiences, how you handle challenges, your strengths and weaknesses, and your motivations for joining InMobi. This is also an opportunity for you to ask questions about the team and the role.
**Interviewers look for:** Enthusiasm for the role and company; Ability to work effectively in a team; Self-awareness and growth mindset; Alignment with InMobi's values
**Evaluation criteria:** Communication skills; Teamwork and collaboration; Problem-solving approach; Motivation and passion for technology; Cultural alignment with InMobi
**Common rejection reasons:** Poor communication skills.; Lack of enthusiasm or interest.; Negative attitude.; Mismatch with company values.
## Questions

- Tell me about a time you had to deal with a difficult stakeholder.
- What are your career goals for the next 3-5 years?
- Describe a situation where you had to learn a new technology quickly.

## Preparation tips

- Research InMobi's mission, vision, and values.
- Prepare examples using the STAR method for common behavioral questions.
- Be ready to discuss your career goals and how this role aligns with them.
- Prepare thoughtful questions to ask the interviewer.
