From charlesreid1

No edit summary
Line 24: Line 24:


=Week 2=
=Week 2=
Code:
* Write simple code with correct syntax.
** Java
** Python
Walk through the algorithm (coding it) on paper.
Then code it on the computer. Note any errors and problems.
Arrays:
* Implement Fisher-Yates shuffle
* Implement any shuffle
* Find the nearest integer to X in the array (binary search + variations)
* Implement any sort algorithm (merge sort)
* Implement another sort algorithm (quick sort)
* The merge sort you used is recursive. Can you do it non-recursively?
Language-specific array basics:
* Java arrays class
* Creating arrays
* Accessing arrays (first, last, range)
* Basic info about arrays:
** Length
** Slice
** Reverse
** Sort (built-in)

Revision as of 05:53, 12 February 2019

Project Gopher

Organizing notes in preparation for 2019 technical interview.

Full list of topics: https://git.charlesreid1.com/cs/study-plan/src/branch/master/SoftwareEngineering.md

Top level topics:

  • Algorithm complexity
  • Sorting - know how to sort, know at least 2 O(n log n) sort methods (merge sort and quicksort)
  • Hashtables - the most useful data structure known to humankind.
  • Trees - this is basic stuff, BFS/DFS, so learn it.
  • Graphs - twice as important as you think they are.
  • Other Data Structures - fill up your brain with other data structures.
  • Math - discrete math, combinatorics, probability.
  • Systems - operating system level, concurrency, threads, processing, memory.

Links: Template:AlgorithmsFlag

Week 1

Sorting:

Week 2

Code:

  • Write simple code with correct syntax.
    • Java
    • Python

Walk through the algorithm (coding it) on paper.

Then code it on the computer. Note any errors and problems.

Arrays:

  • Implement Fisher-Yates shuffle
  • Implement any shuffle
  • Find the nearest integer to X in the array (binary search + variations)
  • Implement any sort algorithm (merge sort)
  • Implement another sort algorithm (quick sort)
  • The merge sort you used is recursive. Can you do it non-recursively?

Language-specific array basics:

  • Java arrays class
  • Creating arrays
  • Accessing arrays (first, last, range)
  • Basic info about arrays:
    • Length
    • Slice
    • Reverse
    • Sort (built-in)