Software Engineer

Software EngineerIMedium

This interview process is for a Software Engineer (Level I) position at BP. It is designed to assess a candidate's technical skills, problem-solving abilities, and cultural fit within the company.

Rounds·3

Timeline·~14d

Experience·1 - 3 yrs

Comp band·US$85000 - US$110000

Interview time·150 min

Evaluation

What they measure.

  • Technical proficiency in core programming languages and data structures.
  • Problem-solving and analytical skills.
  • Ability to design and implement efficient algorithms.
  • Understanding of software development best practices (e.g., testing, version control).

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 BP's business and its role in the energy sector.
  4. Prepare to discuss your past projects and experiences in detail, focusing on your contributions and learnings.
  5. Research common behavioral interview questions and prepare STAR method (Situation, Task, Action, Result) answers.
  6. Familiarize yourself with the technologies commonly used at BP (e.g., Java, Python, C++, cloud platforms like Azure/AWS).

Study plan

Fig · Study plan — 03 phases

01 / 03
01

Phase 01 of 03

Data Structures and Algorithms

Weeks 1-2: Data Structures & Algorithms fundamentals. Practice implementation and complexity analysis.

Weeks 1-2: Focus on core data structures (arrays, linked lists, trees, graphs, hash tables) and algorithms (sorting, searching, dynamic programming, graph traversal). Practice implementing these in your preferred language. Understand time and space complexity (Big O notation).

Questions

Commonly 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 work under a tight deadline.
  • How would you design a URL shortening service?
  • What are your strengths and weaknesses?
  • Tell me about a time you disagreed with a team member.

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

London

Interview focus

Adaptability and resilience in project execution.Stakeholder management and communication.Time management and prioritization skills.

Common questions

  • Tell me about a time you had to deal with a difficult stakeholder.
  • Describe a project where you had to adapt to changing requirements.
  • How do you prioritize your work when faced with multiple deadlines?

Tips

  • Highlight experiences where you successfully navigated ambiguity.
  • Provide specific examples of effective communication with diverse teams.
  • Emphasize your ability to deliver under pressure.

Rounds

Round-by-round.

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

Med

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

This is typically the first technical screening round. It focuses on fundamental data structures and algorithms. You will be asked to solve one or two coding problems, usually on a shared online editor. The interviewer will assess your ability to understand the problem, devise an efficient solution, write clean code, and explain your approach.

What they look for

Strong grasp of data structures and algorithms.Logical thinking and systematic problem-solving.Ability to translate a problem into code.Clear communication of technical concepts.

Evaluation

  • Correctness of the solution.
  • Efficiency of the algorithm (time and space complexity).
  • Code quality and readability.
  • Ability to explain the solution and trade-offs.

Sample questions

  • Implement a function to find the kth smallest element in an unsorted array.

    ArraySortingQuickSelect
  • Given a binary tree, determine if it is a valid Binary Search Tree.

    TreeBinary Search TreeRecursion

Prep for this round

  1. 01Practice coding problems extensively.
  2. 02Be prepared to explain your thought process step-by-step.
  3. 03Test your code with edge cases.
  4. 04Ask clarifying questions if the problem statement is unclear.

Common rejection reasons

  • ×Inability to articulate thought process clearly.
  • ×Lack of fundamental programming knowledge.
  • ×Poor problem-solving approach.
  • ×Inability to write clean, working code.

DSA

Coding questions at BP.

Frequently reported on BP loops

Other guides

More at BP.