As soon as I was offered a job offer after clearing all the rounds of my interview for a full-time position at the organization, I was asked to share my experiences and tips that I thought would help my peers in their pursuits.

Here goes:

I started the preparation for the job during the first week of June. I had rarely solved any coding questions before that time. Although I had less than 2 months to prepare, I made sure not to overwhelm myself by doing a lot of programming and problem solving in one day. For example, I solved at most 3-5 problems on average per day, while exhaustively examining the concepts that went into solving those "puzzles". I mostly used python for the coding tests and as usual, I chose not to make notes.

Before the interview:

During the interview:

Knowledge of these concepts came in handy: Object Oriented Programming Fundamentals, Operating Systems, Databases and SQL, Data Structures and Algorithms, Basics of computer networks

This was an in-person interview, which meant that explaining my solutions, while thinking out loud on a whiteboard/paper might have been appreciated. As a general rule, I ensured to let the interviewer know my thought process by keeping a conversation flowing about my approach to each solution while I wrote the code on paper so the interviewer could know if I was going in the right direction. If my approach was not correct, the interviewer would help me think of another solution, immediately pushing me closer towards the correct approach or would simply move on to the next question.

Also, in my opinion it is not necessary to keep talking in the interview. Moments of silence to think clearly before talking is okay :).

After the interview: