My situation: I already completed the July/August 2017 version of your Alumni Interview Prep Course, including doing the two Refdash interviews and continuing on to interview at Facebook. When Nathan and Tim posted to the CodePath Slack about this new "beefed up" eight-week version of the course, I asked whether part II of the new class would work as a part II followup class for the shorter version I had taken. Nathan said yes, that it would, and Tim asked if I would also be willing to participate in part I of the new class as a mentor.
So I'm going to be a mentor in part I of the class, and a regular student in part II. You can see links and descriptions for my work below:
As I said in my InterviewBit profile gif, I've actually been using InterviewBit off and on since March (though I still have a ways to go before reaching Code Ninja status). My profile is https://www.interviewbit.com/profile/Tachyon
Checkpoint Level 1 is just a multiple-choice question on time complexity, not a coding problem, but this repo includes a screenshot of it with my answer:
For some reason my profile is showing Level-Ups for Levels 1, 2, 4, and 5, but not 3, even though among other things I did the Checkpoint Level 3 prework problems below. Here also is a screenshot of the Checkpoint Level 3 screen.
- https://github.com/tachyonlabs/CodePath-Alumni-Professional-Interview-Prep-Course/blob/master/interviewbit_checkpoint_3_kth-smallest-element-in-the-array.py
- https://github.com/tachyonlabs/CodePath-Alumni-Professional-Interview-Prep-Course/blob/master/interviewbit_checkpoint_3_numrange.py
- https://github.com/tachyonlabs/CodePath-Alumni-Professional-Interview-Prep-Course/blob/master/interviewbit_checkpoint_4_subtract.py
- https://github.com/tachyonlabs/CodePath-Alumni-Professional-Interview-Prep-Course/blob/master/interviewbit_checkpoint_4_nextgreater.py
- https://github.com/tachyonlabs/CodePath-Alumni-Professional-Interview-Prep-Course/blob/master/interviewbit_checkpoint_5_all-unique-permutations.py
- https://github.com/tachyonlabs/CodePath-Alumni-Professional-Interview-Prep-Course/blob/master/interviewbit_checkpoint_5_longest-consecutive-sequence.py
I took the HackerRank Calibration Test on November 13, and finished five of the six questions -- on one hand I assume you should have received my results by now, but on the other hand I never received an email confirmation after submitting it, whereas with the HackerRank tests I took during the July/August session, I did receive confirmations.
As shown in this GIF, I've already completed almost all the Arrays and Strings problems on InterviewBit (mostly in Python, but I've started doing Java versions of some of them as well):
-
Java: Spiral Order Matrix I, Min Steps In Infinite Grid, Add One To Number, Max Sum Contiguous Subarray, Wave Array, and Find Duplicate in Array.
-
Python: Spiral Order Matrix I, Min Steps In Infinite Grid, Add One To Number, Max Sum Contiguous Subarray, Maximum Absolute Difference, Repeat And Missing Number Array, Flip, Max Non Negative Sub Array, Spiral Order Matrix II, Pascal Triangle, Kth Row of Pascal's Triangle, Anti Diagonals, Noble Integer, Wave Array, Max Distance, Maximum Unsorted Array, Find Duplicate in Array, Maximum Consecutive Gap, Rotate Matrix, Find Permutation, Merge Intervals, Merge Overlapping Intervals, Hotel Bookings Possible, Set Matrix Zeros, First Missing Integer, and N/3 Repeat Number.
-
Java: Palindrome String, Count And Say, Compare Version Numbers, Length of Last Word, and Reverse the String.
-
Python: Palindrome String, Longest Common Prefix, Count And Say, Longest Palindromic Substring, Minimum Characters required to make a String Palindromic, Implement StrStr, Compare Version Numbers, Atoi, Valid Number, Valid Ip Addresses, Length of Last Word, Reverse the String, Roman To Integer, Integer To Roman, Add Binary Strings, Power of 2, Multiply Strings, Justified Text, and Zigzag String.
As I mentioned above, I had already completed almost all of the Arrays and Strings problems on InterviewBit in Python, but I did four more Java versions for this assignment:
- Arrays - Spiral Order Matrix II
- Arrays - First Missing Integer
- Strings - Longest Common Prefix
- Strings - Integer to Roman
And here's a GIF of my InterviewBit Arrays and Strings topic pages:
When I went to take the HackerRank "CodePath Interview Prep - Unit 1 Test", I got the message "You have already taken this test as Tané Tachyon on Jul 15, 2017. You can't login to a test that you have already completed." See the "My situation" description at the beginning of this README for an explanation of that.
As shown in this GIF, I've already completed almost all the Hashing and Linked Lists problems on InterviewBit:
- Colorful Number, 2 Sum, 4 Sum, Valid Sudoku, Diffk II, Anagrams, Equal, Copy List, Longest Substring Without Repeat, Window String, Fraction, Points on the Straight Line, and Substring Concatenation.
- Intersection of Linked Lists, Reverse Linked List, Palindrome List, Remove Duplicates from Sorted List, Remove Duplicates from Sorted List II, Merge Two Sorted Lists, Remove Nth Node from List End, Rotate List, Reverse Linked List II, Reorder List, K reverse linked list, Swap List Nodes in pairs, Add Two Numbers as Lists, List Cycle, Partition List, and Insertion Sort List.
As I mentioned above, I had already completed almost all of the Hashing and Linked Lists problems on InterviewBit in Python, but I did eight more Java versions for this assignment:
- Hashing - 2 Sum
- Hashing - Diffk II
- Hashing - Anagrams
- Hashing - Copy List
- Linked Lists - Remove Duplicates from Sorted List
- Linked Lists - Merge Two Sorted Lists
- Linked Lists - Remove Nth Node from List End
- Linked Lists - Add Two Numbers as Lists
And here's a GIF of my InterviewBit Hashing and Linked Lists topic pages:
When I went to take the HackerRank "CodePath Interview Prep - Unit 2 Test", once again I got a message about how I had already taken this test last summer and "can't login to a test that you have already completed" -- see the "My situation" description at the beginning of this README for an explanation of that -- so as directed by Patricia in Slack, I took the test as tachyon+alt@tachyonlabs.com instead of tachyon@tachyonlabs.com, and you should have the results.
As shown in this GIF, I've already completed most of the Trees problems, all but two of the Binary Search problems, and all but one of the Heaps and Maps problems, on InterviewBit (mostly in Python, but I've started doing Java versions of some of them as well):
-
Java: Inorder Traversal (recursion version), Inorder Traversal (stack version), Preorder Traversal (recursion version), Preorder Traversal (stack version), Max Depth of Binary Tree, and Min Depth of Binary Tree.
-
Python: Next Greater Number BST, Valid Binary Search Tree, Vertical Order traversal of Binary Tree, Inorder Traversal, Postorder Traversal, Preorder Traversal, Identical Binary Trees, Symmetric Binary Tree, Sorted Array To Balanced BST, Construct Binary Tree From Inorder And Postorder, Construct Binary Tree From Inorder And Preorder, Kth Smallest Element In Tree, Invert the Binary Tree, ZigZag Level Order Traversal BT, Populate Next Right Pointers Tree, Path Sum, Root to Leaf Paths With Sum, Max Depth of Binary Tree, Min Depth of Binary Tree, Sum Root to Leaf Numbers, and Flatten Binary Tree to Linked List.
-
Java: Square Root of Integer, Allocate Books, and Sorted Insert Position.
-
Python: Count Element Occurence, Rotated Array, Square Root of Integer, Painter's Partition Problem, Allocate Books, Matrix Search, Search for a Range, Sorted Insert Position, Implement Power Function, and Rotated Sorted Array Search.
- Python: N max pair combinations, Magician and Chocolates, Merge K Sorted Lists, Distinct Numbers in Window, and LRU Cache.
As I mentioned above, I had already completed most of the Trees, Binary Search, and Heaps and Maps problems on InterviewBit in Python (plus some in Java), but I did six more Java versions for this assignment:
- Trees - Invert the Binary Tree
- Trees - Path Sum
- Binary Search - Search for a Range
- Binary Search - Rotated Sorted Array Search
- Heaps and Maps - Magician and Chocolates
- Heaps and Maps - Distinct Numbers in Window
And here's a GIF of my InterviewBit Trees, Binary Search, and Heaps and Maps topic pages:
When I went to take the HackerRank "CodePath Interview Prep - Unit 3 Test", once again I got a message about how I had already taken this test last summer and "can't login to a test that you have already completed" -- see the "My situation" description at the beginning of this README for an explanation of that -- so as directed by Patricia in Slack, I took the test as tachyon+alt@tachyonlabs.com instead of tachyon@tachyonlabs.com, and you should have the results.
As shown in this GIF, I've already completed most of the Backtracking problems, and all of the Bit Manipulation problems, on InterviewBit (mostly in Python, but I've started doing Java versions of some of them as well):
Modular Expression, Reverse Link List Recursion, Subset, Combinations, Combination Sum II, Subsets II, Letter Phone, Generate all Parentheses II, NQueens, Permutations, and Gray Code.
-
Java: Min XOR value, Number of 1 Bits, Reverse Bits, Single Number, and Single Number II.
-
Python: Min XOR value, Number of 1 Bits, Reverse Bits, Divide Integers, Different Bits Sum Pairwise, Single Number, and Single Number II.
As shown in "Tasks Before Session 4" above, I had already completed most of the Backtracking problems on InterviewBit, all the Bit Manipulation problems on InterviewBit in Python, and all but two of them in Java. So now I've done two more Backtracking problems in Python, and Java versions of those last two Bit Manipulation problems:
- Backtracking - Combination Sum
- Backtracking - Palindrome Partitioning
- Bit Manipulation - Divide Integers
- Bit Manipulation - Different Bits Sum Pairwise
And here's a GIF of my InterviewBit Backtracking and Bit Manipulation topic pages:
When I went to take the HackerRank "CodePath Interview Prep - Unit 4 Test", once again I got a message about how I had already taken this test last summer and "can't login to a test that you have already completed" -- see the "My situation" description at the beginning of this README for an explanation of that -- so as directed by Patricia in Slack, I took the test as tachyon+alt@tachyonlabs.com instead of tachyon@tachyonlabs.com, and you should have the results. One interesting thing (to me, anyway) is that while I usually use Python for whiteboarding/programming challenges because it's a very fast/easy/terse language to write, on the second problem I kept getting what was apparently a stack overflow on one of the test cases. I tried putting in some kinds of special casing to head off some of the ways this could happen, but it didn't help. Then I thought I would try submitting in Java instead, because I had the idea that Java might have a larger stack size limit than Python, and my Java version passed all the test cases just fine. So even if I generally find Java fine for Android but clunky and overly verbose for programming challenges, with this it scored some points with me in addition to for me. :-)
And here's a GIF of my InterviewBit Graphs topic page:
I completed four more InterviewBit Graphs problems:
- Possibility Of Finishing All Courses Given Pre Requisites
- Word Search Board
- Knight on Chess Board
- Clone Graph
And here's a GIF of my updated InterviewBit Graphs topic page:
I took the "CodePath Interview Prep - Unit 5" test on January 28, so you should have received it.
I've done four Dynamic Programming problems on InterviewBit so far:
And here's a GIF of my InterviewBit Dynamic Programming topic page:
I did eleven more Dynamic Programming problems on InterviewBit:
- Length of Longest Subsequence
- Ways to Decode
- Best Time to Buy and Sell Stocks III
- Best Time to Buy and Sell Stocks I
- Best Time to Buy and Sell Stocks II
- Max Sum Without Adjacent Elements
- Edit Distance
- Longest Increasing Subsequence
- Max Sum Path in Binary Tree
- Unique Binary Search Trees II
- Word Break
And here's a GIF of my updated InterviewBit Dynamic Programming topic page:
I took the "CodePath Interview Prep - Unit 6" test on February 4, so you should have received it.
I still have a lot of work to do on completing my Android Topic Questions Google Doc, I will continue to update it in the days to come.