Learning from Interview

Talking aloud
Communication


- Have a good/friendly/happy conversation with the interviewer
- Eye contact, real discussion
- Make interviewer like you: your personality, your skills etc
- Show the process how you tackle the problem

Always think whether there are different/better approaches
- If you find it (even after you finish your current approaches) , still say it

If there are somethings that you didn't solve or understand
- Ask for hints/solutions 
- if possible
- Even that questions maybe not that important: that shows you want to learn in any cirsumstances

Before interview
- Know how many questions they would ask
- Some companies/interviewers likes to ask simple code questions as warm up, if you spend too much time on it, there may be no much time left for the next real question.
- Though, personally lots of warm up coding questions is not that useful - as it only causes confusion.
- Good warm up questions: 
-- different types: simple dfs/recursion question

When write code
What expectations from the interviewers:
- Do they care about details such as sanity check, corner cases
- Or they focus on the high level algorithm and your problem solving skills
- If they ask you simple coding questions, pay more attention to details when you write the code and later when re-check

- If possible - depend on timings
- Always say: let me check the code again after you finish your first draft code
- Always run some examples:
  - Generalize your example: isPalindromOneDiff

Never say:
I don't know
- Try to solve it, infer from your existing knowledge 

Even after you finish your code/design, think aloud what you can improve
What's the time/space complexity of your current approach
How you can improve it:
- your current approach: O(1) time, O(n) time,  can you use lesser space but still O(1) time, or lesser space but more time: like O(logn) time

When find/realize there are something you can improve: in the code, design
- Say it,
- Fix it 
- in the code, if possible before the interviewer takes the picture

Even after all this, ask the interviewer:
- Take this as a chance to learn something
Is there any better approach?
Did I miss anything in the design?

Reflection
- Think what you can do better, what mistakes you made, what lessons you learned after interview

When write code
What states/variables/invariants you are trying to maintain

Source of bugs
loop variables 
- forget to change them: next=current.next; 
Post a Comment

Labels

Java (159) Lucene-Solr (112) Interview (61) All (58) J2SE (53) Algorithm (45) Soft Skills (38) Eclipse (33) Code Example (31) Linux (25) JavaScript (23) Spring (22) Windows (22) Web Development (20) Tools (19) Nutch2 (18) Bugs (17) Debug (16) Defects (14) Text Mining (14) J2EE (13) Network (13) Troubleshooting (13) PowerShell (11) Chrome (9) Design (9) How to (9) Learning code (9) Performance (9) Problem Solving (9) UIMA (9) html (9) Http Client (8) Maven (8) Security (8) bat (8) blogger (8) Big Data (7) Continuous Integration (7) Google (7) Guava (7) JSON (7) Shell (7) ANT (6) Coding Skills (6) Database (6) Lesson Learned (6) Programmer Skills (6) Scala (6) Tips (6) css (6) Algorithm Series (5) Cache (5) Dynamic Languages (5) IDE (5) System Design (5) adsense (5) xml (5) AIX (4) Code Quality (4) GAE (4) Git (4) Good Programming Practices (4) Jackson (4) Memory Usage (4) Miscs (4) OpenNLP (4) Project Managment (4) Spark (4) Testing (4) ads (4) regular-expression (4) Android (3) Apache Spark (3) Become a Better You (3) Concurrency (3) Eclipse RCP (3) English (3) Happy Hacking (3) IBM (3) J2SE Knowledge Series (3) JAX-RS (3) Jetty (3) Restful Web Service (3) Script (3) regex (3) seo (3) .Net (2) Android Studio (2) Apache (2) Apache Procrun (2) Architecture (2) Batch (2) Bit Operation (2) Build (2) Building Scalable Web Sites (2) C# (2) C/C++ (2) CSV (2) Career (2) Cassandra (2) Distributed (2) Fiddler (2) Firefox (2) Google Drive (2) Gson (2) How to Interview (2) Html Parser (2) Http (2) Image Tools (2) JQuery (2) Jersey (2) LDAP (2) Life (2) Logging (2) Python (2) Software Issues (2) Storage (2) Text Search (2) xml parser (2) AOP (1) Application Design (1) AspectJ (1) Chrome DevTools (1) Cloud (1) Codility (1) Data Mining (1) Data Structure (1) ExceptionUtils (1) Exif (1) Feature Request (1) FindBugs (1) Greasemonkey (1) HTML5 (1) Httpd (1) I18N (1) IBM Java Thread Dump Analyzer (1) JDK Source Code (1) JDK8 (1) JMX (1) Lazy Developer (1) Mac (1) Machine Learning (1) Mobile (1) My Plan for 2010 (1) Netbeans (1) Notes (1) Operating System (1) Perl (1) Problems (1) Product Architecture (1) Programming Life (1) Quality (1) Redhat (1) Redis (1) Review (1) RxJava (1) Solutions logs (1) Team Management (1) Thread Dump Analyzer (1) Visualization (1) boilerpipe (1) htm (1) ongoing (1) procrun (1) rss (1)

Popular Posts