Specialist Programmer
20+ Specialist Programmer Interview Questions and Answers for Freshers
Q1. 1. Find the first occurrence of the target value in a sorted array. (Duplicates are allowed)
Find the first occurrence of target value in a sorted array with duplicates.
Use binary search to find the target value.
If found, check if the previous element is also the target value.
If not, return the index of the target value.
If yes, continue binary search on the left subarray.
Q2. 2. Find the maximum subarray sum given an array with positive and negative integers.
Find the maximum subarray sum in an array with positive and negative integers.
Use Kadane's algorithm to find the maximum subarray sum.
Initialize two variables, one for current maximum and one for global maximum.
Iterate through the array and update the variables accordingly.
Return the global maximum.
Example: [-2, 1, -3, 4, -1, 2, 1, -5, 4] returns 6 (subarray [4, -1, 2, 1])
Q3. Which are the process scheduling algorithms and explain each algorithm.
Process scheduling algorithms determine the order in which processes are executed by the CPU.
First Come First Serve (FCFS) - Processes are executed in the order they arrive.
Shortest Job Next (SJN) - Process with the shortest burst time is executed next.
Round Robin (RR) - Each process is assigned a fixed time slice for execution.
Priority Scheduling - Processes are executed based on priority levels assigned to them.
Multi-Level Queue Scheduling - Processes are divided into diffe...read more
Q4. What is deadlock in OS & how it overcome?
Deadlock in OS occurs when two or more processes are unable to proceed because each is waiting for the other to release a resource.
Deadlock happens when processes have acquired resources but are waiting for additional resources that are held by other processes.
Four conditions must hold for deadlock to occur: mutual exclusion, hold and wait, no preemption, and circular wait.
Deadlock can be prevented by using techniques like resource allocation graphs, deadlock detection algori...read more
Q5. Write a SQL query to print n'th highest salary with full details
SQL query to retrieve the n'th highest salary with full details
Use the ORDER BY clause to sort salaries in descending order
Use the LIMIT clause to retrieve the n'th highest salary
Join with the employee table to get full details
Q6. What are the joins in DBMS and explain each join
Joins in DBMS are used to combine rows from two or more tables based on a related column between them.
Inner Join: Returns rows when there is at least one match in both tables.
Left Join: Returns all rows from the left table and the matched rows from the right table.
Right Join: Returns all rows from the right table and the matched rows from the left table.
Full Outer Join: Returns rows when there is a match in one of the tables.
Self Join: Joining a table with itself to combine r...read more
Share interview questions and help millions of jobseekers 🌟
Q7. What is inheritance and explain each type
Inheritance is a concept in object-oriented programming where a class inherits properties and behaviors from another class.
Types of inheritance: single inheritance, multiple inheritance, multilevel inheritance, hierarchical inheritance, hybrid inheritance
Single inheritance: a class inherits from only one base class
Multiple inheritance: a class inherits from multiple base classes
Multilevel inheritance: a class inherits from a class which in turn inherits from another class
Hier...read more
Q8. What are late binding and early binding?
Late binding and early binding are concepts in programming related to when the binding of a method to its implementation occurs.
Early binding refers to the process of linking a method call to the method implementation at compile time.
Late binding refers to the process of linking a method call to the method implementation at runtime.
Early binding is also known as static binding, while late binding is also known as dynamic binding.
Late binding allows for more flexibility and ex...read more
Specialist Programmer Jobs
Q9. Memory sorting Code with given 3 RAMs and quantity of data present in them.
Sorting code for given 3 RAMs and data quantity
Determine the size of each RAM and the quantity of data in them
Choose a sorting algorithm based on the size of data and available RAM
Divide the data into chunks that can fit into the available RAM
Sort each chunk using the chosen algorithm
Merge the sorted chunks into a single sorted list
Q10. Write a code to convert camel casing to snake casing and vice versa.
Code to convert camel casing to snake casing and vice versa.
For camel to snake case, iterate through the string and add '_' before every uppercase letter except the first one.
For snake to camel case, iterate through the string and remove '_' and capitalize the letter after it.
Handle edge cases like consecutive uppercase letters or underscores in the input string.
Use built-in string functions like split(), join(), and replace() for efficient implementation.
Q11. Write a program to print frequencies of elementsof an array.
Program to print frequencies of elements in an array.
Create a dictionary to store the frequency of each element.
Iterate through the array and update the frequency in the dictionary.
Print the dictionary to display the frequency of each element.
Q12. Swap two numbers without using third variable?
To swap two numbers without using third variable, use arithmetic operations.
Add the two numbers and store the result in the first variable.
Subtract the second variable from the sum and store the result in the second variable.
Subtract the second variable from the original sum and store the result in the first variable.
Q13. What is difference between javascript and typescript
JavaScript is a dynamic scripting language, while TypeScript is a statically typed superset of JavaScript.
JavaScript is dynamically typed, while TypeScript is statically typed.
TypeScript supports type checking at compile time, while JavaScript does not.
TypeScript allows for the use of interfaces and advanced OOP features, while JavaScript does not.
TypeScript code needs to be transpiled to JavaScript before it can be executed in a browser.
Q14. Given a list of natural numbers, find the largest increasing subsequence from it
Find the largest increasing subsequence from a list of natural numbers
Use dynamic programming to keep track of the longest increasing subsequence ending at each index
Iterate through the list and update the longest increasing subsequence for each element
Return the maximum length of the increasing subsequence
Q15. What is immutability in Python?
Immutability in Python refers to the property of objects that cannot be changed after creation.
Immutable objects cannot be modified once created
Immutable objects include numbers, strings, and tuples
Immutable objects are useful for caching and as dictionary keys
Q16. Compare time complexityand space complexity of array list and linked list
Array list has O(1) time complexity for accessing elements but O(n) for insertion/deletion, while linked list has O(n) time complexity for accessing elements but O(1) for insertion/deletion.
Array list has constant time complexity O(1) for accessing elements by index, but linear time complexity O(n) for insertion/deletion operations due to shifting elements.
Linked list has linear time complexity O(n) for accessing elements as it requires traversing from the head node, but cons...read more
Q17. What is stack data structure?
Stack is a linear data structure that follows Last In First Out (LIFO) principle.
Elements are added and removed from the top of the stack.
Push operation adds an element to the top of the stack.
Pop operation removes the top element from the stack.
Peek operation returns the top element without removing it.
Examples: function call stack, undo-redo operations in text editors.
Q18. What is mutable objects in python
Mutable objects in Python are objects whose value can be changed after creation.
Lists, dictionaries, and sets are examples of mutable objects in Python.
Changes made to mutable objects directly affect the original object.
Mutable objects can be modified in place using methods like append(), update(), and remove().
Q19. DB design regarding ticket booking of airways
Design a database for airways ticket booking system
Create tables for flights, passengers, bookings, and seats
Use foreign keys to establish relationships between tables
Include attributes like flight number, passenger name, seat number, etc.
Implement constraints to ensure data integrity
Consider indexing for faster retrieval of data
Q20. Implement phone directory using Data structures
Phone directory can be implemented using an array of strings.
Use an array of strings to store phone numbers with corresponding names
Implement functions to add, delete, search, and display entries in the phone directory
Consider using a hash table for faster search operations
Q21. What is machine learning
Machine learning is a branch of artificial intelligence that involves developing algorithms and models that enable computers to learn from and make predictions or decisions based on data.
Machine learning involves training algorithms to learn patterns from data and make predictions or decisions without being explicitly programmed.
It is used in various applications such as image recognition, natural language processing, recommendation systems, and autonomous vehicles.
Examples o...read more
Q22. remove duplicate from sorted array
Use two pointers to remove duplicates from a sorted array of strings.
Initialize two pointers, one for the current element and one for the next unique element.
Compare current element with next element, if same, move next pointer until a different element is found.
Replace duplicate elements with unique elements found by next pointer.
Interview Questions of Similar Designations
Top Interview Questions for Specialist Programmer Related Skills
Interview experiences of popular companies
Calculate your in-hand salary
Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary
Reviews
Interviews
Salaries
Users/Month