博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cracking the coding interview_Technical questions
阅读量:4877 次
发布时间:2019-06-11

本文共 1062 字,大约阅读时间需要 3 分钟。

1. What you need to know

MUST-HAVE KNOWLEDGE

data structures:

linked lists

tree, tries&graphs

stacks&queues

heaps

arraylists

hash tables

algorithms:

breadth-first search

depth-first search

binary search

merge sort

quick sort

concepts:

bit manipulation

memory(stack vs heap)

recursion

dynamic programming

Big O Time & Space

2. Walking through a problem

1.Listen (pay very close attention to any information in the problem description)

2.Example (special case)

3.Brute force (a naïve algorithm and its runtime), then optimize(do not code)

4.Optimize (use BUD optimization-bottlenecks/unnecessary work/duplicated work)

  •  Look for any unused info
  • Solve it manually
  • Solve it and then think about why the algorithm fails
  •  Make a time & space tradeoff

5.Walk through your approach in detail

6.Implement (write beautiful code)

7.Test, test in this order: (find bugs and fix them)

  •  Conceptual test
  • Unusual & non-standard code
  • Hot spots, like arithmetic and null nodes
  • Small test cases
  • Special cases and edge cases

 

转载于:https://www.cnblogs.com/cecilia-xu/articles/10261827.html

你可能感兴趣的文章
HDU 2039 三角形
查看>>
Softmax实现 fashion.mnist 分类
查看>>
统计学习-朴素贝叶斯法
查看>>
学习进度17
查看>>
编译原理——算符优先分析文法(附源代码)
查看>>
jboss的启动过程
查看>>
渲染部分
查看>>
力扣——所有可能的路径
查看>>
关于VS项目平台的x86,x64,Any CPU以及Debug和Release的区别
查看>>
解密module_init幕后的故事
查看>>
9个移动网站优化的最佳实践
查看>>
李昌镐:苍老的青春(转载) 韩国围棋职业棋手
查看>>
JPA 使用报Named query not found错误
查看>>
FTP命令使用详解
查看>>
walmart weekly sales
查看>>
面试题07_用两个栈实现队列——剑指offer系列
查看>>
cocos2d-x3.2中加入Android手机震动
查看>>
css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题
查看>>
温故而知新练习3
查看>>
【转】iOS应用崩溃日志分析
查看>>