Hi everyone, today is my 1 year anniversary of joining leetcode & solving Two Sum for the first time!
Since then, I've solved ~1000 problems & spent a lot of time using this site in general, so I thought I'd write a bit about it.

I don't come from a programming/tech background, I'm a part-time classroom helper in the UK.
I've been learning to code for ~2 years after a DJ Set made me want to try making an image classifier in python with tensorflow.
Before LeetCode my only experience coding came from making this image classifier & solving the first 50 Project Euler problems.
I'm hoping to go to university for Computer Science as a mature student.
I didn't set out with a specific goal or a set number of problems/day.
Before a session I think about how much time I have available, how I feel & set myself a goal that feels achieveable.
There have been days where I spend upwards of 5h leetcoding, though mostly I aim for ~1-2 hrs each day.
In April I realised I might be able to hit 1000 solves in a year & started pushing for it.

Pen & Paper - I like grabbing fresh lined paper every session. I track questions solved & make notes or drawings to help me find a solution.
It sounds silly but after closing the site & powering everything down, it's nice to have a real-world reminder that I did something.
Don't exhaust your pool of Easy questions - I did this & ran out of solveable questions for my ability level in October.
I had thought solving all Easy problems would prepare me for Mediums but they still felt impenetrable at the time.
For Oct & Nov, I ended up doing Google's APPASA cert. instead of LeetCode, which taught me some SQL!
Then I came back & bought a month of premium for more Easy questions. X(
Give contests a try - Contests have become my favourite thing about LeetCode.
I'm glad I took part as a beginner; comparing old contest results with new gives me a tangible sense of improvement.
Having to sit infront of the same problem for 40min+, completely in the dark about how to approach it, really helped me push myself.
Go give yourself a data point to be better than in 3 months' time.
Keep track of when you needed help - I keep a list of questions I couldn't solve without viewing the solution/discuss section.
If you like coding alongside tutorials or needed the solve now (!!) for a study plan/daily challenge, it can be good to track problems you didn't solve alone.
I like revisiting this list sometimes to reattempt a problem that's been collecting dust.
Finding the next doable problem after a solve can be trickier than the problems themselves!
With only 3 categories of difficulty, trying to find a new suitable problem can get discouraging at times.
Explore Cards > Study Plans > Lists & Contests
LeetCode does offer some direction with a mix of related problems in Study Plans & woven into their Explore cards.
Lots of the "Learn" explore cards are available without Premium & these can be a great way to learn new topics while tackling problems at your own level.
That said, they aren't arranged in a suggested order, so I've tried grouping some together in tiers of progression below:
Arrays 101 × Array & String × Linked List × Binary Tree
Binary Search × Queue & Stack × Binary Search Tree × Recursion I
Hash Table × N-ary Tree × Trie × Recursion II
I haven't completed all of these but if I were to start over, I would go through each in turn, followed by the related Study Plans.
Beyond this, I'd recommend using Lists & (Virtual) Contests to find new problems.

Recently I've started adding some filters on the Problems page & then hitting "Pick One"
This selects a random problem from the problems you were browsing, keeping your selected list & any filters in mind!
Outside of LeetCode, the main resources I used were the following books;
Python Crash Course - Eric Matthes
Competitive Programmer’s Handbook - Antti Laaksonen
Algorithmic Thinking - Daniel Zingaro
For now I'm looking to finish the Explore cards & Study Plans I have access to.
I want to keep attending the Biweekly contests & hopefully someday reach more Mediums solved than Easys :x