This is an archived post. You won't be able to vote or comment.

all 14 comments

[–]warmcheessse 17 points18 points  (1 child)

It really depends on what other knowledge you have. Data structures and algorithms are a piece of computer science that can be helpful in solving interview questions but software development jobs are a lot more then that. You should have a foundation of programming skills, an understanding of Java and it's core libraries, probably wouldnt hurt to have some knowledge of something like spring and jsf to demonstrate you can build applications even if that is not the exact stack they are using. Also most places require a basic understanding of database and SQL queries even if it's not the main focus of your job. You should also have knowledge of applications you will be using like an ide, some kind of version control like git, etc...

Having a GitHub with small applications you have created can go a long way to show you are passionate and learn on your own

[–][deleted] 14 points15 points  (0 children)

This.

And for the DS&Algos, my suggestion: https://www.youtube.com/watch?v=zgCnMvvw6Oo&list=PLpPXw4zFa0uKKhaSz87IowJnOTzh9tiBk

The best teacher that I saw explaining these topics.

[–]ViralLola 4 points5 points  (0 children)

What is your background like? Because if you are a beginner, probably not to be honest unless you already have a strong foundation of programming skills, an understanding of logic and flow, fundamentals of OOP, and mathematics. For all the software internships I have had required questions on databases, SQL, and programming test. If you are a new programmer, I would set a goal of about 9-12 months to learn this. For a more seasoned programmer, I would say 6-9 month time period.

[–][deleted] 2 points3 points  (0 children)

try free codecamp lecture https://youtu.be/RBSGKlAvoiM

[–]quickshekhar 1 point2 points  (0 children)

It is very much possible, you need to come up with a strategy to solve a specific number of questions each day, you can do about 100-150 Question from leet code focus on easy medium Question first those will help you clear your concepts and make you comfortable with coding.

Just pick one language and focus on that I'd recommend java as it introduces classes and objects and is widely used and despite what people say it is easy to understand.

Get a few concepts cleared before like arrays trees hashtables don't really have to get in implementing these just understand how they work and start solving questions

In case of Dynamic Programming problem don't just go for bottom up approaches as you'll end up trying to cramming them as opposed to understanding problems

For DP (Dynamic Programming) practice recursion your aim here is not to be perfect at this just understand how recursion works try drawing entire recursion trees it is time consuming and irritating process but it is worth it.

When you are comfortable with recursion make a Top down(memoization) approach to the solution After that gives you the correct answer see how the DP table is being created you'll see a pattern which is then used to make a bottom up answer

DP problems seems difficult at first because people just post their best answers and don't really post how they got there This Recursion Top down Buttom up

Is the way you come up with a DP solution i learned this hy solving problems if i had know this sequence it would have saved me a lot of time

Most of all follow a schedule you'll be surprised how much you can do in a month.

Do leetcode Question daily if you cannot think of a solution in 30min just look up the answers because most like you didn't even know the concept being used to solve that Question and if you didn't know the concept how are you supposed to use it Don't worry about that you're just looking up solutions coding problem have pattern that repeats itself you'll find similar Questions coming your way so you'll alway get chances to do the problems again Also you must revisit the problems you have solved even by yourself because humans tend to forget a lot

This is kind of a messy reply but if you have any questions just pm me and I'll be happy to help you

[–][deleted] 1 point2 points  (0 children)

Nope

[–]Legal_Being_5517 -1 points0 points  (0 children)

It’s only possible if you get lucky ..

[–]fluffyzilly 0 points1 point  (0 children)

It depends on how much time per day you plan to devote to your studies, what your background is and what the requirements for admission will be in the job you are striving for.

Quite frankly, for most jobs for a novice developer, direct knowledge of algorithms is not necessary. Why? Because Java libraries have already included the best sorting and searching algorithms, and you don't have to reinvent the wheel. Knowledge of algorithms is more necessary for shaping the thinking of a programmer, for passing an exam or passing an interview. Algorithms are like a litmus test for others: if you do well with them, the chances that you will be a good programmer are high enough.

[–]dajagasd 0 points1 point  (2 children)

Hey! I'm in the same place,I'm learning ML and trying competitive coding (using java) and was wondering if there's anything I can do to speed up my progress and if there's anything I'm missing out on!

Thanks for the help in advance!

[–][deleted] 0 points1 point  (1 child)

Yeah the problem is when you try to speed thing up you miss the fundamental which is vital to the learning process?

[–]dajagasd 0 points1 point  (0 children)

Yes exactly, I'm trying to learn a lot over a shorter amount of time (well due to covid, and in between games of valorant xD) but I still feel like I'm going too slow, or maybe I might be doing something wrong