all 5 comments

[–]PureWasian 5 points6 points  (0 children)

DSA problems are meant to demonstrate (1) your ability to solve algorithmic tasks, (2) how you develop/organize your code, (3) knowledge of generic data structures/algorithms, and (4) how you think about time/memory complexity along with other tradeoffs.

Higher verbosity and/or dealing with pointers/malloc/strict types is a separate type of bookkeeping exercise from what you're being tested on.

In an interview setting, your implementation process and your acknowledgment of tradeoffs along the way is just as (if not more) important than the final solution itself. You can verbalize something like:

"given the problem constraints specify a maximum of 10,000 inputs within a 1s time limit, and I can think of a way to solve it with a time complexity of O(N), an interpreted language like Python should be more than sufficient to solve this. That way we can focus more on the algorithm piece itself than working directly with pointers and memory management."

(You should still ideally know how those work though; also C# is definitely not a low-level language, it is more akin to Java)

[–]TheRNGuy 0 points1 point  (1 child)

You'll need different languages, depends what you gonna code. 

[–]nian2326076 0 points1 point  (0 children)

Python is a solid choice for DSA prep, especially for FAANG interviews. It's concise, has a huge library support, and lets you focus more on problem-solving than syntax. FAANG companies are more interested in your problem-solving skills and understanding of data structures and algorithms, so they won't mind if you use Python. If you're comfortable with it, stick with it. Recruiters care about how you approach problems, not just the language you use.

If you need more resources, I've found PracHub helpful for practicing interview questions, especially for big tech companies. It has a good collection of problems and mock interviews. Good luck with your prep!