#vivoJava面经# #Java面经# #校招面经# 👈点击话题查看更多同类面经干货!每日面经精选,为你发掘牛客干货!
重新发一下 markdown的:本帖记录了今年提前批之前牛客上vivo的所有面经,我做了分类汇总,本来是用来为vivo提前批准备的,谁知道简历都没过,现在人还在人才库里。😔  我还是很想去vivo的,希望正式批能有机会吧。vivo 面经分类汇总Java基础1.JDK JRE2. Java异常了解吗?说说平时遇到的异常?说出6种常见的java异常。写程序遇到过哪些异常  运行时异常有哪些3. 面向对象 面对对象的几大特性 多态怎么理解4. 修饰符:public;protect;default;private优先级5. 对string类的理解。stringbuffer 和 stringbuilder6. 反射机制介绍一下7. bio,nio,aio分别介绍一下,nio的实现方式8. 问了public等变量定义修饰词的时间域9. 问了反射机制,还有问了动态代理的好处和坏处,好处答不上来10. 接口和抽象类的区别。11. 有一个public static final的HashMap,里边对象的属性能不能修改?12. 为什么java 平台无关性 机器码和字节码区别 JVM加载代码的一个流程13. java数据类型以及自己的应用 自动拆箱和自动装箱以及自己的应用即什么时候用到的,列举几种情况14. 什么是值传递和引用传递,区别及应用15. 重载和重写16. static方法是否能重写,接口和抽象类的区别17. 你觉得java是一种什么样的语言以及java特性18. lamda表达式了解吗?1.8新特性有什么?(面试宝典对接口抽象这个问题是错的,过时了)19. 内存泄露怎么造成的,怎么排查20. 讲讲final修饰符。21. 一个对象占多少内存。22. 最短路径问题23. java浅拷贝和深拷贝24. 内存泄露的原因和处理25. java反射机制,优点缺点26. 说说静态变量和非静态变量的区别,用类名调用静态变量和用实例对象调用静态变量有区别吗?非静态方法里可以有静态变量吗?27. static能不能被重写?    - 重写方法的目的是为了多态,或者说:重写是实现多态的前提,即重写是发生在继承中且是针对非static方法的。语法上子类允许出现和父类只有方法体不一样其他都一模一样的static方法,但是在父类引用指向子类对象时,通过父类引用调用的依然是父类的static方法,而不是子类的static方法。即:语法上static支持重写,但是运行效果上达不到多态目的28. 序列化,反序列化,什么时候用? 如何对一个对象序列化Java集合类Hashmap底层(数组+链表+红黑树)hashmap为什么线程不安全,如何保证线程安全,就扯到concurrenthashmap  hashmap底层实现 多线程会出现什么情况 扩容机制是什么为什么会死锁 如何解决碰撞 Jdk 1.8的优化。为什么使用红黑树,它是如何做到效率优化的? hashmap了解不,原理是什么,位图了解不,跳跃表了解不,红黑树了解不,红黑树插入过程,B+树了解不,B+树特点和插入过程,邻接表和邻接矩阵区别,分别在什么地方用到, 插入和查询的流程。concurrenthashmap1.7和1.8的区别;concurrenthashmap说说,它是如何保证线程安全的?jdk1.7的hashentry和segment锁。具体说说segment锁?能讲下ConcurrentHashMap的实现原理么 JDK7或者8都行常用集合类 实现类 list和set区别(重复/不重复)set,list,map(线程安全的map,map怎么实现之类的)红黑树介绍一下,跟平衡二叉树比较一下,红黑树有哪些应用场景你常用的数据结构有哪些?红黑树的特点,AVL树一致性哈希函数以及hashmap的put方法数组、二叉搜索树、B树、B+树堆和栈。堆、栈二叉树的最大节点个数;2^n-1;Java并发java创建线程的方式,runnable和callable区别(参数不同)1. java线程的状态有哪些;线程的几种状态wait和sleep的区别;wait和notify的使用场景;介绍一下volatile以及原理;volatile介绍一下Volatile底层是如何实现的? 说了内存可见性和内存屏障,Volatile是绝对线2程安全的吗?不是,没有保证原子性。volatile关键字在线程通信的问题介绍一下synchornized以及原理; lock和synchornized的区别;synchronized锁的升级过程?Synchronized,底层是如何实现的?说了monitor对象头,以及两个monitorenter和monitorexit运用于代码块。对象头是存储了哪些信息?说说synchronized的锁优化过程?说了偏向,自旋,轻量和重量。介绍一下AQS;说一下公平锁和非公平锁的原理;cas操作是什么,以及可能出现的问题;线程池,然后你再平时怎么用的,工作原理,有哪些重要参数,饱和策略有哪些;线程池了解吧,说说如何实现线程池?核心参数哪些?有哪些阻塞队列呢?如何优雅的关闭线程池 线程池(线程大小,阻塞队列)线程创建,线程池参数,说说你常用的线程池?说了new ***d 和newFixed。以及介绍各个参数说说你理解的悲观锁和乐观锁?乐观锁有哪些?乐观锁有什么缺点?阻塞队列 线程间通信方式 创建线程方式 创建线程池方式 线程池常用参数锁有哪些说说你常用的并发包JUI?问了如何保证多线程通信你用过Java的J.U.C并发包吧,给我讲一下AQS的原理CAS的原理给我讲一下,他是怎么保证内存的可见性的。CAS会产生什么问题知道Java中的内存模型吧,它有8个指令你给我说一下多线程如何保持同步?java可见性的关键字及其原理。cpu密集型多线程和io密集型多线程的比较。cpu密集型里如何管理多线程? 用什么样的线程池和阻塞队列?cpu线程特别多会产生什么问题?io密集型里怎么减少需要的线程数?io多路复用的原理和实现。怎么减少处理io(和磁盘io交互)所需要的线程?线程实现方式。有什么区别。线程之间的通讯,进程之间的通讯。JVMJVM运行时内存区域划分?哪些线程私有?运行时数据区,私有共享都是哪些?堆区内存如何分配?对象的生命周期?JVM垃圾回收器,cms和g1的特点,两者的区别是什么,比g1更加先进的垃圾回收器有了解么,ZGC原理,能够管理多大的内存,CMS能管理多大的内存,G1呢JVM内存模型 类的生命周期 类加载过程  双亲委派机制了解吗  进入老年代过程 什么情况下直接进入老年代JVM内存分布(堆栈等,程序计数器+jvm栈+本地方法栈线程不共享,堆和方法区线程共享)类加载机制,过程,类加载机制?如何自定义实现类加载器?双亲委派模型、类加载器类别,双亲委派模型本质是解决了什么问题?安全性,有哪几种类加载器?类加载的流程。知道哪些类加载器。类加载器之间的关系?双亲委派模型。为什么使用双亲委派模型?垃圾回收算法,常见的垃圾回收器及他们之间区别,垃圾回收发生在哪里,怎么判断对象存活、GC Roots具体有哪些、讲讲对象分配与回收,什么可以作为垃圾回收的对象,垃圾回收算法和流程。栈什么情况下会溢出?静态变量存放在内存哪个区域?怎么查看java虚拟机内存占用?如何减少full gc的次数?方法区是否需要gc4个引用类型 计算机网络输入一个url后的过程;浏览器从发送请求的全部过程OSI七层和TCP四层协议,OSI七层模型/五层模型,每一层有哪些协议,http,tcp,ip位于哪一层TCP三次握手四次分手,tcp四次挥手为什么要四次,为什么TCP是安全的,TCP,UDP的区别TCP报文结构,HTTP结构, TCP,UDP,HTTP的报文格式(我懵了)设计一个应用层协议(没有答出来HTTP协议连接过程,HTTPS连接过程,HTTP的长连接是怎么做的HTTP2和HTTP1区别,HTTP请求过程http的几种方法,HTTP跟HTTPS的区别,https加密过程操作系统程序,进程和线程的区别什么时候情况下要用多线程?进程之间怎么通信的?一个手机应用程序里面的进程和线程分别是怎么进行的?死锁,怎么解死锁,死锁条件,怎么预防进程的状态:阻塞+就绪+执行手机内存8g,是32位的,一个进程能申请多少内存?线程的应用,举例,线程的阻塞主线程和子线程的区别Linux :linux中如何查看CPU负载 toplinux用过嘛(扯到了我训练过深度模型,小哥哥直接来了个场景题)场景题:推荐算法中如何控制广告推送频率(结合强化学习说了一些Linux了解不,df dh区别,如何格式化磁盘,磁盘挂载过程,tcp丢包如何排查,docker是用什么实现的怎么查找特定后缀名或前缀名的文件Mysql数据库引擎事务隔离级别,串行化如何实现,数据库的隔离级别?四个。你平常使用的是哪个隔离级别。数据库隔离级别以及分别解决了什么问题MySQL的存储引擎有哪些?它们之间的区别?你用的mysql存储引擎?为什么选择它?实现原理?怎么判断一个SQL语句有没有走索引?紧接着问explain知道哪些字段吗mysql存储模型 区别 怎么看用没用索引 怎么判断sql语句好坏数据库中索引B+树一个手机应用要更改数据库,它的底层是怎么实现的?sql查询过程MySQL InnoDB存储引擎中的MVCC解决了什么问题,能说下MVCC的实现原理么SQL语句经常写吧,那我给你出一道SQL题(分组求和排序)你认为什么情况下不应该建立索引mysql有几种锁?怎么实现?innodb事物的级别b 树的结构?与二叉树的区别?与b树的区别?写过最复杂的sql,  手写代码: 统计各个科目考试最高分:最复杂的包括了sum、case、left join、group by,追问左连接和内联区别,没答上来聚簇索引跟红黑树sql :给一个日期范围,统计每天入库的数据总量sql语句里like和in关键字sql语句,求平均分超过60分的学生学号数据库sql怎么优化 什么情况不能用索引?SELECT column_name(s)FROM table_nameWHERE column_nameBETWEEN value1 AND value2 什么时候会发生死锁;怎么解决死锁;N个资源怎么办?redis你知道redis的什么东西redis中zset,说了一下跳跃表的插入,删除过程;位图知道原理嘛(操作系统中的位示图还是bitmap?不太了解)redis数据类型,redis的应用场景,为什么redis快Redis的key的写入和删除的原理怎么保证Redis的高可用redis数据结构?单线程还是多线程?用什么样的队列?你是怎么实现?我回答的redis的list实现的)这种队列有什么缺点?分布式锁;mq你还用过rabbitMQ呀,它能够做什么?rabbitMQ是怎么保证消息不丢的,从客户端—消息队列, 消息队列—服务器端的角度考虑spring开源框架有哪些了解的 为什么用spring 为什么不用new就可以自动生产 能不能自己实现一个spring security是干嘛的,原理是啥,jwt干啥的后台用什么框架?ioc,aop,其他还有什么框架也可以做到ioc,aop(2333~不就spring?)Spring IOC,AOP,注解设计模式双重检索单例设计模式分为哪三类,各有什么?设计模式,用过哪些设计模式,讲几个,设计模式和原则代理模式属于哪一类生产者消费者模式,生产消费者的,以及多生产者同步描述适配器,写单例单例模式,装饰模式,分布式负载均衡的算法有哪些;rpc  dubbo的组件有哪些分布式事务,CAP定理,有没有使用过相关的产品zookeeper了解吗hbase索引的结构,kafka存储的结构,二进制文件的组织方式,kafka如何避免消息丢失,zookeeper在kafka中是干啥的,kafka在zookeeper中存储的数据,zookeeper了解不,zookeeper的共识算法,分区后如何解决。protobuf了解不,grpc了解不,用的什么协议,HTTP2和HTTP1区别,websocket建立连接过程RPC你了解过吗?如何分布式存储?算法排序算法有哪些,简述冒泡和归并排序,冒泡算法的优化,讲讲归并排序,冒泡的优化知道吗;回答相等不交换,还有flag做已排序标志的优化;直接插入排序,写一下伪代码或者说一下思路,插入排序,时间复杂度堆排序原理快排,快排是什么思想,快排的优化是啥,为啥这么做;字母排序100个数中找出想要的数一个数组分成2个相等或接近的子数组派单的最短路径问题很大的数据,内存放不下,如何快速找到中间值手撕栈链表找环 链表找环入口,不用双指针怎么做双向链表实现 ,写了个add()和add(index)的求数组的全排列中序遍历,递归非递归求四个数绝对值的最小值黑猫白猫,混在一起,如何把他们区分开? 黑白灰三种猫混在一起,如何按照黑白灰排好序? 还有两个小问题忘记了。如何用一个int值,表示三种状态?其他给你10个tomcat你如何判断自己用哪个(容器?emmmm,求指点)位图知道原理嘛(操作系统中的位示图还是bitmap?不太了解)所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此可以大大节省存储空间。其实就是位示图为原型,01存储的,建议面试的时候知道多少说多少,知道什么说什么~序列化相关最后还是问项目,项目中的难点,是如何解决的?c++编程搞过没,GPU编程了解不,用的什么GPU,GPU运算性能是什么决定的如果某个用户同时请求创建活动接口100次,如果防止它被重复创建?创建前查看该记录是否存在、使用锁、如果是分布式的使用分布式锁—这样解决了99.99%的问题。除了使用这些方案,还能使用什么方法解决吗?讲讲分布式锁的实现io量很大,队列很长怎么办?Q:觉得用过的模板解析引擎有什么不同的特征。A:用过JSP和Thymeleaf,JSP我就说适合Java程序员做前端,本质还是Servlet,生产环境下调试方便;Thymeleaf是SpringBoot项目碰到的,本质是EL,语法特殊,但是前后端传值、传对象方便。讲一下对jQUERY的使用感受A:研一的项目做过iOS开发,用OC做的webview APP,用到了jQuery Mobile做界面和事件控制,感觉很方便。  后面的Web项目主要用来进行Ajax操作,选择器很方便。硕士一个项目涉及到跨系统集成,要我在纸上画出集成逻辑架构,介绍一下开发用到的技术和业务环境。 集成用的WebService,引入Apache旗下的Axis, 涉及到文件传输和多数据源配置。。。。用过eclipse、IDEA、Myeclipse,评价一下区别 代码提示、插件库、收费与免费、代码模板、资源消耗用过EJB和SSH,评价一下区别问了实习经历 了解分布式吗?你怎么用的websocket?想做安卓还是java后台?手机端安卓怎么开发的?activity四大组件介绍一下serviceAPP的启动流程Android事件分发机制view的测量方法;Android之间线程通信介绍一个你用心做的模块,项目流程,怎么理解异步同步,什么场景用;static能不能被重写?MD5为啥要加盐(彩虹表·);UUID有多少位(32位)HR1:说说最自豪的一件事?最有意义的经历?2:说下为什么选择计算机行业?为什么放弃了本科四年+研究生三年的本专业?3:为什么选择vivo?有拿到其它的offer吗?4:为什么读研?5:你相比于科班的优点?6:询问父母情况,是否单身?7:期望薪资个人的实习实践经历等等,然后问了你觉得大学四年你最挫败的事情,详细讲一讲然后重点来了接下来就是传说中的三保一问题了1、假如公司1,公司2,vivo同时发offer给你,你怎么选择?为什么?2、假如家里,公司,学校同时需要你去解决事情,你怎么安排,怎么考虑?然后问到了意向薪资(完全不知道怎么说,很尴尬啊,说的高了怕被拒,说的低了怕被看不起,太难了),意向工作城市这些问题问一些为什么想加入vivo啊,了解vivo吗的问题,主要看你是不是真想加入vivo。其他都是闲聊自我介绍?缺点?对学习成绩的评价,以及如何看待学习成绩?课余做什么?对vivo的了解如何看待加班?评价自己的学习能力?工作城市的选择是否有其他offer?问了自己的三大优点,还有自己的缺点问了为啥跨专业,其实也不算跨专业,虽然我是生物医学工程的,但是我们平时就是做软件相关的;问了成绩情况 问了家庭情况家是哪的,父母干啥为什么写代码如何自学的深圳和杭州偏向那个给一个理由说服录用你六级成绩你认为你觉得做过最有成就感的项目是哪个?以及遇到了什么困难,是怎么解决的你了解vivo吗?你对薪资的期望是多少?你认为选择一个公司,什么重要你认为怎么对新人进行培养比较好你认为你要具备什么样的软件工程师素质才能胜任你的工作?你认为自己有什么优点?你在实习的公司工作的感受是什么?你有什么问题问我的吗?1、为什么选择读研?2、为什么选择开发岗不去做算法?3、研究生3年都做了什么?4、对vivo了解多少?5、从哪得到的招聘信息?6、为什么选择杭州?7、秋招还准备报哪几家?8、还有什么想了解的?首先是自我介绍自己感觉自己比较成功的项目经历项目具体背景以及自己在项目中的角色,项目开发团队在这次项目中,你遇到的问题,自己是怎么解决的  为什么选择软开这个行业职业规划家庭情况以及个人情况谈谈自己最大的优点,自己是个怎样的人(也就是自己有什么优势)1.自我介绍2.专业不是计算机,但是研究方向是做java web,问了些情况3.实习经历4.意向工作城市5.有没有挂科过,本硕阶段学院排名6.进入vivo想学到什么7.硕士阶段收获最大的科研经历1.自我介绍2.你比其他人的优势在哪3.你期望实习带给你什么4.你了解vivo嘛5.你认为一个合格的软件工程师需要什么6.什么时候能来实习,能实习多长时间1.你的优势?2.你了解vivo吗?3.你来公司想提升自己什么?4.兴趣爱好5.实习时间6.有offer了吗?1.自我介绍2.平时在干些什么3.成绩怎么样,能保研吗4.保研还是工作5.你比其他人的优势在哪6.你期望实习带给你什么7.了解vivo吗8.你认为一个合格的软件工程师需要什么9.你什么时候能来实习1.自我介绍一下吧(又介绍🌝2.让你比较有成就感的事情?为什么觉得这个让你比较有成就感3.你的优缺点是什么4.你考研考的最差的一门课5.为什么不想去南京6.编程能力给自己打几分7.还收到过别的公司的offer吗中间在一个房间等了差不多10-15分钟的样子,然后去了hr房间先自我介绍,hr就问了几个问题,只去南京吗?我说嗯,为什么?男朋友在南京,考研的吗?推免的,大小周能接受吗?可以hr说之前没有实习过?(我的心里,我就是在找实习啊,之前填的意向职位就是实习啊,刷面经看到好像都是19届的,不知道为什么给我发了面试通知)然后就说研一有课,研二上要写论文就没找。。。(到现在都很蒙,我到底找的啥。。)之后就让我问她问题,我说我没有啥问题,hr说这周就会通知,不管过没过1,对vivo有了解吗(得亏新出了iqoo)2,还是项目,项目的职责(我是组长),遇到的问题,怎么解决的,有什么收获3,你是哪里人,深圳南京东莞你更倾向哪个城市?4,有没有其他offer(有一个小公司的,因为钱少 估计没成长就不准备去)5,你还有什么问题(我说了我在一面问过新员工培训的事,所以没其他问题)没问加班有女朋友没? (问题顺序我记不清楚了,顺便写)你最喜欢哪些公司?会不会比较偏爱互联网公司?你喜欢深圳呀,如果分你去南京呢?你未来的规划?职业规划?(感觉就是确认下,你是不是不喜欢这种做硬件不是互联网的公司...提前准备个自然的点的说辞)剩下记不清楚了,自我介绍和对简历的内容扯淡花了些时间。(以上大约15分钟)然后开始我问他问题。8.20号之前给结果。1.介绍一下自己2.为什么搞开发,有考虑过转行通信?(学校通信比较吊。。)3.为什么不考研?4.优点缺点,举个例子(所以别给自己挖坑。。)5.英语怎么样?四六级?6.大学成绩,学习情况?7.实习的情况,介绍一下8.想待在哪儿?南京,深圳?9.职业规划?10.你觉得什么公司比较好?(我说我觉得在南京vivo就很好。。。没敢说南京有三坑那个梗)11.有女朋友没?(有,我头像就是我老婆。。)当然没有。为什么不找?学习太忙了,学校女生本来也很少。(其实就是找不到。。)12.你有什么问题问我?https://www.nowcoder.com/discuss/94116
点赞 131
评论 31
全部评论

相关推荐

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