Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Better programmer overview

1,998 views

Published on

How to become a programming rockstar that companies are looking for you

Published in: Education
  • Be the first to comment

Better programmer overview

  1. 1. Better Programmer Because, you can never be the best.
  2. 2. What do you want to be ? ● Scientist ● Technologist ● Strategist ● Others ?
  3. 3. Which Company ? ● Product Vs Service based ● Startups Vs Established ● Research Labs ● Tier1, Tier2, Tier3 and Tierless :)
  4. 4. Interview Patterns ● Tier 1 ● Tier 2
  5. 5. Repertoire ● Basic Mathematics ○ Algebra ■ Polynomials, Equations, Functions, Relations ○ Calculus ■ Limits and Continuity ■ Differentiation and Applications ■ L’ Hopital theorem ○ Basics of Counting ■ Permutations and Combinations ■ Enumerating ■ Recurrence Relations ■ Probability and Expected Values ○ Introductory Number Theory ■ Divisibility ■ GCD, LCM, modular arithmetics ■ Prime numbers, Integer Factorization
  6. 6. Repertoire ● Programming Knowledge ○ Operator Precedence ○ Bit Manipulation ○ Pointers ○ Recursion ○ Storage Level Details ○ Best Practices and Patterns ○ Common Coding Mistakes ● Miscellaneous ○ Operating Systems ○ Networking ○ Databases ○ Distributed Sense ○ Trends
  7. 7. Suggestions ● Discuss input scenarios and test cases. ● Spend a moment on boundary cases. ● Clearly state assumptions. ● Do not hesitate to give a brute-force suggestion. ● If you are not able to move ahead take more test cases and observe. ● If you still cannot do beyond brute-force, ask the expected time complexity. ● Try to discuss about complexity of your solution before code.
  8. 8. Only few please ... ● List, Stack, Queue ● Tree, BST, Heap, Trie ● Graphs: BFS, DFS, Topological Sorting ● Hashing, Searching, Sorting ● Design Strategies: Greedy, DnC, Dynamic Programming, Recursion and Backtracking ●
  9. 9. Suggestions ● Ask interviewer if you should do better. ● Null checks. ● No magical constants. ● Write comments if and when needed. ● Dry run without miss. ● Mention invariants, if you have any. ● Try to catch the errors once written. ● Talk about correctness before interviewer asks you. ● If interviewer said there is a better solution, ask politely if he can reveal that. ● Questions at the end of interview ?
  10. 10. Prep ● CLRS ● Art of Computer Programming ● Algorithms by Dasgupta ● Steven Skiena
  11. 11. Practice ● topcoder.com ● projecteuler.net ● spoj.pl ● codechef.com ● uva.onlinejudge.org ● usaco.org ● leetcode.com/problemset/algorithms ● interviewbit.com ● stackoverflow, geeks4geeks, careercup
  12. 12. CV ? ● No hobbies please ... ● No too many personal details. ● Pointers. ● One pager vs booklet.
  13. 13. Negotiation ?
  14. 14. Thank you gopi6sigma@gmail.com

×