Study Note of Think Like a Programmer