summaryrefslogtreecommitdiff
path: root/面经
diff options
context:
space:
mode:
Diffstat (limited to '面经')
-rw-r--r--面经/面试中coding的准备.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/面经/面试中coding的准备.md b/面经/面试中coding的准备.md
new file mode 100644
index 0000000..bd4e568
--- /dev/null
+++ b/面经/面试中coding的准备.md
@@ -0,0 +1,31 @@
+
+面试中的 coding 准备
+
+## 1. 一些基本结论(一般而言)
+
+- coding 是面试通过的必要条件,也即coding不过,一般不过,coding过了,会增色很多;
+ - 尤其是不仅能提供很好的解法,而且还有很好的coding软件工程素养,比如输入空值判断(入参校验)、边界判断,注释,变量函数类的命名,会给面试官留下很好的印象;
+- coding 的难度同面试者与岗位的匹配度成反比,也即越匹配,coding会越简单,越不匹配,会相对难些;
+ - 比如面试官会在题库中准备一道相对难的题目,一道相对简单的题目;
+- 面试中的 coding 是一个互动的过程,
+ - 第一步,了解题目,输入是什么,输出是什么;
+ - 第二步,勾兑解法,暴力的解法,时间空间度复杂更优的解法,直到得到一个面试官肯定的解法,然后开始coding,切忌闷头就开始写代码;
+ - 第三步,如果没有特别好的思路,一般都可以询问面试官能否提示下思路,毕竟coding理应考察的编程素养,而不是背过该题;
+
+## 2. 如何刷题
+
+- 按题型系统性刷题(这些类型在leetcode里边都有一些代表性题目)
+ - 字符串/数组
+ - 链表
+ - 二叉树
+ - 堆/优先队列
+ - 动态规划
+ - dfs
+
+- 高频题目一定要刷过一遍(几乎没有面试官能原创地想出一道新题);
+ - 我在面试中遇到的高频题目:
+ - 数组的全部子集,leetcode 78,这道题目快手出过,字节也出过;
+ - leetcode 62. Unique Paths,也出过多次;
+
+- 一个取巧的办法
+ - 对一些经典的高频题目,把代码打印出来,每次面试前花一个小时过一遍,这样只需要两三次,这些题的解法都在脑海里了;