Coder Social home page Coder Social logo

technicalinterviewprep2020's Introduction

Hunter College: TTP Technical Interview Prep Bootcamp Summer 2020

Class Days and Class Times: Monday to Friday, 10:00 AM to 3:00 PM
Dates: June 1, 2020 (Monday) to June 30th, 2020 (Tuesday)
Lead Instructor: Daniel Zabari
Email: [email protected]
TA: Jonathan Pedoeem

Email: [email protected]

Slack Workspace: https://interviewprepbootcamp.slack.com

Office Hours: Wednesday and Friday 3:00 PM to 4:00 PM

Repo Structure

  • This README contains your assignments
  • The assignments folder is where you will put your work when you submit a pull request to me. This is also where we will post solutions after the classwork/homework should have already been done.

Assignments

Each assignment has the following format:

Date given: description. Due date. Assignment name.

The due date means before class on that date. So if a homework is due on 6/10, then it is due before 10:00 AM on 6/10.

For any assignment where we ask you to solve a problem, please submit your program to the github using the directions below under 'submitting HW'.

Submitting HW

To get setup to submit homework, fork this repository.

Then do the following when you do homework:

  • Pull from my repository to your fork. There will be files in the correct location for the work to do that day. If you are submitting homework due on 6/5 (not assigned 6/5), for example, which is the 1st day of the 2nd week of the bootcamp, then you would find the file at week2/day1/assignment-name. In general, the path for a file is week#/day#/assignment-name. The same is true for submitting classwork we did on 6/5. You would look for the correct file under week2/day1/assignment-name.
  • Do the work.
  • When you are ready to start comitting work to your fork, place your work in the appropriate file, and change it. Unless I say otherwise, you can submit your solutions as Javascript of C++ files. If you need to change the file extension of the file, that is fine. Just don't change the base name of the file. Example: you can change implement-hash-table.cpp to implement-hash-table.js but not to hash-tbl.cpp.
  • Commit your changes, push them to your fork, and then submit a pull request from your fork against my repository.

What if the problem is too hard?

If you are not able to solve the problem at home then post up a program containing the following:

As comments:

  • a description of the approach(es) you thought of
  • a description of where you got stuck on these approaches. For example:
    • Was there a flaw in the approach you found and you had to think of a new one? What was the flaw? How did you try to get around it?
    • Were you just unable to implement the approach? Which part(s) were you unable to implement, and why?

As code:

  • whatever part of a program you wrote if you wrote one

We prefer you submit something that runs, but sometimes we don't get that far. Whether it runs or not, just submit what you have.

Syllabus

Week 1 (06/01 -> 06/05)

06/01 (Mon): intro, setup, how to interview, p2p 1 question prep
06/02 (Tues): initial assessment, p2p 1

  • hw: hashes, p2p 2 questions, lists pre-work

06/03 (Weds): big-o lecture, hashes

06/04 (Thurs): hashes day, p2p 2 06/05 (Fri): hashes

Week 2 (06/08 -> 06/12)

06/08 (Mon): hashes, p2p 3, for hw lists
06/09 (Tues): lists, stacks and queues pre work
06/10 (Weds): lists, stacks and queues. Hw: p2p 4 qu’s
06/11 (Thurs): stacks+queues
06/12 (Fri): p2p 4, stacks+queues, hw p2p 5 questions

Week 3 (06/15 -> 06/19)

06/15 (Mon): stacks+queues, trees
06/16 (Tues): p2p 5, trees, recursion pre work 06/17 (Weds): recursion, hw: p2p 6 questions due wed
06/18 (Thurs): recursion
06/19 (Fri): p2p 6, recursion, hw: p2p 7 questions

Week 4 (06/22 -> 06/26)

06/22 (Mon): recursion
06/23 (Tues): final assessment, p2p 7

06/24 p2p

06/25 p2p

06/26 p2p

Classwork

Week 1, Day 1 (6/01)

  1. Intro Slides https://docs.google.com/presentation/d/11N-mmMHD8W4LhbYibOsjlTamRTDI1uHaj2_4oFD0hWQ/edit?usp=sharing
  2. Interview Prep Slides:

Week 1, Day 2 (6/2)

  1. Read "Design a Hash Table". https://leetcode.com/explore/learn/card/hash-table/182/practical-applications/
  2. Do "Design Hash Map" https://leetcode.com/explore/learn/card/hash-table/182/practical-applications/1140/. implement-hash-map.

Week 1, Day 3 (6/3)

  1. Lists Day 1 slides

Week 1, Day 4 (6/4)

  1. Sort Colors
  2. Lists Day 2 Slides
  3. Reverse a linked list
  4. Remove linked list elements

Week 1, Day 5 (6/5)

  1. Lists Day 3 slides
  2. Remove duplicates from sorted array
  3. Merge sorted array
  4. Find first and last position of element in sorted array
  5. Stacks+queues day 1 slides

Week 2, Day 1 (6/8)

  1. daily temperatures
  2. Minimum add to make parentheses valid
  3. Stacks+queues day 2 slides

Week 2, Day 2 (6/9)

  1. Trees Day 2 Slides
  2. Search in binary search tree
  3. Range sum of BST
  4. Validate BST

Week 2, Day 3 (6/10)

  1. Trees Day 3 Slides

Week 2, Day 4 (6/11)

  1. Recursion Day 1 Slides

Week 2, Day 5 (6/12)

  1. Recursion Day 2 Slides

Week 4, Day 4 (1/23)

Grab-bag of problems! You can cast off on your own, or pick from the following problems

Homework

Homework1

  1. p2p problems. Due 1/2. Remember to submit work 1/3, after p2p finishes.
    • p2p-problem-1
    • p2p-problem-2

Please create a gist containing your solutions or attempt at designing solutions. At the top of your code, make a comment with your name, your group, and the two problem names. This will be the system starting Wednesday night, with p2p 3. Slack Elise your code by 7pm the night before you act as interviewer, so I can be sure you worked on the problems yourself.

Homework2

  1. p2p problems. Due 1/6. Remember to submit work 1/7, after p2p finishes.
    • p2p-problem-1
    • p2p-problem-2
  2. Read intro material on hash tables here Due 1/6. Read up until the problem "design a hash set", and do not do it.
  3. Read the lists review packet, if you need a refresher on arrays, or linked lists. Due 1/9.
  4. Do Kth largest element in an array. Due 1/9. kth-largest.

Homework3

  1. Read solutions for p2p 2 problems. Due tk.
  2. Find an easy question on LC from the category for strings or arrays. Solve it, and write at least 3 edge cases to present to an interviewee and at least 2 hints to help an interviewee follow along with your solution to the problem. If you have trouble coming up with at least 3 edge cases and 2 hints by tonight, message me on slack with the link to your question, a summary of your algorithm, your edge cases, and your hints. We'll figure something out. Due tk.. Submit this in the same way we've asked you to [submit answers to p2p problems] Please create a gist containing your solutions or attempt at designing solutions. At the top of your code, make a comment with your name, your group, and the two problem names. This will be the system starting Wednesday night, with p2p 3. Slack Elise your code by 7pm the night before you act as interviewer, so I can be sure you worked on the problems yourself.

Homework4

  1. p2p problems for p2p 3. Due tk. Please create a gist containing your solutions or attempt at designing solutions. At the top of your code, make a comment with your name, your group, and the two problem names. This will be the system starting Wednesday night, with p2p 3. Slack Elise your code by 7pm the night before you act as interviewer, so I can be sure you worked on the problems yourself.
    • p2p-problem-1
    • p2p-problem-2

Homework5

  1. Implement dutch national flag partitioning for a linked list, this is on Hacker Rank. You will receive an invite. Check your spam for the invite if you can't find it, and reach out to me or Elise! Due tk.
  2. Stacks+queues unit pre-reading https://drive.google.com/open?id=1MN29NToPCiKZy2_Sg_A7xuR2_BbKaIv-zXEGEkzpc6g. **Due tk **
  3. Stacks+queues unit intro question, "Implement Max Stack". This is on Hacker Rank. Due tk.
  4. Trees unit pre-reading. Review slides on trees, the representation as a data structure and many important definitions I will use in class. https://docs.google.com/presentation/d/1ONw1IU8wVmXGKuK6yUfPti6f2q9603CYQyCrjT7QQMk/edit?usp=sharing. Due tk.

Homework6

  1. Hacker Rank problem braces. You will recieve an invite. Due tk.
  2. Backspace string compare. Due tk. backspace-string-compare.

Homework7

  1. p2p problems for p2p 4. You must do these problems and read the answers in the same night. Due tk.

Homework8

  1. p2p problems for p2p 5. Due tk.
  2. If you took a mock interview with a Bloomberg engineer today, please fill out this survey. If you haven't done so already. Due tk.

Homework9

  1. Read Recursion pre-work packet. Due tk.
  2. Finish these problems from class. Due tk.

Homework10

  1. p2p problems for p2p 6. Due tk.

Homework11

  1. Read solutions to p2p problems for p2p 6. Due tk.
  2. Spend 1 hour working on problems from either the Recursion Day 1 Slides or Recursion Day 2 slides. They are linked in the classwork section under the dates 1/20 and 1/21. Due tk.

Homework12

  1. p2p problems for p2p 7. Due tk.
  2. Find your own problem for p2p 7! You can pick any problem you want from LeetCode. Solve it, write at least 3 edge cases and 2 hints to present to an interviewee when they're trying to solve your problem. If you have trouble coming up with at least 3 edge cases and 2 hints by tonight, message me on slack with all of the below items. We'll figure something out. Due 1/23. Submit this as a gist to Elise. You don't have to submit a pull request for this. Don't bite off more than you can chew!
    • the link to your question
    • your program (if you have one)
    • a summary of your algorithm
    • your edge cases
    • and your hints.

technicalinterviewprep2020's People

Contributors

beelzebielsk avatar zabari avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.