The second round Google interview

Basically, I screwed up again, this time more embarrassing than the last one. For this one, the problem is easier, so the hardest part is to write a bug free code.

The most problems they asked, I know the basic approach. But since I never actually write the codes down and run before, there are so many conditions I have not realized. For some of the problems, I actually got so frustrated during the process.

Anyway, it just means one thing.

There is no shortcut for programming until you do it step by step.

But until now, it is still a fun  process. I will keep it up!!

Job Hunting — Rejection after phone screen

It feels much worse than directly rejected. When HR contacts you and wish to set up a phone interview, I  was filled with a lot of hope. But the result was never hearing back.

It haunted me for a while,  because I can not think of anything going wrong. Why an HR rejected me? Is it because I am not expressing my passion for the job?  Or I have not picked up the particular skills they need ?  Or HR felt I was good but rejected by the engineer team?

I don’t know, but I think maybe I deserve a direct call and inform me the result.  Rejection without any notification is the worst  situation a job hunter can image.

Both the companies rejected me after the phone screen are my ideal ones, which make it even suck.

Anyway, I need to pay attention to HR first phone screen and make sure I have conveyed what I have to say.

 

Job hunting– Coding Challenges

By far, I have done two coding challenges for two different companies,  one is a financial firm and the other is a startup focusing on robotics.

Honestly, coding is not my strength ( which is my strength? I don’t know either..), especially all they need is object  oriented programming.  In reality, I have never done that before.  I did code a lot , but most of them are simply for computation, like FFT, convolutions, etc.  Coding to solve a complex problem is not what I am familiar with.

In addition, I am not familiar with all STL in C++. It takes me a while to figure out which  function to use and what kind of value they return.

At last, I was able to finish both tests, but they all took longer than expected. I don’t know whether or not they are satisfied with the result, but at least, I am quite happy with my results.

The only problem is lacking of practice. I type too slow and don’t pay attention a lot of small details, so for each project, debugging is my headache. That skills can not gain overnight. Years of experience will prepare me with these great instincts, but at this moment, I am lacking of them.

First challenge : design a data structure to record all orders in the stock market, expected 3 hours  This would be my first time really implementing class objects. Finally the result works, but I should use a better data structure..

Second challenge :  evaluate a string , transferring it into arithmetic results, expected 2 hours.  I vaguely remember we should use stacks for this operation. But still I never tried it before, and it took me a while to really understand why stack should be the right data structure. I think they would be disappointed.

Anyway, the only way to improve my programming skills is to continue programming.  Sadly, there is no shortcut.

 

 

First Google Phone interview -probably failed it

I feel terrible after the interview, though I think I got the answer correctly. I have so many syntax errors  that even after the interview,  I feel terribly haunted by this feeling.

As a student mostly relying on Matlab and C, I almost forget the syntax used in C++. The worst of all, I did not spend time to practice my code writing.  In such a short time, I need to come up with the right solution, explain that and also write down the correct code format.

But that coding question is not an easy one, two dimensional matrix + Dynamic Programming..  I almost fainted seeing the 2D matrix.

Anyway, just a good experience. Now I can say loud, I know how Google hires. That was a tough one…

 

 

My journey on quitting alcohol (temporarily)

 

4ad0fab12dd4b2e057a30e8edd6d84e3

On the first day of 2017, as usual, I made up a list of new year resolutions, of which the top one is quitting drinking.

Don’t mistake it as hatred towards alcohol. Definitely no, I am a big fan of it.  Alcohol is a pleasure, occasional and social drinking is one of the things I enjoy the most in life. However, the problem is my excessive drinking. In another words, I am addicted to it.

For the last two years, I have to drink every single day, otherwise, I just can not fall asleep. Whenever I feel down, I open a beer or wine.  More often, I intentionally indulge myself to drink to black out because I don’t want to remember anything.  Alcohol  is my only way to  escape from all the problems I have to face in life.  The sad thing is , the next morning, when I recover from the hangover, I feel it even harder to solve the problem at hand.

So, I made up my mind, I need to stop drinking.  But this task seems like impossible. The first day I made up my mind, I broke it at night when seeing two friends drinking downsides and joining them.  I calmed myself down by saying it was fine, since I am Chinese,  the new year in Chinese calendar was still one months away.  Ironically,  in the first day of Chinese new year, I was totally drunk and slept in bed for two days.

The struggle to quit drinking is harder than I think. But I need to do that, I don’t want to screw my life and eternally out of control.

As an engineer, my way of solving a problem is to start with the real cause of it. I soon realize that like all other addictions, the real problem is not the substance that I am craving for, in this case, wine or beer, but the emotional and psychological needs in my heart.  I am just no satisfied with my current condition, both work and life, but can not find the way to get out.  I feel empty and powerless.

 

So instead of using willpower to quit drinking, I start to use other ways to empower myself, regaining my confidence in myself.  Learning new skills, working out, building muscle and adding nutrition in my diet, those things seem small but quite effective.

Whenever I feel the impulse to drink, I go and run 3 miles. Running is a great way to regain your control.

Though I can not say I have successfully quit drinking, I still want to share this experience with others who are struggling with all kinds of  addictions. The problem with addiction is really not about particular substance or behavior, it has a deep psychological root that you need to dig and face honestly. Addiction only provides a temporal smooth at a cost of much more severe trouble in future.  Only through facing yourself directly can you truly get back control of yourself.