- 结束后进行查询:
- 要将一个声明为 final 的 ArrayList 对象设置为不能进行 add、remove 操作,
- 可以使用 Collections 类的 unmodifiableList() 方法来实现。该方法返回一个只读的 List,无法进行修改操作,包括 add、remove 操作。
- Collections.unmodifiableList() 方法创建的一个只读的readOnlyList。最后尝试在 readOnlyList 上进行 add、remove 操作,结果都会抛出 UnsupportedOperationException 异常。
- 可以使用 static 关键字来控制属性的序列化。被 static 修饰的属性不会被序列化,因为 static 属性属于类级别,不属于对象级别。因此,即使对象被序列化为字节流,static 属性也不会被包含在内。
- 补充场景题:若一个耦合很强的类中有几个方法在创建的时候漏了几个参数?可以怎么通过不修改原方法的前提下进行补救?
- (答得是 方法重载;但是面试官说,这虽然是一种方法,但是因为方法所在耦合度高,因此可能涉及大量的类都要进行修改,所以不是很建议 )
- 建议对漏掉的参数设置到 一个ThreadLocal 对象中:在方法中将要传递的参数设置到ThreadLocal对象中。可以使用set()方法设置参数值。在需要访问参数的方法中,从ThreadLocal对象中获取参数值。可以使用get()方法获取参数值。在使用ThreadLocal时应该在使用完毕后调用remove()方法来清除ThreadLocal中的值,避免内存泄漏。
- 因为做的是『 论坛类型』项目,也没有想到会问「秒杀」,属于是“猝不及防”:
- ....因为确实没怎么准备这个,所以其实就是根据自己的理解去说了一下思路,orz...
其实面试官总体还不错,除了猝不及防的『 秒杀』,其他的感觉答得其实不算太差,面试官也很耐心引导,总体感觉还好,不管怎样也算是积累经验了。
写完这篇面经时再去官网查看状态,已经 红××了,还没到俩小时啊.....
哎,继续加油吧。
#我的实习求职记录##春招##面经##阿里##实习#