2020年10月30日14:20 用友集团 视频面试 时长:45min

1.自我介绍

巴拉巴拉,巴拉巴拉…

2.你现在的移动公司管理系统是只有两个角色吗?如果再新增加一种角色你该去怎么考虑?就是不用去动一些核心代码

3.你对设计模式有哪些了解?

恶补路径Java常用设计模式总结及应用场景分析

4.就算是相同的业务员,怎么才能实现他的功能也不一样,说一下你的实现思路?

当时回答:**我觉得可以从数据库入手,当超级管理员,新建一个用户角色时,会有一个界面,可以设置这个新建角色是否具有某个角色,比如A角色具有增删、B角色具有改的功能,用数据库的字段来对应角色的权限,比如具有该功能和不具有该功能设置一个flag,在角色登录系统时,可以判断一下,是否具有某种功能,再去区分化显示。

5.你对Java的面向对象是怎么理解的,在你刚刚的回答中有哪几个对象,你能把它抽出来吗?

当时回答:超级管理员、普通管理员和普通用户都可以看成一个类,然后不同角色是这个类的实例化对象。
面试官的回答:我再给你抽象一下,你刚说的超管、普通管理员等这算不算一类对象,你按照什么去区分,你刚才说是用一个字段去区分这些对象,然后到达不同的页面,可以把页面看成一个一个对象,那为什么说页面不同呢?其实实际上就是功能不同,那我的理解是功能能不能当做一个对象呢?这样的话,你比如你刚才说的不用的功能就不用了再把它全部的列举出来了,如果人家要加一个功能,你是不是还要修改数据库的字段,这样显然是不合理的。把功能当做一个对象,这个时候你把用户和功能关联起来,你每次进入系统的时候,只需要查一下用户有哪些功能,然后再把这些功能显示在页面里,这样的话用户也能扩展了,因为你是按照你的类型走的,功能也能扩展了,唯一的一个点是在扩展用户的时候,你怎么能不改变之前的代码,就能进行无限的用户类型的扩展?你可以去考虑考虑

6.我看你熟悉sql的预编译,你说一下它主要有什么用处?说出来两点就好

当时回答:在我之前看书的时候了解到,首先我们看它名字,预编译顾名思义,就是将sql语句提前进行加载,一方面可以提高sql语句的性能,另一方面可以防止SQL注入。
恶补路径JAVA中JDBC预编译原理

7.我看你对Oracle有了解,他有个上限的问题,异与域的时候它里面能写多少个值?

当时回答:(当时是真的不了解这个东西,都听不懂面试官在说什么?)我这个时候也不能说不会,就要引导面试官,我大概知道Oracle和MySQL的区别,就努力引导在这个方面,不管什么面试都要扬长避短,直接说不会,面试官会觉得的你什么也不会,而且我自身体验,当我说自己不会的时候就会让 自己紧张起来,多说一个不会就多紧张一分,所以要努力的说出来,哪怕你的回答和问题只有那么一点点关系,当时我就是说我对Oracle不是很熟悉,在我做第一个项目就是用的Oracle数据库,后来发现它太大了,是一个重量级的数据库,后来的项目就用MySQL数据库了,因为它比Oracle要轻量的多。

8.那为什么你说Oracle大呢?Oracle比MySQL差了那些东西,你知道吗?

当时回答:我就说主要里面功能的支持不一样,因为有些关键字Oracle支持而MySQL不支持,因为它具备的功能多,所以所以说他大。(当时回答完感觉这不是正确答案,但是也没办法了,能扯多少就扯多少吧)。
恶补路径mysql与oracle的区别(面试题)

9.我看你熟练掌握JSP,JSP可以把前台代码和后台代码写在一起对吧,这个时候后台代码还需要编译嘛?

当时回答:需要编译的
恶补路径:JSP面试题及答案

10.编译需要什么?

当时回答:JDK

#11.对线程安全有了解过吗?

恶补路径:Java线程安全面试题,你真的了解吗?

12.这就说到了你的秒杀系统,你是如何保证你读到的库存数量不是脏数据?

当时回答:我加的锁

#13.按什么加的锁?

当时回答:给库存加锁

14.什么时候释放锁呢?

当时回答:就是磕磕巴巴,磕磕巴巴说的很乱。
面试官给我的回答:你可以加一个计数器,过去一个计数器+1,过去一个计数器+1,当计数器数值大于库存的时候,立刻把所有的请求都弹出去,这样就不会出现库存数量出现超卖等情况,而计数器可以承受住压力。
恶补路径Java并发(三)——同步计数器

15.我想问一下你这个项目缓存用的是什么呀?

当时的回答:用的是Redis,如果不用他的话,同时有大量的用户访问数据库,发送大量的请求,这个时候可能会造成数据库宕机,用Redi作为缓存,先把数据库从MySQL中读出来,然后在Redis中操作数据。

16.那你想过Redis也撑不住呢?

当时回答:我的思路是搭建一个Redis集群,单机的Redis撑不住,那就多整几个,搭一个集群。

17.集群Redis怎么做的呢?

当时没回答上来
恶补路径:(1)Redis面试题及分布式集群(2)史上最全Redis面试题(含答案):哨兵+复制+事务+集群+持久化等

18.我看你写Git版本控制库,平时用Git吗?

当时回答:我做项目的时候用到了,因为这个项是小组完成的,老师让我们建立分支,相当于各自分配的任务,然后每天完成任务后push上去。

18.你说说Git提交代码分哪几个步骤?

当时回答:它分一个工作区、缓存区、远程版本库。

19.往下拉的话有几种方式,有什么区别?

当时回答:有两种,一种是直接拉到工作区;另一种是先拉到缓存区再拉到工作区。
恶补路径GIT | GIT常见面试题

20.我看你了解Zookeeper、Eureka、微服务集群的搭建,那你去做过这个东西吗?

当时回答:这个就是了解了一下,Zookeeper注册中心在项目有简单的了解
恶补路径ZooKeeper面试题
Eureka常见面试题总结
29个你必须掌握的微服务面试问题(含答案解析)

21.注册和服务的发现是谁来做的?

当时回答:巴拉巴拉,巴拉巴拉乱说了一大堆。

22.我看你对Double、MQ有了解,在那个地方用到了它们?

当时回答:Double用了,MQ说实话当时了解到了,当时还没具体的实现,所以我就说是项目的一种预想,假如会出现什么问题,可以用用它解决。
恶补路径
RabbitMQ 面试题
rabbitMq的组件与原理,exchange四种方式,重复消费、顺序错乱

23.微服务架构不可避免的会涉及到分布式事务,你处理分布式事务是怎么处理的?

当时回答:巴拉巴拉又乱说了。
恶补路径【面试题】分布式事务

24.你有什么问题需要问我的吗?

我问的是通过面试,你对我的建议有哪些?
面试官回答:基础知识、必须熟悉项目让我印象很深刻的一句话就是:

“对待自己做过的项目就要像对待自己的孩子一样”

然后对公司做了简单介绍:nc用友系统面向客户是企业不是大众,企业云服务,在云上提供服务,亚太地区龙头,分库,云化、微服务化,根据数据,大数据分析,反馈给企业,平台部门。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@赵亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值