Why you failed your tech interview #2 - You messed up your details | FizzBuzzed



Why you failed your tech interview #2 - You messed up your details | FizzBuzzed

Details matter. Getting details wrong and being careless during interviews leads to a lot of failed interviews (that probably should have been passes). In the real world, completely incorrect code can be better than code with subtle bugs. If your code is completely broken, you'll notice with test cases and fix it. If you have subtle errors, the code will likely get through code review and lead to a long and difficult debugging session.

We all make mistakes, but why do some programmers seem to make fewer than others? Are there any tricks you're missing that could help you get the details right?

Here's a classic whiteboard interview gone bad:

Interviewer: "Could you please code (some simple algorithm, binary search, bfs, etc)"

Candidate (after writing some code): "Ok, that should do it."

Interviewer: (squinting at the code): "Hmm well what about this test case?"

Candidate: *Traces what the code would do for the test case and realizes a bug.* "Oh… well let me just fix that."

A small piece of code is scribbled out and changed. The test case now passes…

Interviewer (squinting again): "Hmm well what about this other test case?"

Candidate: *Does some more erasing. Adds another scribble* "Here, now that test case will pass too!"

This 'test case and scribble' pattern continues a few more times until the candidate's code looks nothing like originally intended. The interviewer records the code as written and eventually forwards it to a hiring committee. The hiring committee has only this code as evidence to judge the candidate's ability and assumes the candidate codes spaghetti.

The candidate is rejected.

How can you avoid falling into this trap?

Here are a few techniques that can help you get your code correct the first time:


Read full article from Why you failed your tech interview #2 - You messed up your details | FizzBuzzed


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