Saturday, June 23, 2018

Byte to byte - Algorithm and data structure problem solving coaching

June 23, 2018

Introduction


I met a young graduate student and we worked together on mock interview algorithms 90 minutes. I worked on Sudoku solver, and he worked on binary search Array index and Element equality. He recommended me to watch Byte to Byte video on youtube.com.

It is such a good conversation with the young graduate, we did talk about a little theory about binary search algorithm, common mistakes, base case, dead loop, and lowest index, recursive function vs iterative solution.

And we talked about more about internship, onsite interviews. I really learn a few things about young graduate  student, a very good engineer and quick to write and work on coding all the time. Compared to him, I am kind of slow to get along with the peer, and not so good to work on a test case, and try to figure out things on the fly, make thing work.

One fact is that I practice binary search last 6 month over 50 times through mock interview, the peer only did once. I did see a lot of issues in the coding part. But I also learn how to judge a person with good thinking process and how to take hint and move forward. I treat the algorithm problem solving likes sports, there is no way to avoid hard work. Embrace it.


Research 


Academic research is such a great topic and I wish that I have time to get into more on a topic.

One video to watch


Here is five minutes called "Increasing your creativity and solve any coding interview problem".

Spend 15 minutes to go over all possible solutions first. We should not go to optimal solution right away.

Take the time to really think and even wild ideas. What sort of things will work, what sort of things will not work.




learn from one engineer - Tan chao

June 23, 2018

Introduction


I read the article on 1acre3land.com, and came cross the name called 覃超.

20 minutes study


Here is the video I watched. 5 minutes video is here. 25 minutes video is here, the topic is things learned in the facebook.

Book to read: Find strengths 2.0

One argument is to work hard, you can do the best.

Every one should find yourself the strong five personalities.

Advice:
Prioritize your tasks
Have your vision
Keep practicing
Watch replay


Reading time - 1point3acres.com

June 23, 2018

Introduction


I understand that I need to catch up a lot of reading. One time my coach showed me how he came out an algorithm for me to work on since he saw a post on 1point3acres.com, so he just changed the phrase. The algorithm is here.

Saturday reading 


Here is the gist I created for the article to talk about software programmer interview and computer science PH.D. program.

A few arguments to think about 


Here are some good arguments to think about from the above article.

Argument 1:

很早之前在B家工作时,就与同事们有一个传统,就是保持市场竞争力的最好方式是出公司面试,看看自己的技能和经验在市场中的价值, 以此判断自己在行业中的位置,是被淘汰还是引领。所以,面试硅谷并不仅仅是为了执行自己的决定,也是一种校正职业方向的方式。

Tennis sports and friendship

June 22, 2018

Introduction


I make a new friend so quickly before I even notice. Last time I went to the tennis court to hit against the wall, the young man next to me told me that he played tennis with me before last year, I have no clue maybe he lied. So I asked him to rally with me on tennis court since I like to run more on the court.

I learn to respect the partner time and also give feedback nicely. I asked him to put more topspin and therefore he can place the tennis ball just before me, one meter away, not running too hard, and show him to put more windshield wipe on the swing. Sometimes I just coach those friends to quickly be my professional hitting partner. He came to the court multiple times a day in the weekend, I told him that I could not come the morning and afternoon because I need to work at home. I need to have 30 minutes workout, run a lot hitting on tennis court.

Old friends also start to like me since I share the tips and show up on tennis courts more often. I am open to stay alone and hit against the wall at the beginning, hunting for hitting partner for next 20 to 30 minutes.

I still remember one advice from the senior player, he told me once there are 12 courts, every five minutes there is change on one of courts. I am just very patient. This can apply to those job seekers on software engineer area as well.

I have done a lot of study on tennis sports, so when a friend told me that she fell on the tennis court, and her partner also fell a few times. He showed me how he fell when he walked backward. I took a few minutes to explain how to run backward using correct foot work [Ref. 1] to prevent falling, expand the center of body weight in-between two legs widely separated.

Today I went to court and started to play against the wall. I was invited to play a double match. I believe that last time I shared the safety tip, they like my advise. After the match, I start to rally against another player.

Friendship


I think about those friendship on tennis court. I play tennis with a lot of people, some of them put a lot of hours on tennis court this season. I need to work on algorithm and contest, I usually cut time to maximum two hours every time. I only show up a few times a week.

We used to spend hundreds of hours together last few years. I cannot spend hundreds of hours on tennis court this summer.

Summer is such great time in the city of Burnaby central park. I need to lose more weight and need to get those friends help me to stay on the court, play harder and run for each tennis ball.

Editorial note:

What happen to those colored sentence?
I wrote the blog first. And then I read again in the second day, I like to make correction. I added some content to make the blog more meaningful. So I highlighted those additional clauses.


References:

1. https://www.optimumtennis.net/tennis-footwork.htm


Friday, June 22, 2018

week of code 38

June 22, 2018

Introduction


It is time for me to work on week of code contest again. I miss those medium level algorithm and those long hours to work on algorithm and try to advance the ranking. I like to dedicate at least more than 8 hours on the contest.

Life can not be that hard. As long as I try to solve hard and advanced level algorithm every week, I will learn something and also fully enjoy the time to work on those algorithms.


Thursday, June 21, 2018

Day five - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.


668 40.7%Hard
675 26.9%Hard
679
24 Game    
38.8%Hard
683
K Empty Slots    
33.5%Hard
685 27.6%Hard
689 41.4%Hard
691 35.1%Hard
699 38.1%Hard
711 41.9%Hard
715
Range Module    
30.9%Hard

Day four - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.


716
Max Stack    
36.9%Hard
719 27.7%Hard
726 43.4%Hard
727 31.2%Hard
730 35.4%Hard
732 49.6%Hard
736 41.9%Hard
741
Cherry Pickup    
24.1%Hard
745 26.0%Hard
749
Contain Virus    
40.3%Hard

Day three - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.


753 40.8%Hard
757 35.1%Hard
759 53.3%Hard
761 43.5%Hard
765 48.3%Hard
768 43.4%Hard
770 42.5%Hard
772 40.4%Hard
773 46.3%Hard
774 33.0%Hard

Day two - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.

778 44.6%Hard
780 24.0%Hard
782 37.4%Hard
786 32.7%Hard
793 41.8%Hard
798 33.4%Hard
803 22.8%Hard
805 20.4%Hard
810 38.6%Hard
815
Bus Routes    
32.5%Hard