八月九号内推VIVO一面面经

第一次面试慌的一批,但是进入状态一会就好了,面试官人很好;最后还说自学学的挺好,不管结果怎样第一次体验还可以;
新鲜面经奉上

介绍一下项目;介绍一个你用心做的模块,项目流程,怎么理解异步同步,什么场景用;
static能不能被重写?
为啥?回答不能,不知道为啥;
重写方法的目的是为了多态,或者说:重写是实现多态的前提,即重写是发生在继承中且是针对非static方法的。
语法上子类允许出现和父类只有方法体不一样其他都一模一样的static方法,但是在父类引用指向子类对象时,通过父类引用调用的依然是父类的static方法,而不是子类的static方法。
即:语法上static支持重写,但是运行效果上达不到多态目的
什么情况不能用索引?
不清楚,回答了几个索引失效的情况;
1) 数据唯一性差的字段不要使用索引
比如性别,只有两种可能数据。意味着索引的二叉树级别少,多是平级。这样的二叉树查找无异于全表扫描。
2) 频繁更新的字段不要使用索引
比如logincount登录次数,频繁变化导致索引也频繁变化,增大数据库工作量,降低效率。
3) 字段不在where语句出现时不要添加索引
只有在where语句出现,mysql才会去使用索引
4) 数据量少的表不要使用索引
使用了改善也不大
另外。如果mysql估计使用全表扫描要比使用索引快,则不会使用索引。
MD5为啥要加盐(彩虹表·);UUID有多少位(32位)
synchronized为啥即有加函数,还加代码块?
粒度小;
写一个sql语句;
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
什么时候会发生死锁;怎么解决死锁;N个资源怎么办?
回答书上内容;
redis基本数据类型,分布式锁;
大体回答上了,意思到了就行;
五种结构,分布式锁几个要用到的redis命令:
setnx(key, value):“set if not exits”,若该key-value不存在,则成功加入缓存并且返回1,否则返回0。
get(key):获得key对应的value值,若不存在则返回nil。
getset(key, value):先获取key对应的value值,若不存在则返回nil,然后将旧的value更新为新的value。
expire(key, seconds):设置key-value的有效期为seconds秒。
冒泡的优化知道吗;快排的优化是啥,为啥这么做;
回答相等不交换,还有flag做已排序标志的优化;
二叉树的最大节点个数;
2^n-1;
有啥想问的;

#秋招##内推##面经##vivo##Java工程师#
全部评论
楼主是非科班出身吗?
点赞 回复 分享
发布于 2018-08-09 23:16
为啥我完全不聊技术,就问了一道算法,就开始聊人生
点赞 回复 分享
发布于 2018-08-10 00:06
面的不错,赞一个
点赞 回复 分享
发布于 2018-08-10 00:14
请问面试之前有通知你什么时候面试吗还是电话直接就打过来了呢?
点赞 回复 分享
发布于 2018-08-10 00:14
自学学的不错,但不是面试官的菜😏😏
点赞 回复 分享
发布于 2018-08-10 08:09
什么岗位的您是?
点赞 回复 分享
发布于 2018-08-10 09:58
楼主在哪内推的
点赞 回复 分享
发布于 2018-08-10 13:30
楼主是什么学校毕业的,为什么我的投递信息是已处理,就没有消息了,等的着急了。
点赞 回复 分享
发布于 2018-08-11 11:16

相关推荐

评论
点赞
58
分享
牛客网
牛客企业服务