It started with a hackerrank test . The test is 2 hours long but hardly took me 25 minutes to complete. Couple of API endpoints would be given we have to fetch the data and do some computation on top of it fairly straight forward.
After clearing this an explo call was scheduled with so called Technical Leader. Sharing the experience below.
I felt the round was not technical at all. The interviewer had a very biased opinion around his understanding of how a software should be tested.
The interviewer gave me the below scenario:
'There is a monolithic search api which is written in php and is 20 years old is being rewritten as a microservice in Java , the search algorithm is not being altered only code is changing from php to Java, How will I ensure there are no bugs as a QA lead'
I started to do requirement gathering, listing my questions below
1) Why migrating? Has the user load increased
2) How does the new microservice look like? multi region deployment ? are we going to shard the datastore?
3) What are we prioritising ? Consistency , Availability or Fault Tolerance? ( Pillars of distributed architecture) he seemed to be confused with this
4) Is there going to be caching layer to improve search response times?
After I started doing requirement gathering he suggested I am going in the wrong direction and I should just think that the search algorithm is not changing only the code is being rewritten from php to Java. This statement of his completely put me off .
His logic was the source of truth is the old API service ( we should not be bothered how its built internally) and we can test the API response from old service to that of new service.
My questions to this:
1) If the search API is blackbox wouldn't we end up with endless data sets to test the API's as we don't know what all could be searched using the API. When do we say testing is done? as would not know of the test coverage.
2) We would end up with false positives, what if the old system was faulty and search results were not proper in the old API we end up repeating the mistakes in the newer API too.
If Arcesium has such people as technical leaders I am happy I was not selected.