Thursday, June 2, 2016

small talk on code interview

June 2, 2016

Still try to learn something about white board/ code interview.

Study articles, and then write down some notes:
1. https://blog.devmastery.com/how-to-win-the-coding-interview-71ae7102d685#.3ilg3h6vb

Whiteboard and Coding:
Look for a developer who can think on her feet, under pressure, in a room with others.

1. Verbalize your assumptions and seek to confirm them.
Think about assumptions you might be making, and ask me about them.

2. Think out loud.
Show your thought process.
Knowing that you understand how to reason about a problem is far more valuable to me than knowing that you've memorize the name of some built-in function.

Julia's comment:
Draw a diagram to prepare a test case for the problem, at least show some complexity of problem.
Like brute force discussion - how to solve them.

3. Don't be afraid to ask for help
It is very expensive to hire someone who refuses to ask for help when he is stuck?

If you are stuck or don't know something, ask me.

Julia's comment:
Julia has to learn how to communicate, learn a new word: Speak concise with some detail. Stop, and then ask if I answer your question. Do not speak more, showing no confidence. People will ask you more if you stop. Do not volunteer information, do not change topic.

4. Represent your skills and experience honestly

There is a threshold for questions and commentary.

Julia's comment: 
Always be humble. And open to learn.

Part 2 - Coding on a computer

1. Code to spec -

Ask good questions -

2. How well you can follow instructions.

3. Assume that this code will be put into a real production system and write accordingly.

    Your code should be commented.
    You should have error handling or at least logging.
    Your code show avoid breaking at all costs.
    You should have a test harness.
    Your code should be easy-to-read and self-explanatory. (clear variable names, good formatting, ideally "lint free" code).

   suggestions: check JavaScript, jQuery codebase on GitHub.

  "efficient" in production:
  Run fast/  Doesn't take up more memory than it needs to / is stable and easy to maintain.

Part 3: Algorithms
  Khan Academy - https://www.khanacademy.org/computing/computer-science/algorithms

Part 4 - Passing without solving the problem
1. Do not give up too easily.
Put in a real effort.

Julia's comment: Usually there are over 10 solutions working out for a problem. Julia saw hackerRank submissions, so many creative ideas out there.

2. Pseudo-code it.
Julia's comment: call your own function, write a few small functions to support your algorithm. Do not interrupt your main function, write small functions afterwards.

3. List your Know Unknowns

Part 5 - Practice, Practice, Practice

If you practice enough, and really work at it, you'll even be able to handle a question you've never seen before. You'll have confidence and you'll be able to relate it to something else you've probably tried. 


2. https://medium.com/@evnowandforever/f-you-i-quit-hiring-is-broken-bb8f3a48d324#.ydj3j7n2m

How the hashtable is implemented?
https://en.wikipedia.org/wiki/Hash_table

Questions in interview
1. Hash function, key -> index value in associated array
Load factor
Collision
Open addressing

2. Two sum
3. Palindrome





No comments:

Post a Comment