Data Structures and Algorithms for Interview
During my Ph.D., I spent years optimizing the codes for my simulation at super high scales of volume. I optimized iteration loops, implemented math libraries for high-performance matrix calculations, and examed built-in functions in MATLAB vs. my C functions. Fortunately, one thing I eventually give attention to was the structure of my data. The matrix of conductance was a 2D sparse array with a lot of empty values where positive values represented connections between nanotubes. Then I tried new mat lib for approximate calculation. The performance of the simulation increased significantly to 100s times and used less memory 10s times than before.
When I was back in the industry, I had a couple of interviews with FAANG companies and had done some LeetCode problems. And I have a deeper understanding of the reason for DSA questions in an interview.
I strongly agree that software engineers should properly understand data structures and use suitable algorithms to solve different problems. Once a person is familiar with DSA, one can choose proper solutions to optimize the programs in performance and computing resources.
One thing I learned during an interview is the cooperation between the interviewee and interviewer. No one knows everything, and no one can work alone nowadays. There are so many projects and teams intervening. Collaboration is one of the keys to success. Candidates should ask to clarify the given-vague question, such as data type, limitations, edges cases, output, and other requirements.
Of course, a successful candidate also must be proficient in solving DSA questions. Practice is necessary and many websites collect good lists of questions and subjects in DSA. For example, https://www.techinterviewhandbook.org/grind75 is a great tool to filter out problems by subjects in a proper schedule.
My recent highest ranking during a LeetCode contest was top 1% out of 20K contestants. But cheating in a contest is very popular when people can share their solutions or teamwork which is not allowed during the contest happens.
Come and learn with me in LeetCode https://leetcode.com/linhhlp/
You May Also Like
Content Management System in PHP/HTML/CSS/JavaScript
30 March 2010
Recommendation systems: Amazon Products and Reviews
24 March 2022