S&PGlobal || Senior Software Engineer| | Interview Experience
Summary
I interviewed for a Senior Software Engineer position at S&PGlobal and was rejected after answering a mix of coding, Java features, and system design questions.
Full Experience
- Coding Question-https://leetcode.com/problems/merge-k-sorted-lists/description/
- Java 8 new features
- Stream API - Difference between toList() and collect(Collectors.toList())
- Fail Fast and Fail Safe Iterator
- usual code based question on iterator- what happens if we try to use list.add and list.remove in for each loop. how to avoid it.
- Colletios.sort() - which sorting algoriothm is used here
- Concurrent HashMap - how it works
- Executor Framweork - which threadpool have you used- how many threads will you create for 1000 tasks in fixed threadpool.
- Completable Future
- Spring security - how to invalidate JWT token
- Builder Pattern
- Observer Pattern - comparison to kafka
- In memory Cache
Rejected.
Interview Questions (13)
Merge k Sorted Lists
Java 8 New Features
Discuss new features introduced in Java 8.
Stream API: toList() vs collect(Collectors.toList())
Explain the difference between Stream.toList() and Stream.collect(Collectors.toList()) in Java's Stream API.
Fail Fast vs. Fail Safe Iterators
Explain the concepts of Fail Fast and Fail Safe Iterators in Java.
Iterator Modification in For-Each Loop
Discuss what happens when list.add() or list.remove() are used inside a Java for-each loop and how to avoid such issues.
Collections.sort() Algorithm
Identify which sorting algorithm is used internally by Collections.sort() in Java.
Concurrent HashMap Internals
Explain the internal working mechanism of ConcurrentHashMap.
Executor Framework & Thread Pool Sizing
Discuss experience with the Java Executor Framework, specific thread pools used, and how to determine the number of threads for 1000 tasks in a fixed thread pool.
Completable Future
Discuss CompletableFuture in Java for asynchronous programming.
Spring Security: JWT Token Invalidation
How to invalidate a JWT token using Spring Security.
Builder Pattern
Explain the Builder Design Pattern.
Observer Pattern vs. Kafka
Explain the Observer Design Pattern and compare its principles to how Kafka works.
In-Memory Cache
Discuss concepts and implementation of an In-Memory Cache.