vipkid Java二面+HR面, 加油
8.15
时间: 大概有1个多小时
其中, ...表示省略.
1. 自我介绍
2. 简历上做的项目, 讲到了UML
工具: starUML
画了用例图, 然后就问了include和extend 区别
extend: 可选的系统行为, 而include就是必选的操作
3. 讲了实习项目, 技术栈, 做了什么...
fastjson
一个问题: SpringMVC框架中,
接口返回值是一个Java对象或者Map接口, 而前端接受的是
JSON字符串, 框架做了什么处理?
@ResponseBody
序列化对象转成JSON格式字符串写到HTTP请求体里面
...
4. 如何实现一个本地缓存, 类似Redis
对频繁读取且相对稳定的数据一般都是用了缓存
讲思路: Redis是key-value数据库,面对key的内存搜索,优势明显。
我讲数据结构用HashMap
参考:
Java 本地缓存的实现
包括处理数据过期的问题
5. JVM相关, 网络, JUC下常用类, 线程池(种类, 拒绝策略), 面向对象
JVM内存分区
可以作为GC Roots的对象:
虚拟机栈(栈帧中的本地变量表)中引用的对象
方法区中类静态属性引用的对象
方法区中常量引用的对象
本地方法栈中JNI(Native方法)引用的对象
三次握手, 四次挥手
利用OO原则设计一个计算器
以面向对象编程思想里考虑,这样写耦合度太高,扩展性也不好
抽取共用相同的行为
抽象类
思想: 新增一个功能, 不能直接去修改代码, 需要新增一个文件来扩展
// 加法类 public class CounterAdd extends Counter{ public double counterResult() { return Operator.getOperatorResult(getFigure1(), getFigure2(), "+"); } }
6. Linux相关
...
如何查看Tomcat TCP请求数量
netstat
7. 算法相关
假如一个数组, 里面数据先递增, 然后递减, 求找到最大的数
8. 逻辑思维题相关
9. 你有什么要问我的呢?
总结: 这次面试很有趣吧! 啥都问了, 答得比较差, 不过, 后来觉得基础部分答得还行,
当然面试的话, 还是有点看运气的! 哈哈!
HR面试:
1. 你面了哪些公司?
2. 有拿到offer吗?
最后, 过了! 确实比较开心的! 这是我秋招第一个offer, 继续加油呗!
还是一句话, 天道酬勤!