# Software Engineer
**Role:** Software Engineer · **Level:** L3
**Company:** [CRED](https://scaleengineer.com/companies/cred)
**Difficulty:** Medium
**Salary:** US$100000 - US$150000
**Experience:** 1 - 3
**Timeline:** ~7 days
The Software Engineer L3 interview at CRED is designed to assess a candidate's foundational knowledge in computer science, problem-solving abilities, and cultural fit within the company. It typically involves a mix of technical and behavioral rounds to evaluate a candidate's potential to contribute to CRED's innovative and fast-paced environment.
Canonical: https://scaleengineer.com/interviews/cred/l3-software-engineer
---
## Overall evaluation

- Technical Skills
- Behavioral Fit

## Questions asked

- Write a function to reverse a linked list.
- Given an array of integers, find the two numbers that add up to a specific target.
- Explain the difference between a process and a thread.
- Describe a situation where you had to handle a conflict within a team.
- How would you design a URL shortener?
- What are the ACID properties of a database transaction?
- Tell me about a time you failed and what you learned from it.
- How do you stay updated with new technologies?

## Preparation tips

### lists

- Brush up on fundamental data structures and algorithms (Arrays, Linked Lists, Trees, Graphs, Hash Tables, Sorting, Searching).
- Practice coding problems on platforms like LeetCode, HackerRank, or GeeksforGeeks, focusing on medium-difficulty problems.
- Understand core computer science concepts like operating systems, databases, and networking.
- Prepare for behavioral questions by reflecting on your past experiences using the STAR method (Situation, Task, Action, Result).
- Research CRED's products, mission, values, and recent news.
- Be ready to discuss your resume and projects in detail.
- Prepare questions to ask the interviewer about the role, team, and company culture.

### studyPlan

- {"title":"Data Structures","longDescription":"Week 1-2: Focus on Data Structures (Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash Maps) and their common operations and time complexities. Practice problems related to each data structure.","shortDescription":"Weeks 1-2: Data Structures & Operations. Practice problems."}
- {"title":"Algorithms","longDescription":"Week 3-4: Dive into Algorithms (Sorting, Searching, Recursion, Dynamic Programming, Greedy Algorithms). Understand their applications and practice solving problems using these algorithms.","shortDescription":"Weeks 3-4: Algorithms (Sorting, Searching, DP, Greedy). Solve problems."}
- {"title":"Computer Science Fundamentals","longDescription":"Week 5: Review fundamental Computer Science concepts like Operating Systems (processes, threads, memory management), Databases (SQL, ACID properties), and Networking (TCP/IP, HTTP).","shortDescription":"Week 5: CS Fundamentals (OS, DB, Networking)."}
- {"title":"Behavioral Preparation","longDescription":"Week 6: Prepare for behavioral questions. Reflect on your experiences and prepare stories using the STAR method for common behavioral prompts (teamwork, leadership, problem-solving, failure). Research CRED's values.","shortDescription":"Week 6: Behavioral Prep (STAR method, CRED values)."}
- {"title":"Mock Interviews & Review","longDescription":"Week 7: Mock interviews and final review. Practice coding problems under timed conditions and refine your answers to behavioral questions. Prepare insightful questions for the interviewers.","shortDescription":"Week 7: Mock Interviews & Final Review."}

## Location differences

- {"location":"Bangalore","differences":{"tips":["Research CRED's presence and impact in the specific region.","Be prepared to discuss how your skills align with local business needs."],"interviewFocus":["Adaptability to local market trends","Understanding of regional user behavior"],"commonQuestions":["Discuss a challenging bug you fixed in a production environment.","How do you approach learning a new technology?","Describe a time you had to work with a difficult team member."]}}
- {"location":"Remote","differences":{"tips":["Highlight experience with international teams or projects.","Showcase your ability to adapt to diverse work environments."],"interviewFocus":["Understanding of global technology trends","Cross-cultural collaboration skills"],"commonQuestions":["Tell me about a project where you had to deal with ambiguity.","How do you prioritize your work when faced with multiple urgent tasks?","Describe a situation where you disagreed with a technical decision and how you handled it."]}}

## Round 1: Coding and Algorithms
**Type:** Technical Interview (Coding) · **Difficulty:** Medium · **Duration:** 45 min
Coding round to test problem-solving and data structures/algorithms.
This round focuses on assessing your fundamental programming skills and problem-solving abilities. You will be asked to solve one or two coding problems, typically involving data structures and algorithms. The interviewer will evaluate your approach to solving the problem, the efficiency of your solution, and the quality of your code. You'll be expected to explain your thought process and discuss trade-offs.
**Interviewers look for:** Logical thinking; Algorithmic proficiency; Clean and efficient code; Ability to communicate technical ideas
**Evaluation criteria:** Correctness of the solution; Efficiency of the solution (time and space complexity); Code clarity and readability; Problem-solving approach; Ability to handle edge cases
**Common rejection reasons:** Inability to articulate thought process clearly; Poor coding practices (e.g., unreadable code, lack of error handling); Incorrect or inefficient solutions to coding problems
## Questions

- Given a string, find the first non-repeating character.
- Implement a function to check if a binary tree is a Binary Search Tree (BST).

## Preparation tips

- Practice coding on a whiteboard or a simple text editor.
- Think out loud and explain your approach before coding.
- Consider edge cases and test your code mentally.
- Be prepared to discuss the time and space complexity of your solution.

## Round 2: CS Fundamentals & System Design
**Type:** Technical Interview (CS Fundamentals & System Design) · **Difficulty:** Medium · **Duration:** 45 min
Tests CS fundamentals and basic system design thinking.
This round delves into your understanding of fundamental computer science principles such as operating systems, databases, and networking. Depending on the level, you might also be asked basic system design questions to gauge your ability to think about how software systems are built and scaled. The focus is on your theoretical knowledge and how you apply it.
**Interviewers look for:** Foundational computer science knowledge; Understanding of how systems work; Ability to think about scalability and trade-offs
**Evaluation criteria:** Understanding of core CS concepts (OS, DB, Networking); Ability to explain technical concepts; Knowledge of system design principles; Scalability and performance considerations
**Common rejection reasons:** Lack of understanding of core CS concepts; Inability to explain fundamental concepts clearly; Not being able to relate theoretical knowledge to practical scenarios
## Questions

- Explain the difference between TCP and UDP.
- What is a database index and why is it used?
- How would you design a simple API for a to-do list application?

## Preparation tips

- Review concepts like processes vs. threads, memory management, SQL queries, database indexing, HTTP protocols, and TCP/IP.
- Understand basic system design components like load balancers, databases, caches, and APIs.
- Be ready to discuss trade-offs in system design choices.

## Round 3: Behavioral and Cultural Fit
**Type:** Behavioral Interview · **Difficulty:** Easy · **Duration:** 30 min
Assesses behavioral aspects, teamwork, and cultural fit.
This is a behavioral interview where the focus is on understanding your past experiences, how you handle different situations, and your overall personality. You'll be asked questions about teamwork, leadership, conflict resolution, and how you've dealt with challenges. The goal is to assess your cultural fit and ensure you align with CRED's values and work environment.
**Interviewers look for:** How you handle challenges; Your ability to work in a team; Your motivation and passion; Alignment with CRED's values
**Evaluation criteria:** Communication skills; Teamwork and collaboration; Problem-solving approach in past experiences; Motivation and career goals; Cultural fit with CRED
**Common rejection reasons:** Poor communication skills; Lack of self-awareness; Negative attitude or lack of enthusiasm; Mismatch with company culture and values
## Questions

- Tell me about a time you had to work with a difficult colleague.
- Describe a project you are particularly proud of and your role in it.
- Why are you interested in working at CRED?

## Preparation tips

- Prepare examples using the STAR method for common behavioral questions.
- Be honest and authentic in your responses.
- Show enthusiasm for the role and the company.
- Ask thoughtful questions about the team and culture.
