From January 2015, she started to practice leetcode questions; she trains herself to stay focus, develops "muscle" memory when she practices those questions one by one.
2015年初, Julia开始参与做Leetcode, 开通自己第一个博客. 刷Leet code的题目, 她看了很多的代码, 每个人那学一点, 也开通Github, 发表自己的代码, 尝试写自己的一些体会.
She learns from her favorite sports – tennis, 10,000 serves practice builds up good memory for a great serve. Just keep going.
Hard work beats talent when talent fails to work hard.
It is 9:42 PM. I like to write a blog related to the topic called confidence. How to have confidence to make a living in the city of Vancouver? I played tennis this evening over one hour from 6:00 PM to 7:00 PM, I thought about a lot on tennis court. I knew that it is time for me to relax and also enjoy the sports.
I spent one hour to watch the pastor Hua Xin's video. Here is the link.
I like to start to work on medium level algorithms. I choose to work on tree algorithm, 40 medium level algorithms, I solved 14 algorithms before, I need to solve 26 medium tree level algorithms this time.
I plan to work on those 26 medium tree level algorithms together. It is much better to learn those algorithm together.
I like to write a blog for Leetcode weekly contest 103. I played the contest but I learned that it is tough experience. I only felt frustrated very short time, I like to get back to my Leetcode easy level algorithm practice as soon as possible.
The idea of training is to work hard, and work on my target. My target is to solve more problems using existing talent as quick as possible. Meanwhile I will try to build a good habit to solve problems every day.
It is so surprising that I have chance to learn a dynamic programming solution through the discuss. Here is the link to study dynamic programming solution for the algorithm. I will write one using C# as well.
Here is my discuss link.I also answered one of questions, here is my answer.
It is time to document my practice over 10 hours. I learn to design classes using Abstract, Virtual, override, and also Interface. It is very good exercise and I learn to work hard to make it work as well.
It is easy to find blogs related to topic using keyword: solve easy level algorithms. Here are blogs for me to go over and review.
I find out that I finished 50 easy level array algorithm from August 14 to Sept 4, 2018. I found out that my experience of 5 easy level algorithms a day, 10 easy level algorithms a day. I learn to rush to do more work after I complete those practice.
How to measure my practice?
It is an interesting topic to look into. I learn to work on 5 easy level algorithm, and then 10 easy level algorithms a day. What is maximum number I can reach in one day? Can I solve 20 easy level algorithms a day?
It is time for me to study one business a time. I think that it is best for me to learn more business. Stream service is so popular and I just had experience to learn Amazon prime video this past June 2018.
I just read one article written by a software engineer in Spotify.
It is most common talk in the mock interview on interviewing.io. I usually ask the interviewee what companies to prepare for the interviews. A lot of times the players tell me that eventually they like to work for big 4 software companies. I also like to say that over years as well.
Action speaks its own
It is hard to act on it. I learn how to manage the practice, use metrics to read data and then analyze my progress, submission in the last 12 months, contest global ranking, solved algorithms.
I started to work on Leetcode algorithm from January 2015. But I did not learn how to solve more algorithms in short time. After one year, second year, third year, now it is fourth year. I got a coach in June for two weeks, and then he gave me advice in July 10, 2018.
One thing I like to do is to work on Leetcode easy level algorithm, solve 200 easy level algorithms first. I started this July 10, 2018, right now I have solved 120 easy level algorithm. Still I have 80 algorithms to go.
The secret - talk to the best player
I learn to talk to the best player, and be humble, take advice.
It is the study called Leetcode weekly global contest ranking. I studied top 300 global ranking of Leetcode contest, and then I found some article to read.
Leetcode progress study
Here is my Leetcode progress: 37762, contest ranking 14347.
I know that next 200 algorithm to work on, 50 will be easy level algorithms, rest will be medium level or higher.
Compared to the author of article, I learn that I have to work on another 200 algorithms at least, and also I need to push myself work hard on Leetcode algorithm. I need to advance my global contest ranking to top 5000 first.
It is the learning process for me how to handle frustration and failure. I learn to read my own data first. Here is my Leetcode progress report. I finished 219 algorithms, and played four contests. My ranking is 14347/ 69980.
I know that I have to be patient and then work on more Leetcode algorithms.
I had chance to meet a new graduate from university in China, and he finished over 400 algorithms, and his contest ranking is around 2000.
He started to practice Leetcode from 2017 Oct., before that he worked on BOJ and worked on more than one hundred algorithms.
My Leetcode ranking is 37762. Contest ranking is 14347. I checked in Sept. 22, 2018, 11:11 AM.
I like to find ways to complete another 200 Leetcode algorithms in next 6 months.
I like to work on two targets, the first one is to complete another 200 Leetcode algorithm practice. The second one is to advance ranking of contest to first 2000 as well. The young graduate is my role model.
It was my 9:00 PM mock interview, and it was my fourth interview as an interviewee. I had chance to work with the interviewer, and I answered the first three algorithms and explained the ideas in the first 12 minutes, and then moved on the fourth algorithm which is the hard level Leetcode 212 Trie. I explained the idea how to solve the algorithm, and wrote the code until we reached 45 minutes mark. We chat about 15 minutes about practicing and learning.
I had 10:00 PM mock interview as an interviewer, and I did not explain to the interviewer of 9:00 PM until 10:01 PM. I rushed to say goodbye and then started my 10:02 mock interview.
Minimum meeting rooms
Find words in the dictionary
My feedback as an interviewee
Would you want to work with this person? *
How excited would you be to work with them?
Where do I sign?!!?
How good were the questions?
How helpful was your interviewer in guiding you to the solution(s)?
Help your interviewer get better!
He is very generous to share with me, give me instant feedback.
I did not analyze the trie and design very well. He gave me some good advice to write the code with API of trie first.
Do you want to advance this person to the next round (e.g. onsite)? *
How were their technical skills?
Could use improvement
How was their problem solving ability?
Could use improvement
What about their communication ability?
Help your interviewee get better!
The interviewee has really good communication skills. But the coding needs some improvement. She mentioned that the problem is familiar to her and she had solved it before. But when it came to implementation she was trying to remember the steps instead of trying to think by herself.
The code was not well structured and as we spent a lot of time just trying to come up with the algorithm there was not enough time to implement everything.
It is so surprising that I saw Linkedin notification. And one of 1st link joined Google recently, the career path is this way, Vancouver SFU -> SAP -> Amazon -> Sales Force, and then USA Google. It takes around six years from 2012 to 2018.
It is 11:27 PM. I have 10 minutes to write a topic called how to define a career path. What is most common way to find your next career?
I like to write a blog to document my day with five easy level algorithms. If I can finish every algorithm in less than 15 minutes, then I only need less than 90 minutes.
It is just one and half hour. And I will be free to do anything else for the day.
The first algorithm 453. Minimum Moves to Equal Array Elements, I misunderstood the problem statement, after I submitted the code, I noticed that n - 1 element should be selected every time, not 2 elements.
And I continued to work on the algorithm, I think that it is too much work to increase one for n - 1 elements, because it can not be determined easily. So I considered the case to change one element to decrease one instead.
Those two instances takes me extra time. I stopped to work on the easy level algorithm, and started again next morning.
It is a busy year, I started to subscribe Frontendmasters.com and also pluralsight.com starting from January, and then I stopped both of them in July. I found out that I do not have time to learn something from those courses.
Today I spent over 30 minutes to study subscription on Coursera.com.
Ideas to evaluate
Subscribe monthly subscription for algorithm speciality, and then get some learning over there.
Audit is free. So I should spent time to watch those videos and learn algorithm better.
It is my 30 minutes study of Leetcode contest leader board top 150. I did have some experience on Hackerrank contest leader board. The link is here, global ranking.
My job is to get some common sense about the talent and how strong they are, what jobs they have, age and experience. The numbers I look into are submission last year, total submission, and education etc.
I think that it is so important for me to understand how good they are. Compared to those players, I have a lot of work to do to catch up.
I read one of players's github in top 250, he finished over 500 algorithm in 45 days. I just could not believe that.