面试笔记:面经-猿辅导-一面
文章目录
- 一、自我介绍
- 二、项目相关
- 三、Java后台
- 3.1 Java异常处理
- 3.1.1 Exception和Error的区别
- 3.1.2 RuntimeException和CheckedException的区别
- 3.2 Java线程
- 3.2.1 sychronized
- 3.2.2 Lock
- 3.2.3 volatile
- 四、算法题(手撕)
- 4.1 以X为基准分割链表
- 4.2 逆时针打印二叉树边缘
一、自我介绍
个人背景、项目经历、实习经历。
二、项目相关
1、React介绍。
2、SVM介绍。
三、Java后台
3.1 Java异常处理
3.1.1 Exception和Error的区别
Exception和Error都是继承于Throwable类。
- Exception:是java程序运行中
可预料
的异常情况,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。 - Error:是java程序运行中
不可预料
的异常情况,这种异常发生以后,会直接导致JVM不可处理或者不可恢复的情况。所以这种异常不可能抓取到,比如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。
3.1.2 RuntimeException和CheckedException的区别
RuntimeException和CheckedException都继承自Exception类。
- RuntimeException:运行时异常。也称作未检测异常(Unchecked Exception),这表示这种异常不需要编译器来检测。RuntimeException是所有可以在运行时抛出的异常的父类。一个方法除要捕获异常外,如果它执行的时候可能会抛出RuntimeException的子类,那么它就不需要用throw语句来声明抛出的异常。 例如:NullPointerException,ArrayIndexOutOfBoundsException等等
- CheckedException:受检查异常。是编译器在编译时进行校验的,通过
throws语句
或者try{}cathch{}语句块
来处理检测异常。编译器会分析哪些异常会在执行一个方法或者构造函数的时候抛出。
3.2 Java线程
3.2.1 sychronized
synchronized的特点是自动释放锁,作用在方法时自动获取锁,任意对象都可做为锁,它是最常用的加锁机制。
synchronized可以手动指定锁,当作用在方法时会自动获取锁:
- 作用于普通方法获得当前对象锁,等价于synchronized(this)。
- 作用于静态方法获得类锁,等价于synchronized(类.class)。
3.2.2 Lock
Lock的特点是必须自己创建锁(锁类型已经指定为Lock的实现类,不能使用其它对象),必须自己释放锁。
一定要在finally中释放锁,保证即便抛出异常也可以释放。
3.2.3 volatile
volatile是稍微弱一点的同步机制,主要就是用于将变量的更新操作通知到其它线程。volatile变量是一种比sychronized关键字更轻量级的同步机制。声明变量是volatile的,JVM保证每次读变量都从内存中读,跳过CPU cache这一步。
四、算法题(手撕)
4.1 以X为基准分割链表
以给定X为基准将链表分割为两部分,所有小于X的节点排在大于等于节点之前,并且保持原来顺序基本不变。
public static Node partition(Node head, int x) {if (head == null) {return null;}Node small = null;Node big = null;Node smallTail = null;Node bigTail = null;for (Node cur = head; cur != null; cur = cur.next) {if (cur.value < x) {if (small == null) {small = cur;} else {smallTail.next = cur;}smallTail = cur;} else {if (big == null) {big = cur;} else {bigTail.next = cur;}bigTail = cur;}}if (small == null) {return big;} else {smallTail.next = big;if (bigTail != null) {bigTail.next = null;}return small;}
}
4.2 逆时针打印二叉树边缘
public static void getLeftSizeNodes(TreeNode root) {//遍历左边缘节点TreeNode node = root;while (node != null) {list.add(node);node = node.left;}
}public static void getBottomSizeNodes(TreeNode root) {//遍历底层叶子节点TreeNode node = root;if (node == null) {//根节点为空return;}getBottomSizeNodes(node.left);//递归根节点的左子树if (node.left == null && node.right == null) {//如果当前节点是叶子节点if (list.get(list.size() - 1) != node) {list.add(node);}return;}getBottomSizeNodes(node.right);//递归根节点的右子树
}public static void getRightSizeNodes(TreeNode root) {//遍历右边缘节点TreeNode node = root;Stack<TreeNode> stack = new Stack<TreeNode>();//因为右边缘节点需要从下往上打印所以要用到栈node = node.right;while (node != null) {//遍历根节点的右子树及其右子树的右子树stack.push(node);//非空则压栈node = node.right;}while (!stack.isEmpty()) {TreeNode n = stack.pop();//出栈if (list.get(list.size() - 1 ) != n) {list.add(n);}}
}
面试笔记:面经-猿辅导-一面相关推荐
- 猿辅导python编程老师面试_猿辅导辅导老师面试过程➕感受
一个周前拿到了猿辅导的offer,看到很多知有在问猿辅导的面试,碰巧又是秋招季,就在这里给大家谈一下我的面试过程和感受. 先放一张我的的offer 我在之前的文章中介绍过自己,因为是二本财务专业毕业, ...
- Java 后端面经 拿下蚂蚁美团头条猿辅导的秘诀
Java 后端面经 拿下蚂蚁美团头条猿辅导的秘诀 1. 面试问题(Java 后端) 猿辅导 旷视(Python) 去哪儿(Java) 陌陌 头条(Go) 阿里 快手 美团 腾讯(Java) 思考 面试 ...
- 猿辅导python辅导老师_【猿题库/猿辅导课程设计面试】python 教研不推荐去猿辅导-看准网...
[整个流程] 一面:上午公众号投递简历,下午收到电话,预约一面时间,然后收到短信+邮件,要求添加一面hr微信,最后和hr确认好面试时间.hr到时会提前拉群,一面为在线微信视频面试,3-4位求职者一起面 ...
- 猿辅导python助教面试两次都有什么内容_猿辅导面试分享
猿辅导是boss直聘看见的,投简历之后是群面(我第一次参加群面)就很紧张,我都不知道那些leader reporter的是个啥(°ー°"),愣住.但是面试官是一个很温柔的小姐姐,我喜欢!面试 ...
- 猿辅导python面试题_史上最全猿辅导面试流程及感受
主要包括:投简历-初试-岗前培训-终审-注意事项 投简历 大概1–3天会有电话通知参加初试,要注意接听武汉或郑州的电话哦. 初试 群面形式,hr会拉一个四人微信小群,有三名面试人员,依次进行面试.1m ...
- 猿辅导python面试_猿辅导面试经历—个人感受
今天参加了猿辅导的二面,无数槽点,不知道是不是很多公司都是这样,但是我还是忍不住要逼逼叨. 6月10号,我向猿辅导投了简历,想做招聘邀约专员这个岗位,然后hr加了我的微信,要了一份简历之后通知我,12 ...
- 猿辅导MSMARCO冠军团队:用MARS模型解决机器阅读任务 | 吃瓜笔记
主讲人:柳景明 | 猿辅导NLP团队负责人 整理:陈铭林 量子位 出品 | 公众号 QbitAI 4月12日晚,量子位·吃瓜社邀请到猿辅导MSMARCO冠军团队,为大家详细讲解了RACE,SQUAD, ...
- 猿辅导python助教面试两次都有什么内容_猿辅导面试信息第一手揭秘,小伙伴们看过来!...
猿辅导面试信息来了,对来猿辅导工作有兴趣的小伙伴们,走过路过不要错过! 最近小猿收到了好多关于想要投递猿辅导辅导老师岗位的问题: "想去猿辅导工作,意向岗位是辅导老师,怎么给猿辅导投简历呢? ...
- 猿辅导python助教面试两次都有什么内容_来还愿!终于收到猿辅导offer了,但是23k*14,手…程序员分享...
本文介绍了来还愿!终于收到猿辅导offer了,但是23k*14,手-程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料. 对技术面试,学习经验等有一些体会,在此分享. 来还愿!终于收到猿辅导 ...
- 猿辅导python面试_猿辅导西安少儿编程班主任面试:为什么选择猿辅导 猿辅导是一个 - 职朋职业圈...
为了帮助职业圈网友能够及时了解猿辅导西安的面试流程以及面试过程所涉及的面试问题,职业圈小编把刚获得的猿辅导西安面试经验马上编辑好,快速提供给大家,以便能够尽快帮助到有需要的人.这次面试总共花了1天.面 ...
最新文章
- 使用Linq Xml 来读取一个目录下所有的文件并保存为Xml文档
- Android 抽屉效果的导航菜单实现
- 为安装创建软链接,迁移文件夹
- hdu4004 The Frog's Games 二分
- 写一个《扎金花》程序自己玩。
- (ContrastiveCrop)Crafting Better Contrastive Views for Siamese Representation Learning
- http-server 简介 复制的
- 计算机系统概论实验报告3,东南大学计算机网络第四次实验报告.docx
- c++ 标准异常类层次结构_详解Java异常
- 拓端tecdat|R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
- 【Daily】IE弹窗SQL分割字符串
- SOLIDWORKS在机械设计行业的优势所在
- 中国石油井架行业发展前景与投资盈利预测报告2022-2027
- 【医学】超声波成像原理
- win7计算机启动遇到错误怎么办,W7电脑系统出现Windows错误恢复该怎么办
- 平面设计和包装设计的区别关系是什么
- 知网文献nh、caj格式文件转成pdf
- 好玩的Ipaddian
- input自动填充后背景颜色被覆盖的问题
- TOGAF学习札记(二)