今天是2月27號(hào),距離亞馬遜的面試還有17-20天的準(zhǔn)備時(shí)間,利用這兩周多的時(shí)間,起碼要將OOD的知識(shí)總結(jié),system design的基礎(chǔ)知識(shí),javascript基礎(chǔ)概念從頭過一遍,還有其他的基礎(chǔ)知識(shí),每天刷起碼15-20道算法題目。
https://www.diycode.cc/topics/220 文章很好
關(guān)于刷算法:
刷題一定要注意java知識(shí)點(diǎn)的強(qiáng)化。
1. 簡單的部分:Binary Search, Subset, two pointers, data structure(stack,queue,priority queue,heap,hashmap,hashtable)
2. linkedlist,樹,深度優(yōu)先,寬度優(yōu)先搜索,圖,分治算法,拓?fù)渑判?/p>
3. 并查集,動(dòng)態(tài)規(guī)劃,字典樹,bit操作,線段樹
按時(shí)間下一周周中的重點(diǎn)還是九章里面的題以及amazon tag下面的題:
周一binary search & Binary Tree和分治 全部弄懂
周二,周三小部分二叉樹,字典 tree,線段樹,深度優(yōu)先搜索,寬度優(yōu)先搜索
周三,周四小部分深度優(yōu)先搜索,寬度優(yōu)先搜索,linkedlist
周四,周五各種數(shù)據(jù)結(jié)構(gòu),動(dòng)態(tài)規(guī)劃經(jīng)典題目,和并查集一定要看!
周六,周日amazon的題目再做一遍用周一到周五實(shí)踐的方法
每天起碼要刷15-20道題而且必須按照這個(gè)進(jìn)度來,刷題時(shí)間:5pm-10pm。
關(guān)于面向?qū)ο笤O(shè)計(jì)
關(guān)于OOD上班中午時(shí)間看,刷題類的時(shí)候看,晚上看OOD。 通過CC150看
會(huì)用Singleton和Factory這兩個(gè)。
Abstraction
Polymorphism
Inheritance
Encapsulation
圍繞著四個(gè)概念
數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)和設(shè)計(jì)模式的設(shè)計(jì):
CtCI(Cracking the Code Interview)
http://blog.csdn.net/testcs_dn/article/details/46820157
http://zz563143188.iteye.com/blog/1847029
把head first的singleton和factory看了
關(guān)于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很重要,一定要注意這個(gè),要把對(duì)方的背景和組搞清楚。
其他基礎(chǔ)知識(shí):
Programming Language
Java 8 特性,說說static和final,garbage collection
什么是reference
nums==null 和 nums.length==0 有什么區(qū)別
Operating System
進(jìn)程和線程有什么區(qū)別
什么是鎖mutex
什么是信號(hào)量
什么是棧溢出
不同存儲(chǔ)結(jié)構(gòu)的速度量級(jí)(磁盤、SSD、內(nèi)存、L1 cache)
什么是IO
Object Oriented Design
什么是繼承
什么是單例Singleton
什么是工廠模式 Factory
Network
什么是Socket
TCP/IP三次握手
什么是HTTP
什么是API
在輸入框里輸入google.com之后會(huì)發(fā)生什么
TCP 和 UDP有什么區(qū)別
Database
mySQL:設(shè)計(jì)場景,問foreign key、inner join /outer join
多對(duì)多的關(guān)系怎么設(shè)計(jì)(比如好友關(guān)系)
SQL 與NoSQL的區(qū)別
什么是Transaction
什么是ACID