今日面试用友总结
java笔试+面试
线下笔试题:
1.sql语句:三个表格连接,获得三个经过排序的结果(order by DESC limit)
2.柱子储存雨水算法题(LeetCode的题,然鹅我leetcode的题没刷到那里。所以暴力解法了)
给定n 个非负整数表示每个宽度为 1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。(转载自https://blog.youkuaiyun.com/lv1224/article/details/81023833)
上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6个单位的雨水(蓝色部分表示雨水)。
思路是,从第二个开始,判断是否存在凹槽(左边和右边都比中间大)有凹槽就把凹槽填满并让water+=abs(a[left]-a[right])
技术面试题
1.模式。除了单例模式的饿汉和懒汉,工厂模式记得吗
2.jvm了解多少。当时印象最深刻的存储结构,却把GC和新生代忘了
jvm的堆分成:新生代,老年代,永久代
新生代:主要是用来存放新生的对象。
老年代:主要存放应用程序中生命周期长的内存对象。
永久代:内存的永久保存区域。
3.泛型。泛型怎么用,为什么要用泛型。
4.异常。异常如何抛出,哪些异常需要捕获或抛出,运行时异常和非运行时异常是否都需要抛出
需要捕获的是非运行时异常
5.代码规范。看了我的笔试题谈到我的代码用到多个if嵌套,问我要如何提高代码规范
6.jdk源码。看过jdk源码吗。
7.object的方法。
只回答了一个wait,因为清楚的记得Thread的sleep()和Object的wait()
8.如何实例化(除了new),克隆能不能用来实例化,反射是如何实例化
创建新对象时,优先选用静态工厂方法而不是new操作符(Integer.valueOf())
9.未来如何规划
10.你做的项目有什么难点,如何克服,如何解决。
activity之间传递对象,在前一个activity将对象实例化,然后反序列化
由主页面进入文件上传页面之后,选择文件上传,本应在文件上传记录及时更新,但是由于文件上传记录和主页面是同个fragment,不会自动刷新。于是设置了广播
文件预览:图片预览,
11.平时如何学习编程的。
网上教程:廖雪峰的官方网站学习java,菜鸟教程学习java,s3chool,
电子书:《Android第一行代码》学习安卓,
教学视频:
java源码:就像使用了int和Integer的时候,为了了解其拆箱装箱原理/重写equals()
public final class Integer {
private final int value;
}
hr面:
自我介绍(兴趣爱好,特长,性格),期望薪资,工作地点,学校学习情况,未来规划,如何学习