Copy pasting my comment from one of the post.
Replace your fav. programming language with Java.
Typical rounds in a startup/mnc are like - dsa, machine coding, lld/hld + java, hm + resume.
Dsa -> love babber, striver and neetcode is good. My recommendation is to give a leetcode contest a day and evaluate what you did wrong and iterate over it. Side by side do questions by topic.
lld -> do machine coding instead and pick questions from leetcode discussion inside object oriented design section. try to add and remove requirements and see how your code changes. check for exception handling, good classes and naming, SOLID is followed properly or not. You can follow from grokkeing low level design for starter. Also to learn design patterns- head first java is wonderful but long. you can try learning from youtube(no specific channel) and implement it to check your knowledge.
hld -> write down all the framework, databases, tools you have used and then start going deep into them. like Exp- dynamodb, how it replicates data across regions and what changes with normal write vs transactional write inside system. some people like Arpit Bhayani,
Neo K, Sahm Lam, Hussein Nasser listen/read what they talk about things.
Then to prepare for interview go with alex xu books.
Try reading some company articles/blog you find interesting 10 of them will be good enough to give you prospective.
Suggestions - focus on databases(sql,nosql) more and distributed systems scenarios.
Hm -> read your solution doc and ask yourself why you used or did what you did and prepare answer for that.
P.S. for more senior roles SDE2/3+ - lld/machine coding is expected to be more of well thought code covering most of edge cases. yes also you need to write fast.
P.S.S - companies are hiring at least for 5-8+ yrs
I had machine learning project in my resume from college, no one ever asked it in backend interview so i removed from my resume.