招银Java开发提前批视频一二面 base杭州
一面 7.10 25min
秒杀项目的一些细节
秒杀项目里怎么用redis
怎么解决超卖问题(一直以为秒杀不会有人问,结果这边问了,超卖问题没有准备,后面要再看看)
面试官说我笔试成绩不错,开始问Java基础
重载和重写的区别
重写遵循哪些规则(继承关系,方法名、参数列表和返回值一样,这里说错了,返回值应该是小于等于父类的返回值。抛出的异常要小于等于父类的异常。访问修饰符要大于等于父类。访问修饰符当时说错说成小于等于了,复盘发现的,一些小错误面试官当时没有给我指出来,后面还问了父类和子类不同包下,子类能否重写父类的protected方法,没想到问这么细,后来发现自己好像答错了,后续还得再查查
父类哪些方法不能被重写
父类构造方法可以被重写吗
a=a+b和a+=b有什么区别吗(当时说的没区别,有点没反应过来,后来查了跟数据类型有关,可能涉及到强制类型转换,当时没想到
又扯回redis 可能觉得我基础答的不好
redis用在哪里
redis一般用来缓存哪些信息
redis事务(不会,说mysql事务比较了解,然而面试官没上钩
了解什么设计模式(说了单例和工厂
手撕单例模式(写了double check
序列化,如何写一个对象到磁盘(很久没写io流了,让我写个大概,只记得ObjectOutputStream.writeObject)
mysql语句,查询姓王的同学的数据,用到了like '王%',这里问如果姓名有索引,那么like这里有没有用到索引,如何看一条语句有没有用到索引
删除语句、插入语句、更新语句、给表新增一个字段(太久没写sql了..后面两个不记得了。。)
二面 7.16 29min
是个女面试官,迟到了5分钟,面试期间没开摄像头,给我一种不太尊重人的感觉,这里印象就不太好了。
自我介绍
问秒杀项目(追着问自己开发的吗?需求谁定的?
为什么选择秒杀(我就是抄一抄网上的项目啊..扯了扯秒杀这个功能比较有意思,涉及的技术比单纯商城项目多
怎么开发的?对着网上的做的吗?参考了多少?(这一套三连真是没给我留情面,只好说对着网上视频学的,自己理了理逻辑,理解了一下,最后还追问是跟的哪个网上做的项目。。
简单介绍秒杀这个项目的功能
秒杀用的什么框架
数据库用的什么
数据库的表怎么设计的
秒杀表里面涉及时间的有几个字段
程序里时间怎么管理的?(前端发请求获取服务器端的时间
时间在mysql里存的什么类型(实际存的timestamp,但我记错了这里说了datetime
存日期用的什么格式(说的 "2020-7-16 9:10:10")
写代码,把上面的时间转换成"2020/7/16 9点10分10秒"这个格式(刚开始用String写,面试官问你java里存的也是String吗,我说用date格式存的,面试官建议我用date类型,我说那用个format函数应该就可以了,但具体api我不记得了。你不记得了那有什么其他办法解决吗,后来面试官说我也没限制你怎么做,你就先完成了再说吧。我就用String去解决了,split、replace就完事了,还让我给她说一下思路
如果不同数据库取出来的时间要怎么处理变成现在的格式,设计一个通用的方法(转换成timestamp,然后再去更个格式
从设计模式考虑呢?(说的策略模式,想完成一个功能,可以根据需求调用不同的方法
研究生为什么做科研没做项目(??研究生不就是科研为主吗,我只能说老师这边有科研要求,没项目
深度学习、Java开发如何结合,给我说说你学了深度学习你有什么优势(这真的触及到我的知识盲区了,深度学习和java开发怎么结合..要不然也不会分算法和开发了吧。我讲了讲我论文,用深度学习做java的代码补全,面试官说diss了我这个说这边是银行,不做ide,和银行业务结合呢?不知道
Java怎么学的?
研究生上了什么课?
项目开发的流程是什么样的?
学数据库的时候有过上机操作吗?
学习成绩怎么样?
反问
问了工作时间,一般是8点到5点半。估计赶着下一场面试,就结束了。
总结
小厂风格吧,现在只面过字节和招银,可能是字节面试体验太好了,这边感觉就不是很好,也不怎么问基础,都是问应用,感觉就是招进去就是天天crud就完了。。小厂风格吧,需要即战力,可能不太注重培养,会干crud的活基本就可以的感觉。