Bentley Systems
10+ AJSK Software Services Interview Questions and Answers
Q1. Write a function to swap. What exceptions it may throw?
Function to swap two variables and possible exceptions
Function should take two variables as input
Use a temporary variable to swap the values
Possible exceptions include null pointer exception or out of bounds exception
Q2. What data structures would you use to save images?
I would use a binary format like JPEG or PNG to save images.
JPEG and PNG are common binary formats used to save images.
These formats use compression to reduce file size without losing quality.
Other options include BMP, GIF, and TIFF, but they may not be as efficient.
Images can also be saved as arrays of pixels or as vectors, depending on the type of image.
The choice of data structure depends on the specific use case and requirements.
Q3. Difference Between Arrays and LinkedLists. Cons and Pros of Using Them. Which Out of Both Would be Preferable in Different Situations ?
Arrays store elements in contiguous memory locations, while LinkedLists store elements in nodes with pointers to the next element.
Arrays have constant time access to elements using index, while LinkedLists have O(n) access time as they need to traverse from the beginning.
Arrays have fixed size, while LinkedLists can dynamically grow and shrink in size.
Arrays are better for random access and search operations, while LinkedLists are better for insertions and deletions in the mi...read more
Q4. Program to Find the Maximum Occurring Number in an Array. Which Data Structure can be Used for Making the Code More Efficient ?
Use a hashmap to store frequency of each number in the array for efficient retrieval of maximum occurring number.
Use a hashmap to store the frequency of each number in the array.
Iterate through the array and update the frequency count in the hashmap.
Find the number with the highest frequency in the hashmap to get the maximum occurring number.
Q5. What is pre/post increment/decrement operator?
Pre/post increment/decrement operators are used to increase/decrease the value of a variable by 1.
Pre-increment operator (++x) increases the value of x by 1 before using it in an expression.
Post-increment operator (x++) increases the value of x by 1 after using it in an expression.
Pre-decrement operator (--x) decreases the value of x by 1 before using it in an expression.
Post-decrement operator (x--) decreases the value of x by 1 after using it in an expression.
These operator...read more
Q6. Is Function Overloading the Only Example of Compile Time Polymorphism ?
No, Function Overloading is not the only example of Compile Time Polymorphism.
Function Templates are another example of Compile Time Polymorphism where a single function can operate on different data types.
Operator Overloading is also an example of Compile Time Polymorphism where operators can be overloaded to work with different data types.
Static Polymorphism achieved through method overloading is another example of Compile Time Polymorphism.
Q7. Creating LinkedList Class , Insertion and Deletion in a LinkedList , Reversing and Sorting a LinkedList , Questions on Circular Linked List.
Answering questions related to LinkedList operations and Circular LinkedList.
LinkedList Class: Implement a class with nodes containing data and a reference to the next node.
Insertion: Add a new node at the beginning, end, or at a specific position in the LinkedList.
Deletion: Remove a node by updating references to skip over it.
Reversing: Traverse the LinkedList and reverse the links between nodes.
Sorting: Implement a sorting algorithm like bubble sort or merge sort on the Lin...read more
Q8. What is Multi-Threading in Java ? What are Generics ?
Multi-Threading in Java allows multiple threads to execute concurrently. Generics in Java enable type-safe collections and classes.
Multi-Threading in Java allows for concurrent execution of multiple threads.
Generics in Java enable type-safe collections and classes by allowing the use of parameterized types.
Example of Multi-Threading: creating a new thread using the Thread class and implementing the run() method.
Example of Generics: defining a generic class like ArrayList
to s...read more
Q9. System design of a carrom board game
Designing a carrom board game system
Define game rules and mechanics
Create game board and pieces
Implement player turns and scoring system
Include AI for single player mode
Consider multiplayer options and networking
Test and debug thoroughly
Q10. Program to find middle of a linked list
Program to find middle of a linked list
Traverse the linked list using two pointers, one moving twice as fast as the other
When the faster pointer reaches the end, the slower pointer will be at the middle
Handle even and odd length linked lists separately
Q11. Reverse a String without Using Any Loop or Using Any Other Data Structure.
Use recursion to reverse the string without using loops or other data structures.
Create a recursive function that takes the string as input.
In the function, check if the string is empty or has only one character, return the string in that case.
Otherwise, call the function recursively with the substring excluding the first character and concatenate the first character at the end.
Q12. Pillars of Object Oriented Programming. Real Life Example of Pillars of OOPS.
Pillars of OOP are Inheritance, Encapsulation, Abstraction, and Polymorphism. Real life example: Vehicles.
Inheritance: Car and Bike classes inheriting from Vehicle class.
Encapsulation: Data hiding in a class to protect it from outside interference.
Abstraction: Using a remote control to operate a TV without knowing its internal workings.
Polymorphism: Overloading a method with different parameters in a class.
Q13. Why Bentley Systems ?
Bentley Systems is a global leader in infrastructure engineering software, providing innovative solutions for sustainable development.
Bentley Systems offers cutting-edge technology and tools for infrastructure engineering projects.
The company has a strong reputation for innovation and sustainability in the industry.
Bentley Systems has a global presence, providing opportunities to work on diverse projects around the world.
The company values continuous learning and professional...read more
Q14. Oops concepts explain with examples
Oops concepts are fundamental principles of object-oriented programming.
Encapsulation: bundling data and methods that operate on the data into a single unit (class)
Inheritance: allows a class to inherit properties and behavior from another class
Polymorphism: ability to present the same interface for different data types
Abstraction: hiding the complex implementation details and showing only the necessary features
More about working at Bentley Systems
Interview Process at AJSK Software Services
Top Associate Software Engineer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month