|
12 | 12 | - [Solve follow up questions](#solve-follow-up-questions)
|
13 | 13 | - [Interview mindset](#interview-mindset)
|
14 | 14 | - [Understanding what interviewers really wants](#understanding-what-interviewers-really-wants)
|
| 15 | + - [Checklist](#checklist) |
| 16 | + - [Things to be careful.](#things-to-be-careful) |
| 17 | + - [Phone interviews](#phone-interviews) |
| 18 | + - [Onsite interviews](#onsite-interviews) |
15 | 19 | - [Interview mistakes made in past](#interview-mistakes-made-in-past)
|
16 | 20 | - [Whiteboard coding pros and cons](#whiteboard-coding-pros-and-cons)
|
17 | 21 | - [Practice mindset](#practice-mindset)
|
|
84 | 88 | - [Internal structure](#internal-structure)
|
85 | 89 | - [Heapify](#heapify)
|
86 | 90 | - [Sift up/down](#sift-updown)
|
87 |
| - - [PriorityQueue](#priorityqueue-1) |
88 | 91 | - [Improve built-in remove O\(n\)](#improve-built-in-remove-on)
|
89 | 92 | - [Lambda expression as comparator](#lambda-expression-as-comparator)
|
90 | 93 | - [Top K problems](#top-k-problems)
|
|
113 | 116 | - [Detect cycles inside directed graph](#detect-cycles-inside-directed-graph)
|
114 | 117 | - [Trie](#trie)
|
115 | 118 | - [Use case](#use-case-1)
|
116 |
| - - [Trie definition](#trie-definition) |
| 119 | + - [Trie definition and common tasks](#trie-definition-and-common-tasks) |
117 | 120 | - [Algorithms](#algorithms)
|
118 | 121 | - [Math](#math)
|
119 | 122 | - [Random](#random)
|
|
344 | 347 | | Write code to solve problem | <ul><li>Jumps into writing code</li><li>Awkward silence</li></ul> | <ul><li>Would I want to work with them everyday</li><li>Have they actually written production grade code</li><li>What do they do when stuck</li></ul> |
|
345 | 348 | | Maybe you could try this ... | <ul><li>Take advice without serious thinking</li></ul> | <ul><li>Do they think independently</li><li>How fast can they absord new information</li><li>Do they take advice/directions well</li><li>Do they learn quickly and run with it</li></ul> |
|
346 | 349 |
|
| 350 | +#### Checklist |
| 351 | +##### Things to be careful. |
| 352 | +* Do not just give "yes" or "no" answers. Limit initial explanation to short summaries and allow the interviewer to ask follow up questions. |
| 353 | +* Your tone of voice and word choice. Interviewers use voice to judge how believable you are. Posture really have impact on your mind. |
| 354 | +* Eye contact and shake hands. Say thanks to interviewers at last. |
| 355 | + |
| 356 | +##### Phone interviews |
| 357 | +* Test the online coding environment. |
| 358 | +* Make sure your cellphone has enough battery. |
| 359 | +* Have a copy of resume in front of you. |
| 360 | +* Take notes and write a follow up thank you email with details from the discussion. |
| 361 | + |
| 362 | +##### Onsite interviews |
| 363 | +* Show up 15 minutes early and have the interviewer's phone number for last minute changes. |
| 364 | +* Things to bring with you |
| 365 | + - Identity card. |
| 366 | + - Bring extra copies of your resume with you - for the interviewer and your own reference. |
| 367 | + - Notes on the detailed schedule. Put interviewers' names and interview topic on a sticker and bring it with me. |
| 368 | + - Tea/Coffee. |
| 369 | + - Whiteboard pen and erasers. |
| 370 | + - A piece of pen and paper. Take notes when an interviewer speaks to help yourself focus and ask more specific questions. |
| 371 | + - Computers for last minute warm-up. |
| 372 | + |
347 | 373 | #### Interview mistakes made in past
|
348 | 374 | * Too nervous: When I become too nervous, I just could not speak. This is the number one red flag during interviews. No one wants to work with people who cannot speak.
|
349 | 375 | * Ignore first impression importance: Don't smile/handshake/look into interviewers' eyes.
|
@@ -773,8 +799,6 @@ class FinalizeExample
|
773 | 799 | ##### Use Weak reference
|
774 | 800 |
|
775 | 801 | ```java
|
776 |
| -package com.pluralsight; |
777 |
| - |
778 | 802 | import java.lang.ref.WeakReference;
|
779 | 803 |
|
780 | 804 | public class Main {
|
@@ -816,8 +840,6 @@ class Person {
|
816 | 840 | - Meta data goes away
|
817 | 841 |
|
818 | 842 | ```java
|
819 |
| -package com.pluralsight; |
820 |
| - |
821 | 843 | import java.util.Date;
|
822 | 844 | import java.util.WeakHashMap;
|
823 | 845 |
|
@@ -879,8 +901,6 @@ class PersonMetaData {
|
879 | 901 | - Reference object added to the queue
|
880 | 902 |
|
881 | 903 | ```java
|
882 |
| -package com.pluralsight; |
883 |
| - |
884 | 904 | import java.io.BufferedReader;
|
885 | 905 | import java.io.IOException;
|
886 | 906 | import java.io.InputStreamReader;
|
@@ -954,8 +974,6 @@ class PersonWeakReference extends WeakReference<Person> {
|
954 | 974 | - Not sure when they will be called
|
955 | 975 |
|
956 | 976 | ```java
|
957 |
| -package com.pluralsight; |
958 |
| - |
959 | 977 | import java.lang.ref.PhantomReference;
|
960 | 978 | import java.lang.ref.Reference;
|
961 | 979 | import java.lang.ref.ReferenceQueue;
|
@@ -1620,7 +1638,6 @@ public void heapify(int[] A) {
|
1620 | 1638 | }
|
1621 | 1639 | ```
|
1622 | 1640 |
|
1623 |
| -#### PriorityQueue |
1624 | 1641 | ##### Improve built-in remove O(n)
|
1625 | 1642 | * Built-in implementation remove() method for priorityqueue has O(n) time complexity.
|
1626 | 1643 | - O(n) time is spent on looping through entire queue to find the element to be removed. O(logn) is used to remove the element
|
@@ -2287,7 +2304,7 @@ private boolean hasCycle( GraphNode root, Set<GraphNode> isDiscovered, Set<Graph
|
2287 | 2304 | - Space complexity: when storing a list of words (Especially when these words share prefix), using trie save space.
|
2288 | 2305 | - Time complexity: to compute hashcode for a string, O(n) time complexity; find/insert a string in a trie, the same
|
2289 | 2306 |
|
2290 |
| -##### Trie definition |
| 2307 | +##### Trie definition and common tasks |
2291 | 2308 | * Depending on the size of charset, children pointers could be either stored in a bitmap or hashmap. Although slightly suffering performance, hashmap implementation is more concise and generic.
|
2292 | 2309 | * Common tasks such as search() and startwith() can be implemented in a similar way.
|
2293 | 2310 |
|
|
0 commit comments