计划大纲

今天是2月27号,距离亚马逊的面试还有17-20天的准备时间,利用这两周多的时间,起码要将OOD的知识总结,system design的基础知识,javascript基础概念从头过一遍,还有其他的基础知识,每天刷起码15-20道算法题目。

https://www.diycode.cc/topics/220 文章很好

关于刷算法:

刷题一定要注意java知识点的强化。

1. 简单的部分:Binary Search, Subset, two pointers, data structure(stack,queue,priority queue,heap,hashmap,hashtable)

2. linkedlist,树,深度优先,宽度优先搜索,图,分治算法,拓扑排序

3. 并查集,动态规划,字典树,bit操作,线段树

按时间下一周周中的重点还是九章里面的题以及amazon tag下面的题:

周一binary search & Binary Tree和分治 全部弄懂

周二,周三小部分二叉树,字典 tree,线段树,深度优先搜索,宽度优先搜索

周三,周四小部分深度优先搜索,宽度优先搜索,linkedlist

周四,周五各种数据结构,动态规划经典题目,和并查集一定要看!

周六,周日amazon的题目再做一遍用周一到周五实践的方法

每天起码要刷15-20道题而且必须按照这个进度来,刷题时间:5pm-10pm。

关于面向对象设计

关于OOD上班中午时间看,刷题类的时候看,晚上看OOD。 通过CC150看

会用Singleton和Factory这两个。

Abstraction

Polymorphism

Inheritance

Encapsulation

围绕着四个概念

数据结构的设计和设计模式的设计:

CtCI(Cracking the Code Interview)

http://blog.csdn.net/testcs_dn/article/details/46820157

http://zz563143188.iteye.com/blog/1847029

把head first的singleton和factory看了




关于system design:

https://www.evernote.com/shard/s576/sh/7e58b450-1abe-43a8-bf82-fbf07f1db13c/049802174415b418a2e65f75b744ab72

http://homecox.com/bbs/view.php?f=30&t=37


Hiring Manager很重要,一定要注意这个,要把对方的背景和组搞清楚。


其他基础知识:

Programming Language

Java 8 特性,说说static和final,garbage collection

什么是reference

nums==null 和 nums.length==0 有什么区别

Operating System

进程和线程有什么区别

什么是锁mutex

什么是信号量

什么是栈溢出

不同存储结构的速度量级(磁盘、SSD、内存、L1 cache)

什么是IO

Object Oriented Design

什么是继承

什么是单例Singleton

什么是工厂模式 Factory

Network

什么是Socket

TCP/IP三次握手

什么是HTTP

什么是API

在输入框里输入google.com之后会发生什么

TCP 和 UDP有什么区别

Database

mySQL:设计场景,问foreign key、inner join /outer join

多对多的关系怎么设计(比如好友关系)

SQL 与NoSQL的区别

什么是Transaction

什么是ACID

你可能感兴趣的:(计划大纲)