Globally, the software industry is projected to grow by 31% in the next few years. Despite the ongoing recession, there is a substantial population of aspiring developers who wish to get into top tech companies. As a result, clearing Technical interviews is a big challenge.
Problems faced while preparing for interviews
Lack of guidance: While there are plenty of websites that help with interview preparation, there is no real-time clearing of doubts. Most websites just have predefined hints and complete solutions. Both of these don't mimic the real interview experience
Time Constraints: Many software developers have busy schedules and may not have the time to dedicate to interview preparation. According to a survey conducted by HackerRank in 2018, 50% of developers say that time is the biggest barrier to interview preparation.
Interview anxiety: According to a survey conducted by Hired in 2019, 92% of software engineers experience anxiety during job interviews. This can lead to poor performance, despite having the necessary skills and experience
Problems with existing solutions
AI Chatbots like chatGPT can greatly help with interview preparation. However, the issues associated with them are
Generic: Answers given are generic and not always specific to the use case
Lack of Context: The interview preparation context has to be mentioned each time the user wants to use it
Copy-pasting: copying and pasting every single problem from websites like Leetcode is not very efficient given the time constraint during interview prep
Distracting: Taking the users away from the problem page can be a distraction during the preparation
The fact that each question div had child elements that also required to be extracted in order to understand the text contained therein made it a difficult task to extract the question data from the raw HTML page of each platform.
Getting the element and it's classname was fairly straightforward using devtools. Once that was done, with help from ChatGPT, I created a function that recursively extracts each element until it finds the text present inside, and append it to a string.
Regardless of whether the extension was closed, keeping every message. Keeping track of talks based on questions from each platform is also necessary.
Solving the former was quite simple by using localstorage. However, the way it is used on chrome extension is slightly different from the usual syntax. For solving the latter, I extracted the platform and question title from the url, and added them to the messages key, thereby creating unique localstorage objects for each question
Tracks Applied (1)
Discussion