https://mp.weixin.qq.com/s/hlurv73ZKmbETIzVAofX6Q
费曼学习法:想象自己作为一个老师,把自己掌握的知识教给一个小白,如何用最简单的语言尽可能让小白都能听懂。
小黄鸭调试法:对着小黄鸭去讲解一遍这段代码自己的思路,用表达的方式去梳理自己的逻辑,通过这种方式找到潜藏的漏洞。听着玄乎,但却真实有效,很多时候,你以为你知道的内容其实并不清晰,学习知识也是一样,怎么判断一个知识点到底有没有掌握?就看你能不能自己独立把它讲述出来。
其实无论是费曼学习法还是小黄鸭调试法,说的都是同样的事情,通过表达的方式来实现对知识和思路的梳理和总结。
知识点被整理出来的最大意义,只对于它们的整理者有用!
整理知识点的过程,是整理者对于自己知识体系的系统梳理,不断在面试中完善的过程,调整自己的认知。
只有你自己打出来的每行字,你才明白它要说的是什么,对于其他人来说,只剩下很小的参考意义。写笔记是个好习惯,值得长期坚持。
总结一些我面试需要的网站
- 牛客网:找招聘信息
- Leetcode:刷题
- 超级简历:完善简历
- 脉脉:找内推
学习书籍
- 从根上理解MySQL
- 深入理解Java虚拟机
- 码农翻身(大概是降了一下多线程,CPU,之类的,内容很多,还有公众号)
- 剑指offer、啊哈算法(已有)
面试注意事项
- 自信,自己不懂的问题面试官也未必多了解,有多少说多少
- 某些知识不了解可以讲点别的,尽量别卡在那
- 反问环节,一定要向面试官咨询他对你的评价和建议,帮助自己提高
- 珍惜每一次面试机会,每次都是提高的机会
- 尽量把面试过程录下来,复盘
- 先从小公司开始准备,尝试几个小公司试试
学习网站
- 设计模式 https://refactoringguru.cn/design-patterns
- 编程导航(www.code-nav.cn)
算法刷题计划
- 争取在一个月内刷完100道题,把几大类型的题目都刷过
- labuladong的公众号
- 左程云的算法课
- 未完待续。。。。。。
面试项目准备
- 公司做的项目背一背
- 824项目,806项目,博白项目
- 项目做什么的,背景,目标,行动(我做了什么),结果
- 自己github学习的项目,游戏
- 自己的学习方法,解决问题的思路
- 基础知识
你会发现在面试的短暂的时间里,吸取的知识是你之前可能要花费很长时间才能做到的,所以我不推荐等到自己觉得完全准备好了才开始投or面,而应该早点参与这个过程,尽快通过实战提升自己
2021.07.10 牛客网模拟面试
问题1:介绍自己兴趣爱好
问题2:请你说说项目单点登陆实现
问题3:请你说说Spring AOP是怎么实现的?
问题4:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
/*public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}*/
public class Solution {
public int TreeDepth(TreeNode root) {
if(root==null) return 0;
if(root.left==null && root.right==null) return 1;
int left=0,right=0;
if(root.left!=null) left = TreeDepth(root.left);
if(root.right!=null) right = TreeDepth(root.right);
return left>right?left+1:right+1;
}
}