九章第一节 strStr
其中包含的有一些,KMP算法,string.charAt()函数
- coding style
变量名, 空格, 换行,
Google style 在看一遍
Java程序花括号在最右边(同一行右侧)
- 检查是否为空 null
检查null, 这个很重要 对时间复杂度,空间复杂度的考虑
误区:
- 做过的题,简单的题肯定能过
- 算法想出来就能过
- 代码写出来就能过
- 第一反应说最优的解决方法
面试官中的求职者
- 你的代码看起来舒服吗?
- 你的coding 习惯好么?
- 和你交流舒服么?
编程的基本功
- 程序风格 coding style
- coding 习惯, Bug free
- 异常处理,边界处理
- 沟通
- 让面试官时刻明白你的意图
- 闷头就开始写 VS 每写一句话就BB半天
- 测试
主动给出 Testcase , Cover掉所以情况。
你真的会面试么?
- 做题之前,是否在白纸写过一遍?
- 刷了很多题,吃透了几道?
- 题目不会的时候?
面试官是你的 Co-worker, (问些提示,尝试暴力的方法(搜素,遍历)) - 觉着面试官在为难你?
如何准备面试算法
- 动态规划 DP
- 反转二叉树
- 总结和归类相似题目
全排列的问题 subsets
- Permutations
- Unique Permutations
- Combination Sum
- Letter Combination of a Photo Number
- Palindrome Par
offer
- 理解
- 与面试官交流
- 理解不是背诵
学习思维方式和分析技巧,而不是某个题的解法
课程
- Binary Search
- Binary tree divide Conquer
- Dynamic Programming
- Linked List
- Array & Numbers
- Data structure
- Graph & Search