Thursday, September 8, 2016

Technical Interview

This course proivdes resources need to pull off the trick: data structures or a common pattern in the problem. Not every little details like the laws of physics, not at the level of mathematician.
In a real technical interview, you just need to show that you can successfully perform the trick and that you understand the concepts behind it.

outline

  1. Introduction and Efficiency
    Course Introduction
    Syntax
    Efficiency
    run time, storage space
    rely on you creativity and ability
    Notation of Efficiency
    big O notation
    worst case scenario ; upper bound
  2. List-Based Collections
    Lists
    append(), insert(),remove(elem), sort(), reverse() # these command don’t return new list
    pop(index)
    Arrays
    Linked Lists
    Stacks
    Queues
  3. Searching and Sorting
    Binary Search
    Recursion
    Bubble Sort
    n^2
    memory: O(1), in-position
    Merge Sort
    n log(n)
    Quick Sort
    worst case: O(n^2)
    average case: nlog(n)
  4. Maps and Hashing
    Maps
    Hashing
    Collisions
    Hashing Conventions
  5. Trees
    Trees
    Tree Traversal
    Binary Trees
    Binary Search Trees
    Heaps
    Self-Balancing Trees
  6. Graphs
    Graphs
    Graph Properties
    Graph Representation
    Graph Traversal
    Graph Paths
  7. Case Studies in Algorithms
    Shortest Path Problem
    greedy algorithm
    Knapsack Problem
    brute force solution, 2^n
    Traveling Salesman Problem
    NP hard.
    Not always have efficient solution
  8. Technical Interview Tips
    Mock Interview Breakdown
    1 clarifying the question
    prove to interviewer that you won’t dive head first into a probelm and potentially waste time writing code that doesn’t solve the initial issue.
    2 generating inputs and output
    3 generating test cases
    handle weird input
    4 brainstorming
    the interviewer is there to help you and being able to take in their feedback demonstartes your teamwork skills
    5 runtime analysis
    coding
    debugging
    Additional Tips
    Practice with Pramp
    Next Steps

Data Types

boolean = True
number = 1.1
string = "Strings can be declared with single or double quotes."
list = ["Lists can have", 1, 2, 3, 4, "or more types together!"]
tuple = ("Tuples", "can have", "more than", 2, "elements!")
dictionary = {'one': 1, 'two': 2, 'three': 3}
variable_with_zero_data = None

Conditionals

if cake == "delicious":
    return "Yes please!"
elif cake == "okay":
    return "I'll have a small piece."
else:
    return "No, thank you."

Classes

class Person(object): # inherit from object
    def __init__(self, name, age):
        self.name = name
        self.age = age 

    def birthday(self):
        self.age += 1

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.