Software Engineer

Software EngineerGMedium to Hard

This interview process is for a Software Engineer role at BP at the G level. It is designed to assess technical skills, problem-solving abilities, and cultural fit within the company.

Rounds·3

Timeline·~14d

Experience·3 - 7 yrs

Comp band·US$110000 - US$150000

Interview time·150 min

Evaluation

What they measure.

  • Problem-solving skills
  • Technical proficiency (coding, algorithms, data structures)
  • System design capabilities
  • Communication skills
  • Teamwork and collaboration
  • Cultural fit and alignment with BP values

Preparation

How to prepare.

Tips

  1. Review fundamental computer science concepts (data structures, algorithms, operating systems, databases).
  2. Practice coding problems on platforms like LeetCode, HackerRank, or similar.
  3. Understand common software design patterns and principles (SOLID, DRY, KISS).
  4. Prepare to discuss your past projects in detail, focusing on your contributions and the challenges faced.
  5. Research BP's mission, values, and recent technological initiatives.
  6. Prepare questions to ask the interviewer about the role, team, and company culture.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures and Algorithms

Weeks 1-2: DSA fundamentals and practice.

Weeks 1-2: Focus on Data Structures and Algorithms. Cover arrays, linked lists, trees, graphs, hash tables, sorting, searching, and dynamic programming. Practice at least 5-10 problems per topic.

Questions

Commonly asked.

  • Describe a complex technical challenge you faced and how you overcame it.
  • How would you design a URL shortening service?
  • What are the trade-offs between SQL and NoSQL databases?
  • Tell me about a time you disagreed with a team member. How did you resolve it?
  • Write a function to find the kth largest element in an unsorted array.
  • How do you ensure code quality and maintainability?
  • What is your experience with cloud computing platforms?
  • Describe a project you are particularly proud of and your role in it.
  • How do you handle tight deadlines and pressure?
  • Explain the concept of RESTful APIs.

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

London, UK

Interview focus

Understanding of local market technology trends.Adaptability to regional work culture.Familiarity with specific regional compliance or regulations.

Common questions

  • Tell me about a time you had to deal with a legacy system.
  • How do you approach code reviews?
  • Describe a challenging technical problem you solved recently.

Tips

  • Research BP's operations and projects in this specific region.
  • Be prepared to discuss how your skills align with local business needs.
  • Highlight any experience working with diverse, international teams.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

Med

Technical Screening (Coding) · 45 min · Technical Screener / Junior Engineer

This initial round focuses on assessing your foundational technical skills. You will be asked to solve coding problems, typically involving data structures and algorithms. The interviewer will evaluate your problem-solving approach, coding style, and understanding of fundamental computer science concepts. Expect to explain your thought process and justify your solutions.

What they look for

Clear and structured approach to problem-solving.Ability to write clean, efficient, and correct code.Understanding of time and space complexity.Good communication of thought process.

Evaluation

  • Problem-solving approach
  • Coding proficiency
  • Understanding of data structures and algorithms
  • Logical thinking

Sample questions

  • Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    ArrayHash TableTwo Pointers
  • Reverse a linked list.

    Linked ListRecursionIteration
  • Find the middle element of a linked list.

    Linked ListTwo Pointers

Prep for this round

  1. 01Practice coding problems focusing on common data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming).
  2. 02Be comfortable explaining your code and its complexity (Big O notation).
  3. 03Practice writing code on a whiteboard or in a shared editor without relying on IDE features.

Common rejection reasons

  • ×Inability to articulate thought process.
  • ×Poor understanding of fundamental data structures and algorithms.
  • ×Difficulty in solving basic coding problems.
  • ×Lack of clarity in communication.

DSA

Coding questions at BP.

Frequently reported on BP loops

Other guides

More at BP.