首页 > 请各位大佬分析下为啥我这波vivo面试为啥直接挂在了一面

请各位大佬分析下为啥我这波vivo面试为啥直接挂在了一面

本菜鸡一志愿是后端开发,二志愿是安卓开发,后来被调剂到了安卓,于6月9日参加一面,问题和我的回答如下,请各位大佬给我分析下。


1.自我介绍

2.首先上来问我的项目,因为是区块链项目,他不是特别了解,就简单问了下区块链是干啥的,就没问了。

3.开始问专业基础问题

问题一 :进程和线程的区别

回答:进程的书面的定义是程序得一次执行过程,是一个动态的概念,在未引入线程的os中,它是资源分配和调度的基本单位。线程的可以理解成轻量级的进程,他负责完成进程的各个子任务,引入线程后,它是cpu调度的基本单位,但是拥有资源的基本单位仍然是进程,多个线程公用进程的内存空间在系统开销方面,线程所需的开销小于进程。

问题二:你刚说进程是公用内存空间,这句话绝对吗?

回答:不绝对,在jvm内存模型中,线程有自己的私有内存空间,如虚拟机栈,本地方法区,程序计数器等

问题三:是不是多线程一定有优势

回答:不是,这个得看情况而定,如果单线程情况下cpu利用率很高,就没必要用多线程了,线程的切换和管理会增加系统负担。如果是cpu利用率不高,这时候可以考虑用多线程,提高利用率,增加并发性

问题四:怎么确定线程数

回答:这个得看是io密集型 还是cpu密集型,cpu密集型一般是核心数➕1就可以了,io密集型我记得有个数学公式来着,记得不太清了。

问题五:在java中,Thread类有哪些常用的方法

回答:sleep start currentThread join yeild等

问题六:wait和notifyall是了解吗

回答:了解,主要用来进行线程之间的通信的

问题七:那再问你一个,notifyall是用来干啥的?

回答:用来唤醒阻塞的全部进程的

问题八:那唤醒全部进程后到底谁来占锁呢,不就不可控了吗

回答:我觉得这个可能跟os底层的调度策略有关(实在没底气,因为真不确定)

问题九:线程池了解吗?主要作用是什么

回答:了解一点,线程池也是一种池化思想,他的作用有两个,一个用来管理系统中的线程,使得线程能够合理运作。另一个就是减少线程创建撤销带来的系统开销。

问题十:创建线程时的重要参数能说说吗

回答:核心线程数,最大线程数,抛弃策略,阻塞队列等

问题十一:好,线程的问题就问到这里,来问问你几个集合类的问题,如何用list去实现set

回答:主要需要解决的是判重的操作,首先是比较hashcode是否相等,如果相等,也不一定是两个相同的对象,还需要调用== 或者未重写过的equals方法,如果相等,才是真正的相等。

问题十二:那你知道用到了什么设计模式吗?

回答:(当时脑子一蒙,把知道的设计模式过了一遍,单例?代理?适配器?模板方法?) 小声嘟囔了几句,应该是代理模式把,因为在实现了原有方法的基础上进行了方法增强(实在是不确定啊)面试官也没说对和不对

问题十三:刚听你说了单例模式,你能写一个单例模式吗

回答:那我就写个比较常见的DCL单例吧,哐哐哐一顿敲,边写边解释(因为写了好多遍了)

问题十四:你还知道其他的单例实现方法吗

回答:恶汉 懒汉 枚举 静态内部类等

问题十五:你写的那个一定是安全的吗

回答:不是,有些方法也可以破坏这个单例的,比如反射,因为反射机制的存在,private这个修饰符就没啥用了,可以通过反射获取其构造方法,然后创建实例

问题十六:那怎么解决这个问题?

回答:可以考虑在构造方法里加一点逻辑判断,让他没办法创建实例

问题十七:mysql数据库平常用吗?索引了解吗?什么叫最左匹配原则?

回答:经常用,有一点了解,举个例子,比如我给I'd name age三个字段加了索引,如果我查询时,条件为id=1 age=25 那么只会走id这个字段的索引,类似于这样的叫最左匹配原则

问题十八:那我问你,如果给id name加索引 那么我查询时用name=1 id=1 会走索引吗?

回答:应该会走吧,我记得mysql是自带优化器的(这个真不确定,很没底气)

问题十九:你平常做项目会画uml图吗?

回答:(懵了懵了,这个只在还在学习head first java的时候看到一点,现在全忘了) 不太用,以前在学java基础的时候学过。。(真想抽自己,直接说不太熟悉不就行了)

问题二十:那你说说uml图中类和类的四个关系

回答:(实在是太紧张了,后来一想不就是问的类和类之间的关系吗。。。。) 这个我不太清楚。。

问题二十一:我看你简历上写了熟悉git,你平常用的多吗?

回答:因为现在在实习,每天需要提交代码,每天都会用一下

问题二十二:你实习的岗位是什么,是安卓开发吗?

回答:不是(一阵凉意袭来)



好,那今天问题就问到这里吧,你有什么问题问我?

问了两个无关紧要得问题面试结束,耗时28分钟。




以上就是面试全过程,我感觉答的过程还算愉悦,没想到反手就给挂了,各位大佬给分析分析原因。





更多模拟面试

全部评论

(38) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐