I applied online. The process took 4 weeks. I interviewed at Bottomline (Bengaluru) in Aug 2024
Interview
I had applied for the role of Principal Engineer online on the company website. Received call on July 18th 2024 and the first round of technical interview was scheduled on July 31st 2024.
My interview experience with the interviewer was good. The interviewer was humble and did not try to show their supremacy. It was so realistic and in fact the interviewer was allowed me to refer the reference material when I did not remember the certain class name/way of implementing. The interview is all about understanding your experience, your approach to solve the problems/situations and not about memorizing the nuances/jargons. The interviewer believed in this principle and accordingly drove the conversation. This is a very rare gem quality that you would see in interviewers. I would like to appreciate this gesture and quality. I was qualified for the second round with engineering manager. At the time of first round - I came to know about the expectation on the job and it did not match with my expectation on the role of a principal engineer. I clarified this with engineering manager in the second round and I did not proceed further citing the job role mismatch with my expectation.
Job Description:
Develop code for system changes or new modules within company and architecture according to specifications and standards.....
Participates and contribute in formal and informal code reviews.....
Prepares and executes accurate unit test plans, test data, and test modules and scripts......
Documents code changes and unit test results per Best Practices.....
Performs production support and troubleshooting and maintenance (defect resolution).....
Interview questions [7]
Question 1
Assume there is a list of 6 numbers. Use Java Stream to print "A" if its divisible by 2 , print "B" if its divisible by 3 and print "C" if its not divisible by 2 and 3. Expectation is you do not run the loop more than once.
Assume that I have a relational table consisting of 6 fields and I have exposed a API with PATCH verb which would update this table based on the parameters provided via REST API. What method/approach would I use to have a generic method which takes the parameters for the where clause dynamically without exposing a different repository method for each field.
For example: Assume there is a employee table with fields id, first name, last name, phone number, date of joining and location. Assume I have a PATCH URI which takes id as the parameter and it can alter first name or last name or phone number or date of joining or location or combination of any of these fields. How will I write repository method in a generic way for above possible combinations of fields.