Recruitment Stories - Khairul's Experience at ReliSource
~4 min read
MD. Khairul Basar earned his Bachelor’s degree in Computer Science and Engineering from Hajee Mohammad Danesh Science & Technology University. He is currently working at ReliSource as a Software Engineer. During his undergraduate years, Khairul actively participated in programming contests and is well-known on Stack Overflow for his high reputation points.
This article shares Khairul’s experience of landing a job at ReliSource, so that those preparing for a job search may benefit from his experience.
Khairul applied to the company through an acquaintance who was already working at ReliSource. The acquaintance forwarded Khairul’s resume and soon after, Khairul was notified of his selection. He then went through several recruitment phases before accepting the job offer.
Phase 1:
During this phase, Khairul was given two programming problems to solve within an hour. He had to code the solutions in a shared Google Docs document with video turned on.
Problem 1
You are given a 2D grid and an array of coordinates. Each cell of the grid contains light. Light can have either of 2 states - on and off. In a single step, you can toggle the state of the light, and whenever you do that, the lights in the 4 adjacent cells get toggled as well.
You are given the initial state of the lights in the grid. The array of coordinates contains the cells whose lights you want to toggle.
Now, write a function to simulate the process, and, return the final state of the grid. All the coordinates are valid and the grid is never empty.
Problem 2
You are given a string consisting of uppercase English alphabets. Your task is to determine whether the string is 'grouped' or not.
A string is 'grouped' if after replacing adjacent same alphabets with just a single alphabet, the string has no duplicate alphabet. You cannot change the order of the alphabets in the string.
Now, write a function that returns true, if the given string is 'grouped', otherwise, false.
Phase 2:
During the technical interview, Khairul discussed a wide range of topics with the interviewer. Some of the topics that were covered include:
- Khairul’s previous job experiences and the project he was recently working on. He mentioned that he was re-writing a project, so the interviewer asked about the reasons behind the re-write.
- Design patterns were discussed, including various creational design patterns, the basic differences between IoC and DI, how Khairul would implement a DI tool, what the data structure would look like, and what methods Khairul would expose. They also talked about the singleton pattern, why it is considered an anti-pattern, and the problems it would introduce in testing.
- ASP.NET framework-specific questions were asked, such as middleware and filters, how middlewares are built in C#, and the request pipeline building process.
- Questions about AngularJS were also asked, such as Angular lifecycle, hooks, two-way binding, routing, and so on.
- The interviewer gave a simple SQL problem to solve and also asked about DB ACID properties.
Phase 3:
During this phase, Khairul was asked a mix of personal and technical questions. The interview lasted for less than 30 minutes.
Phase 4:
During this phase, Khairul was mainly asked personal questions, such as his current residence, family members, and future plans. Additionally, the interviewer discussed ReliSource and its culture.
Phase 5:
During this phase, Khairul discussed his salary expectations with the interviewer.
Special thanks to MD. Khairul Basar for taking out the time to share his recruitment experience with me. If you have any queries, feel free to contact him at khairul.basar93@gmail.com