Table of contents
1.
Introduction
2.
Beginner Level BNY Mellon Interview Questions and Answers
2.1.
1. Explain the basic principles of object-oriented programming (OOP). 
2.2.
2. Explain the difference between a stack & a queue.
2.3.
3. What are the main differences between C++ & Java?
2.4.
4. What is the difference between HTTP & HTTPS? 
2.5.
5. Explain the concept of inheritance in OOP. 
2.6.
6. What is a deadlock & how can it be prevented? 
2.7.
7. What are system calls?
2.8.
8. Explain the difference between user mode & kernel mode. 
2.9.
9. What do you understand about the software development lifecycle? 
2.10.
10. What is OutOfMemoryError?
3.
Intermediate Level BNY Mellon Interview Questions and Answers
3.1.
11. What is an IP address & how is it used? 
3.2.
12. How does NAT (Network Address Translation) work? 
3.3.
13. Explain the differences between REST & SOAP APIs.
3.4.
14. Explain how paging & segmentation work in memory management. 
3.5.
15. Implement a function to serialize & deserialize a binary tree. 
3.6.
16. Write a program to find the shortest path in a weighted graph.
3.7.
17. Describe the differences between TCP & UDP protocols.
3.8.
18. Describe the process of a TCP handshake. 
3.9.
19. Implement a stack using arrays/linked lists.
3.10.
20. Implement a function to check if a string is a palindrome. 
4.
Advanced Level BNY Mellon Interview Questions and Answers
4.1.
21. What are the security features in modern operating systems?
4.2.
22. Explain the working principle of a hash table.
4.3.
23. How do you handle database replication & what are its benefits?
4.4.
24. What is a VLAN & how is it used?
4.5.
25. Write a program to find the median of two sorted arrays.
4.6.
26. Describe how the operating system manages I/O operations.
4.7.
27. Explain the concept of sharding in databases along with its benefits and complexities.
4.8.
28. Implement a function to detect & remove loops in a linked list.
4.9.
29. Describe QoS (Quality of Service) & how it is implemented in networking.
4.10.
30. What is a stored procedure & when would you use one?
5.
Conclusion
Last Updated: Jul 2, 2024
Medium

BNY Mellon Interview Questions

Author Riya Singh
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

BNY Mellon is a global investment company offering investment management & investment services. It provides many financial solutions to institutions, corporations & individual investors. For someone who is preparing for BNY Mellon interviews, it's important to have a solid understanding of key computer science & software engineering concepts. 

BNY Mellon Interview Questions

In this article, we'll answer some commonly asked technical interview questions at BNY Mellon with proper explanations to help you succeed.

Beginner Level BNY Mellon Interview Questions and Answers

1. Explain the basic principles of object-oriented programming (OOP). 

Object-oriented programming is a way of writing code that organizes data & functions into reusable objects. The main principles of OOP are:

  • Encapsulation: Bundling data & methods into a single unit (class) & controlling access to the inner workings. 
  • Inheritance: Basing a new class on an existing one, inheriting its attributes & methods. 
  • Polymorphism: Objects can take many forms. A child class can define its own unique behaviors & still share the same functionality as the parent class. 
  • Abstraction: Only exposing essential features of an object & hiding complex details. Helps reduce duplication.

 

2. Explain the difference between a stack & a queue.

StackQueue
LIFO (last in, first out)FIFO (first in, first out)
Push & pop operationsEnqueue & dequeue operations
Insert & delete from the same endInsert from rear, delete from front
e.g. undo/redo, function callse.g. printer jobs, event handling

 

3. What are the main differences between C++ & Java?

C++Java
Compiled directly to machine codeCompiled to bytecode & run on a virtual machine
Manual memory managementAutomatic garbage collection
Multiple inheritanceSingle inheritance
Operator overloadingNo operator overloading
Pointers allowedNo explicit pointers

 

4. What is the difference between HTTP & HTTPS? 

HTTP sends data over the network in plain text, while HTTPS encrypts it using SSL/TLS. HTTPS is more secure, especially for sensitive data like passwords & financial info. HTTPS also authenticates the identity of the website to prevent spoofing attacks. But it requires more processing power on the server & client. Most major websites today use HTTPS by default.

5. Explain the concept of inheritance in OOP. 

Inheritance allows basing a new class on an existing one. The child class inherits attributes & methods from the parent. For example:

public class Animal {
  private String name;
  
  public void eat() {
    System.out.println("I am eating.");
  }
}

public class Cat extends Animal {
  public void meow() {
    System.out.println("Meow!");  
  }
}
You can also try this code with Online Java Compiler
Run Code

 

The Cat class inherits the name attribute & eat() method, but adds its own meow() method. Inheritance promotes code reuse & helps model real-world relationships.

6. What is a deadlock & how can it be prevented? 

A deadlock happens when two or more threads are waiting on each other to release resources, causing the program to hang. To prevent deadlocks, you can:

  • Acquire resources in a fixed order to avoid circular waiting. 
  • Timeout if a resource is unavailable for too long. 
  • Use thread-safe data structures. 
  • Keep locks held for short periods.

7. What are system calls?

System calls are the interface between user-level applications and the operating system kernel. They provide a way for programs to request services and resources from the operating system, such as file I/O, process management, memory allocation, and network communication. System calls act as a bridge between the user space and the kernel space, allowing controlled access to privileged operations.

8. Explain the difference between user mode & kernel mode. 

Here's the difference between user mode & kernel mode:

User Mode

Kernel Mode

Limited access to memory & instructionsUnrestricted access to hardware & memory
Cannot directly access hardware or reference memoryCan execute any CPU instruction & reference any memory address
If a process crashes, it doesn't crash the whole systemIf a process crashes, it can crash the whole system
Examples: user applications, web browsersExamples: OS kernels, device drivers
Less powerful but more secureMore powerful but less secure
Processes are isolated from each otherProcesses can access all system resources
Transitions to kernel mode for privileged operationsRuns privileged code directly
Managed by the OS kernelManages user mode processes

9. What do you understand about the software development lifecycle? 

The SDLC is the process of planning, designing, developing, testing, & deploying software. The main stages are:

  • Requirements gathering: Determine the requirements from stakeholders.
  • Design: Model the architecture, user interface, data structures, etc.
  • Implementation: Write the actual code.
  • Testing: Find & fix bugs. Includes unit, integration, & acceptance testing.
  • Deployment: Install the software in the production environment.
  • Maintenance: Fix issues & add new features over time.

10. What is OutOfMemoryError?

OutOfMemoryError is a runtime exception which occurs in Java. This usually occurs when Java Virtual Machine (JVM) is not able to allocate more memory to create new objects or store data. It's thrown when the heap space is exhausted. This error mainly indicates that the application has consumed all the available memory which thus leads to performance degradation or the application is crashed.

Intermediate Level BNY Mellon Interview Questions and Answers

11. What is an IP address & how is it used? 

An IP address is a unique identifier for a device on a network. There are two standards: IPv4 (32-bit) & IPv6 (128-bit). IPs are used to route data between devices. For example, when you load a website, your device sends a request with the server's IP, & the response is routed back to your device's IP.

Uses of IP addresses are:

  • Identifying devices on a local network
  • Routing data across the Internet
  • Filtering traffic with firewalls
  • Load balancing across servers

 

12. How does NAT (Network Address Translation) work? 

NAT is a way to map multiple private IP addresses to a single public one. It allows devices on a local network to share a public IP when connecting to the Internet. 

Here's how it works:

  • When a device sends a packet, NAT replaces the private source IP with the router's public IP. 
  • It also replaces the source port with a new one & records the mapping. 
  • The packet is sent to the destination server. 
  • When the server responds, NAT translates the destination IP/port back to the device's private IP/port. 
  • The packet is forwarded to the local device.

13. Explain the differences between REST & SOAP APIs.

RESTSOAP
Representational state transferSimple object access protocol
Uses HTTP verbs (GET, POST, etc.)Uses XML for all messages
StatelessCan maintain state
Less verbose, smaller message sizesMore verbose, larger messages
Flexible data formats (JSON, XML, etc.)Only XML

14. Explain how paging & segmentation work in memory management. 

Paging & segmentation are techniques to manage memory in an OS.

Paging:

  • Memory is divided into fixed-size blocks called pages.
  • Processes are also divided into pages.
  • The OS maintains a page table that maps virtual pages to physical frames.
  • When a process requests memory, the OS copies its pages into frames & updates the page table.

 

Segmentation:

  • Memory is divided into variable-size segments, one for each module (e.g. code, data, stack).
  • The OS maintains a segment table with the base address & size of each segment.
  • When a process requests memory, the OS allocates the segments & updates the segment table.

 

15. Implement a function to serialize & deserialize a binary tree. 

Here's an implementation in Python using preorder traversal:

class TreeNode:
  def __init__(self, val=0, left=None, right=None):
    self.val = val
    self.left = left
    self.right = right

def serialize(root):
  if not root:
    return 'None'
  return f'{root.val},{serialize(root.left)},{serialize(root.right)}'

def deserialize(data):
  def dfs():
    val = next(values)
    if val == 'None':
      return None
    node = TreeNode(int(val))
    node.left = dfs()
    node.right = dfs()
    return node
  
  values = iter(data.split(','))
  return dfs()
You can also try this code with Online Python Compiler
Run Code

 

The serialize function recursively builds a string representation of the tree. The deserialize function splits the string & rebuilds the tree using a preorder DFS.

16. Write a program to find the shortest path in a weighted graph.

Here's an implementation of Dijkstra's algorithm in Python:

import heapq

def dijkstra(graph, start, end):
  distances = {node: float('inf') for node in graph}
  distances[start] = 0
  pq = [(0, start)]
  
  while pq:
    current_distance, current_node = heapq.heappop(pq)
    
    if current_distance > distances[current_node]:
      continue
      
    for neighbor, weight in graph[current_node].items():
      distance = current_distance + weight
      
      if distance < distances[neighbor]:
        distances[neighbor] = distance
        heapq.heappush(pq, (distance, neighbor))
        
  return distances[end]
You can also try this code with Online Python Compiler
Run Code

 

The algorithm maintains a priority queue of nodes to visit & their tentative distances. It repeatedly selects the node with the minimum distance, updates the distances of its neighbors, & adds them to the queue. The final distance to the end node is returned.

17. Describe the differences between TCP & UDP protocols.

TCPUDP
Connection-orientedConnectionless
Reliable (retransmits lost packets)Unreliable (no retransmission)
Ordered (packets arrive in order)Unordered (packets can arrive out of order)
Error-checked (corrupted packets are detected)Error-checked (optional)
Slower (more overhead)Faster (less overhead)
Used for email, web browsing, file transferUsed for streaming, DNS, VoIP

 

18. Describe the process of a TCP handshake. 

A TCP handshake is the process of establishing a connection between a client & server. It involves three steps:

  • SYN: The client sends a SYN (synchronize) packet to the server with a random sequence number.
  • SYN-ACK: The server responds with a SYN-ACK packet, acknowledging the client's SYN & sending its own sequence number.
  • ACK: The client sends an ACK (acknowledgment) packet, acknowledging the server's SYN.

 

After this, the connection is established & data can be transmitted. The handshake helps syncronize sequence numbers & ensure a reliable connection.

19. Implement a stack using arrays/linked lists.

Here's an implementation of a stack using a linked list in Python:

 

class Node:
  def __init__(self, val):
    self.val = val
    self.next = None
    
class Stack:
  def __init__(self):
    self.head = None
    
  def push(self, val):
    node = Node(val)
    node.next = self.head
    self.head = node
    
  def pop(self):
    if not self.head:
      return None
    val = self.head.val
    self.head = self.head.next
    return val
  
  def top(self):
    if not self.head:
      return None
    return self.head.val
    
  def is_empty(self):
    return not self.head
You can also try this code with Online Python Compiler
Run Code

 

The stack maintains a head pointer to the top element. The push operation creates a new node & inserts it at the head. The pop operation removes the head & returns its value. The top operation returns the head's value without removing it.

20. Implement a function to check if a string is a palindrome. 

Here's an implementation in Python:

def is_palindrome(s):
  s = ''.join(c.lower() for c in s if c.isalnum())
  left, right = 0, len(s) - 1
  
  while left < right:
    if s[left] != s[right]:
      return False
    left += 1
    right -= 1
    
  return True
You can also try this code with Online Python Compiler
Run Code

 

The function first converts the string to lowercase & removes non-alphanumeric characters. It then uses two pointers to compare characters from both ends, moving inward. If any pair of characters doesn't match, the string is not a palindrome.

Advanced Level BNY Mellon Interview Questions and Answers

21. What are the security features in modern operating systems?

Modern operating systems provide several security features, which are:

  1. User authentication: Users must prove their identity to access the system, typically with a password.
  2. Access control: Different users are granted different levels of access to files & resources.
  3. Process isolation: Each process runs in its own memory space, preventing interference.
  4. Encryption: Sensitive data can be encrypted to protect against unauthorized access.
  5. Firewalls: Built-in firewalls can filter network traffic & block threats.
  6. Updates: Regular security updates patch vulnerabilities & protect against new attacks.
     

22. Explain the working principle of a hash table.

A hash table is a data structure that provides fast insertion, deletion, & lookup of key-value pairs. It works as follows:

  1. A hash function maps the key to an index in an array (the hash table).
  2. The value is stored at that index.
  3. To retrieve a value, the key is hashed & the corresponding index is checked.
  4. If multiple keys map to the same index (a collision), the values are stored in a linked list or other data structure at that index.
     

23. How do you handle database replication & what are its benefits?

Database replication involves keeping multiple copies of a database in sync. It can be done in several ways:

  1. Master-slave: One database (the master) handles writes, & changes are propagated to the other databases (the slaves). The slaves handle reads.
  2. Master-master: Any database can handle writes, & changes are propagated to the others. This allows for load balancing but can lead to conflicts.
  3. Peer-to-peer: All databases are equal & changes can originate from any of them.
     

24. What is a VLAN & how is it used?

A VLAN (virtual LAN) is a logical partitioning of a physical network. Devices in a VLAN can communicate as if they were on the same physical network, even if they're not. VLANs are used to:

  1. Segment networks: Devices can be grouped by department or function, regardless of physical location.
  2. Enhance security: Traffic between VLANs can be restricted, isolating sensitive data.
  3. Improve performance: Broadcast traffic can be contained within a VLAN, reducing network congestion.
  4. Simplify management: VLANs can be centrally configured & managed via software.
     

VLANs are configured on network switches. Each switch port is assigned to a VLAN, & traffic is tagged with the VLAN ID to keep it separate.

25. Write a program to find the median of two sorted arrays.

def find_median(nums1, nums2):
  merged = merge(nums1, nums2)
  n = len(merged)
  if n % 2 == 1:
    return merged[n//2]
  else:
    return (merged[n//2-1] + merged[n//2]) / 2

def merge(nums1, nums2):
  merged = []
  i = j = 0
  while i < len(nums1) & j < len(nums2):
    if nums1[i] <= nums2[j]:
      merged.append(nums1[i])
      i += 1
    else:
      merged.append(nums2[j])
      j += 1
  merged.extend(nums1[i:])
  merged.extend(nums2[j:])
  return merged
You can also try this code with Online Python Compiler
Run Code


The function first merges the two sorted arrays into a single sorted array. If the length of the merged array is odd, it returns the middle element. If it's even, it returns the average of the two middle elements.
 

26. Describe how the operating system manages I/O operations.

The OS abstracts I/O devices (disk, keyboard, etc.) & provides a standard interface for programs to interact with them. Here's how it manages I/O:

  1. Buffering: The OS maintains buffers in memory for each device. Programs read/write these buffers, & the OS handles the actual device I/O asynchronously.
  2. Scheduling: The OS schedules I/O requests to optimize performance & fairness. It may reorder requests (e.g. elevator algorithm for disk) or prioritize certain processes.
  3. Caching: Frequently used data can be cached in memory to reduce I/O. The OS manages the cache, deciding what to cache & when to evict.
  4. Spooling: For devices like printers that can only handle one request at a time, the OS spools the output (stores it on disk) until the device is ready.
  5. Device drivers: Each I/O device has a driver that translates between the OS's standard interface & the device's specific protocol. The OS loads these drivers at boot time.

27. Explain the concept of sharding in databases along with its benefits and complexities.

Sharding is a technique for horizontally partitioning a database to improve performance & scalability. The data is split across multiple machines (shards), each of which holds a subset of the data.

For example, a user database could be sharded based on the user's location, with each shard holding users from a particular region.

The benefits of sharding are:

  1. Improved read/write performance (each shard handles a smaller volume)
  2. Increased storage capacity (the total capacity is the sum of all shards)
  3. Better availability (the system can survive the loss of a shard)
     

However, sharding also introduces complexities like : 

  1. Queries that span multiple shards are more complex
  2. Joining data across shards is inefficient
  3. Maintaining consistency across shards can be challenging

 

Sharding requires careful design & is typically used for very large-scale databases.
 

28. Implement a function to detect & remove loops in a linked list.

def remove_loop(head):
  slow = fast = head
  
  while fast & fast.next:
    slow = slow.next
    fast = fast.next.next
    if slow == fast:
      break
      
  if not fast or not fast.next:
    return head
    
  slow = head
  while slow != fast:
    slow = slow.next
    fast = fast.next
    
  while fast.next != slow:
    fast = fast.next
    
  fast.next = None
  
  return head
You can also try this code with Online Python Compiler
Run Code

 

The function uses Floyd's cycle-finding algorithm. It starts two pointers, slow & fast, at the head. The slow pointer moves one step at a time, while the fast pointer moves two steps.

If there's a loop, the pointers will eventually meet. Then, one pointer is reset to the head, & both pointers move one step at a time until they meet again at the start of the loop.

Finally, one pointer is advanced until it reaches the end of the loop, & the loop is broken by setting the next pointer to None.
 

29. Describe QoS (Quality of Service) & how it is implemented in networking.

QoS refers to the ability to provide different priorities to different data flows to guarantee a certain level of performance. For example, VoIP traffic may be given higher priority than file downloads to ensure a smooth call experience.

QoS is implemented through several mechanisms:

  1. Packet classification: Packets are classified based on criteria like source/destination IP, port, protocol, etc.
  2. Queuing: Different queues are used for different classes of traffic, & the queues are serviced according to their priority.
  3. Scheduling: Algorithms like WFQ (Weighted Fair Queuing) determine which packet to send next based on the queues & their weights.
  4. Policing & shaping: The network can limit the rate of certain traffic flows to prevent them from hogging bandwidth.
  5. Congestion avoidance: Protocols like RED (Random Early Detection) can drop packets proactively to avoid congestion.

 

QoS is configured on network devices like routers & switches. It requires careful planning & can be complex to manage, but is essential for networks that handle a mix of real-time & non-real-time traffic.

30. What is a stored procedure & when would you use one?

A stored procedure is a precompiled set of SQL statements that are stored in the database & can be executed repeatedly. It can take parameters & include control-flow statements like conditionals & loops.

Stored procedures are used to:

  1. Encapsulate complex database operations: A stored procedure can bundle multiple statements into a single callable unit. This simplifies client code & ensures consistency.
  2. Improve performance: Because stored procedures are precompiled & stored on the database server, they can execute faster than individual SQL statements sent from a client. They also reduce network traffic.
  3. Enhance security: Stored procedures can be used to control access to the underlying tables. Users can be granted permission to execute a procedure without direct access to the tables.
     

Conclusion

We hope you have gained some insights on BNY Mellon Interview Questions through this article. We hope this will help you excel in your interviews for BNY Mellon. All the best!!

You can also practice coding questions commonly asked in interviews on Coding Ninjas Code360

Also, check out some of the Guided Paths on topics such as Data Structure and AlgorithmsCompetitive ProgrammingOperating SystemsComputer Networks, DBMSSystem Design, etc., as well as some Contests, Test Series, and Interview Experiences curated by top Industry Experts.

Live masterclass