Summary
I successfully interviewed for a Technology Summer Intern position at Barclays, which involved an online assessment, a business insights round, and a technical round, ultimately resulting in an offer.
Full Experience
I recently interviewed for the Technology Summer Intern position at Barclays. The entire process was conducted virtually and consisted of three distinct rounds.
Online Assessment (2 hours)
The online assessment was divided into two parts. Part 1 presented a fictitious business narrative, followed by a series of MCQs based on various given situations. Part 2 comprised 5 technical comprehension-based questions (20 minutes), 8 behavioral video questions (2.5 minutes each), and a programming question (30 minutes). For the programming question, I was also required to explain my code and record the explanation within 2 minutes.
Interview Round I (Business Insights) (45 minutes)
In this initial interview round, the interviewer primarily focused on the projects I had listed on my resume. Following this discussion, we engaged in a Q&A session centered around a real-world business situation. The questions were highly technical, exploring how my projects and skills could be relevant and useful in addressing that specific scenario.
Interview Round II (Technical) (1 hour)
This round delved into a wide range of technical topics:
- Operating Systems (OS): Questions covered the definition of an OS, its core functions, and detailed concepts such as scheduling, memory management, and file management.
- Object-Oriented Programming (OOPs): The discussion included inheritance, with a request for real-life examples, and exception handling.
- C++: Questions about C++ libraries, its advantages over other programming languages, the Standard Template Library (STL) in C++, and primitive data types with examples.
- Data Structures & Algorithms (DSA): I was asked about the differences between Depth-First Search (DFS) and Breadth-First Search (BFS), their implementations, and real-life applications. We also discussed the distinctions between LinkedLists, arrays, queues, and stacks, along with their time complexities for insertion, search, and deletion. Additionally, I was asked about various searching algorithms I knew and why binary search is generally considered superior to ternary search.
- DS related real-life questions:
- A scenario where I needed to manage a long list of characters, ensuring constant-time insertion and the ability to access the entire list/word without a loop. The hint provided suggested using a string, noting that
cincould handle large inputs. - Another problem involved maintaining a list of student names and marks, continuously sorted by their marks. The hint here was to use a
vector of pair, which could then be sorted using a custom comparator function.
- A scenario where I needed to manage a long list of characters, ensuring constant-time insertion and the ability to access the entire list/word without a loop. The hint provided suggested using a string, noting that
- Behavioral: Standard questions about my strengths, weaknesses, and how my values aligned with Barclays' principles.
During the interview, I was also asked about computer networks and DBMS, and I honestly stated that I had not studied these subjects. Ultimately, I received an internship offer from Barclays!
Interview Questions (8)
Given a set of characters, print all possible combinations of a specified length.
Discuss the definition of an Operating System, its core functions, and explain fundamental concepts like Scheduling, Memory management, and File management.
Explain inheritance with real-life examples and discuss the principles and implementation of exception handling in Object-Oriented Programming.
Discuss common libraries in C++, the advantages of using C++ over other programming languages, the Standard Template Library (STL) in C++, and define primitive data types with illustrative examples.
Explain the differences between Depth-First Search (DFS) and Breadth-First Search (BFS), describe their implementations, and provide real-life examples. Discuss the distinctions between LinkedLists, arrays, queues, and stacks, including their time complexities for insertion, search, and deletion. Additionally, describe various searching algorithms you know and explain why binary search is generally preferred over ternary search.
Design a data structure or approach for managing a long list of characters where insertion takes constant time, and the entire list/word can be accessed without needing a loop. (Hint: Consider using a string, potentially with cin for handling large inputs).
Given names and marks of students, describe an approach to efficiently maintain this list continuously sorted with respect to their marks.
Discuss your personal strengths and weaknesses, and explain how your values and professional conduct align with Barclays' core principles and organizational culture.
Preparation Tips
I attribute my success in securing the internship to thorough preparation using LeetCode. A key takeaway from my experience is the importance of being honest and transparent with the interviewer. For instance, when I was asked about subjects like computer networks and DBMS, I openly admitted that I hadn't studied them, rather than attempting to make random guesses. This honesty seemed to be appreciated.
Summary
I successfully secured a Technology Summer Intern offer at Barclays after a virtual interview process consisting of an online assessment and two interview rounds, which evaluated my project work, technical knowledge across OS, OOP, C++, DSA, and behavioral skills.
Full Experience
Online Assessment (2 hours)
The online assessment was divided into two parts. Part 1 featured a fictitious business narrative followed by a series of MCQs based on given situations. Part 2 included 5 technical comprehension-based questions (20 minutes), 8 behavioral video questions (2.5 minutes each), and a programming question: to print all combinations of a given length from given characters. I was also required to explain and record the explanation of my code within 2 minutes.
Interview Round-I (Business Insights) (45 minutes)
This round began with the interviewer asking me about the projects mentioned in my resume. Following this, we engaged in a Q&A session centered on a real-world situation, where the questions were strictly from a technical perspective and focused on how my projects could be beneficial in that context.
Interview Round-II (Technical) (1 hour)
This round covered a broad range of technical topics:
- OS: Questions included 'What is an OS?', its functions, and specifics about Scheduling, Memory Management, and File Management.
- OOPs: I was asked about Inheritance with real-life examples and Exception Handling.
- C++: Topics covered Libraries in C++, advantages of using C++ over other languages, STL in C++, Primitive data types, and examples.
- DSA: I discussed the differences between DFS and BFS, their implementations, and real-life examples. I also covered the differences between LinkedList, array, queue, and stack, along with their time complexities for insertion, search, and deletion. Lastly, I was asked about various searching algorithms and why binary search is preferred over ternary search.
- DS related real-life questions:
- I was presented with a scenario involving a long list of characters where insertion needed to be constant time, and the entire list/word needed to be accessible without a loop. The hint suggested considering a string, accessible via
cin, even for large sizes. - Another problem involved maintaining a list of student names and marks, constantly sorted by marks. The hint guided towards using a vector of pairs, sorted using a comparator function.
- I was presented with a scenario involving a long list of characters where insertion needed to be constant time, and the entire list/word needed to be accessible without a loop. The hint suggested considering a string, accessible via
- Behavioral: I discussed my strengths, weaknesses, and my understanding of Barclays principles.
Finally, I received an internship offer from Barclays!
Interview Questions (10)
Given a set of characters, print all possible combinations of a specified length from these characters.
Explain what an Operating System is, its core functions. Detail concepts like Scheduling, Memory management, and File management.
Discuss Inheritance with real-life examples and explain Exception handling.
Discuss libraries in C++, the advantages of C++ over other languages, STL in C++, and primitive data types with examples.
Explain the differences between Depth-First Search (DFS) and Breadth-First Search (BFS), discuss their implementations, and provide real-life examples of their use.
Explain the differences between LinkedList, array, queue, and stack. Discuss their time complexities for insertion, search, and deletion operations.
Discuss known searching algorithms and explain why binary search is generally preferred over ternary search.
Given a long list of characters, describe a data structure where insertion takes constant time, and the entire list/word can be accessed without explicit loops (e.g., using cin for input, considering large sizes). (Hint: consider std::string).
Given names and marks of students, describe a method to maintain this list consistently sorted with respect to the students' marks.
Discuss your strengths and weaknesses. Also, demonstrate your understanding and alignment with Barclays' principles.
Preparation Tips
I attribute my success in securing the internship offer at Barclays significantly to the extensive preparation I did using LeetCode, which proved to be an invaluable resource.