我的算法路 (1)_peking2_新浪博客



我的算法路 (1)_peking2_新浪博客

既然有了博客就想多写一点。离上一次Google onsite差不多正好一年。那个时候心情是悲伤的,心里绝望的。后来才知道我并不孤独,火鸡大哥也经历过类似的感受。当时曾短暂的失去了方向,但是半年以后我怀着非常感激的心理来面对这次失败。

这次失败真正的触动了我,因此我开始了一段比较全面的思考,我做了一个几年以来都犹豫不决的决定,并且给自己定下了一年的期限来完成,否则的话我会选择另外一条路去走。我做了几个重要的决定,学习Java,潜心学习算法和练习编程,找到自信。

再往下继续之前我想谈谈我对面试的理解过程。可能由于我面试公司的档次比较低,以前在国内面试基本上就是聊聊天,现在想起来也就是在华为面试出现过一道算法题,就是小孩站成一个圈数数out的问题。后来有机会在北京去微软,Google面试的时候才发觉他们的重点就在算法题上。当时很幼稚的认为能够解决就算很不错了,因此基本上给出的都是brute force的解法,但是发觉他们马上会要求自己进行优化,我基本就stuck了。因此这种算法面试在我的心理蒙上了一层阴影,长期以来不敢触及他们。后来有关系不错同事在外边找工作,闲聊的时候他介绍给我了PIE和CC150这两本书。当时他的意思是面试的算法题都是这两本书里边的,学好了面试就没啥问题了。因此,我开始看这两本书,学习如何优化以及面试题的各种trick。基本扫了扫这两本书以后,并没有怎么做练习,当时的理解就是面试能说出最优解就可以了。在这种理解之下开始了仓促的面试,并且不断的得到据信,同时也开始混这个论坛。lolhaha是第一个尖锐的指出我的准备十分的不足,而我当时却没有意识。起初把失败归于了语言,我刚开始使用C语言,很快就发觉面试十分的不方便,因此匆忙改到了C#,短暂练习了1个多星期的时候由于很不熟练fail了一个面试,但是一个月以后情况开始好转,拿到了一个offer,很接近另外一个offer。

转到C#不到两个月fail了G。其实当时感觉已经发挥出自己最好的状态了。因此自己很清楚的知道不下一番功夫的话看来是不行了。在我准备面试之前我有一定的数据结构知识,但是算法的知识几乎为零。我感觉我大学根本就没有学什么binary search, 更不要说DP了。因此理论基础非常的差。论坛上看到的很多很多对我来说都是新的术语。

面G之前,从yangcheng那里知道了topcoder。在我决定了转Java,学算法之后,我就正式的开始了我的算法路。现在回想起来我也非常怀念那段时光。

Read full article from 我的算法路 (1)_peking2_新浪博客


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts