Technical Program
Technical Program
1. **Data Structures**: Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash
Tables, and Heaps.
2. **Algorithms**: Sorting, Searching, Dynamic Programming, Greedy Algorithms,
Backtracking, and Graph Algorithms.
3. **Programming Concepts**: Object-Oriented Programming (OOP), Design Patterns,
Exception Handling, and Multithreading.
4. **Java-Specific Questions**: Understanding of core Java concepts such as
Collections Framework, Java Memory Model, Java Concurrency, and Java 8 features
(like Streams and Lambdas).
3. **Binary Search**:
```java
public class BinarySearch {
public int binarySearch(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) return mid;
if (nums[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
}
```
class Book {
private String title;
private String author;
private String ISBN;
private boolean isAvailable;
// Other methods
}
class Library {
private Map<String, Book> books;
public Library() {
this.books = new HashMap<>();
}
// Other methods
}
library.addBook(book1);
library.addBook(book2);
library.checkoutBook("12345");
library.returnBook("12345");
library.checkoutBook("67890");
}
}
```
2. **Java 8 Features**:
- **Example: Using Streams and Lambdas**:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
By focusing on these areas and practicing the sample questions, you'll be well-
prepared for the first technical round at HashedIn.