LinkedIn: https://www.linkedin.
com/in/bishnoisuresh/
Company : Oracle, Bangalore
Role : Software Engineer
Experience Range : 1 - 4 Years
Interview Process : Phone Screening + Online Assessment Test + Two Technical Inteviews
Quick Tips : Be prepared to explain the current project and what impact you made.
Questions asked in tech rounds:
1. What is the difference between ConcurrentHashMap and Collections.synchronizedMap()?
Hint: Think about thread safety and performance under heavy concurrency.
2. Explain how Java manages memory. What is the role of the heap and stack?
Hint: Stack is for method calls and local variables; the heap stores objects.
3. What is the difference between Callable and Runnable in Java?
Hint: One returns a result, and the other does not.
4. What are weak references in Java, and where are they used?
Hint: Useful for memory-sensitive caches, where the object can be garbage collected.
5. How does the volatile keyword ensure thread safety?
Hint: Prevents caching of variable values, ensuring all threads see the latest value.
6. Explain the significance of immutability in Java and how to create an immutable class.
Hint: No setter methods, use final variables, and ensure deep copies for mutable fields.
7. What is the difference between Comparator and Comparable?
Hint: One customizes ordering externally, the other is built into the object.
8. What are some best practices for using the Stream API?
Hint: Avoid side effects, prefer immutability, and leverage parallel streams cautiously.
9. How does the Java Reflection API work, and when would you use it?
Hint: Inspect or modify classes, methods, and fields dynamically. Useful in frameworks.
10. What is the difference between the Fork/Join framework and the ExecutorService?
Hint: Think about task decomposition and parallelism.
11. How do you handle inter-service communication? Compare REST vs gRPC.
Hint: REST is human-readable, gRPC is more efficient but binary-based.
11. Explain how service discovery works (E.g., Eureka).
Hint: Services register themselves; clients query for service instances.
12. How do you secure a Microservices-based application (OAuth2, JWT)?
Hint: Access tokens verify authentication and authorization.
LinkedIn: https://www.linkedin.com/in/bishnoisuresh/
LinkedIn: https://www.linkedin.com/in/bishnoisuresh/
13. What is the role of a distributed tracing tool like Jaeger or Zipkin in Microservices?
Hint: Tracks requests across multiple services to debug performance bottlenecks.
14. How would you implement rate limiting in an API gateway?
Hint: Token buckets or leaky buckets can enforce limits on request rates.
15. Explain the concept of API versioning. How do you handle backward compatibility?
Hint: Use version numbers in URLs or headers, and deprecate old versions gracefully.
16. What is the Saga Pattern, and how is it used in Microservices?
Hint: Think about long-running transactions split into smaller, independent operations.
17. How do you monitor the health of Microservices?
Hint: Use health check endpoints and monitoring tools like Prometheus.
18. What are some strategies for logging in distributed systems? (E.g., Correlation IDs)
Hint: Correlation IDs link logs across services to trace workflows.
19. Explain the purpose of container orchestration tools like Kubernetes in Microservices.
Hint: Manages deployment, scaling, and load balancing of containerized applications.
21. How does indexing improve query performance? What are the trade-offs?
Hint: Speeds up lookups but increases storage and write overhead.
22. What are the differences between JOIN types in SQL?
Hint: INNER JOIN matches common rows; LEFT JOIN includes unmatched left rows.
23. Explain the differences between relational (SQL) and document-based (NoSQL) databases.
Hint: SQL is structured and relational; NoSQL is schema-less and flexible.
24. How does optimistic locking work? How does it differ from pessimistic locking?
Hint: Optimistic assumes no conflicts; pessimistic locks rows to prevent them.
25. What are the advantages of using partitioning in a database?
Hint: Think about data distribution and query performance on large datasets.
26. How would you design a database schema for a Microservices application?
Hint: Each service owns its data and uses its database for isolation.
27. What is a secondary index, and when would you use it?
Hint: Speeds up queries for non-primary key fields.
28. How does caching work in databases, and what are some tools to implement it?
Hint: Stores frequently accessed data in memory; tools include Redis, Memcached.
29. Explain database transactions and isolation levels.
Hint: Controls how transactions interact, from READ_UNCOMMITTED to SERIALIZABLE.
30. How do you migrate data between two database versions or structures without downtime?
Hint: Use blue-green deployments, shadow tables, or phased migration strategies
LinkedIn: https://www.linkedin.com/in/bishnoisuresh/