面试总结

241 阅读7分钟

面试公司:厦门mou通信科技有险公司

面试题:

1.平时在编程处理字符串都熟悉用什么样的类呢?

我的答复:有使用String类型。 参考文献:blog.csdn.net/qq_37358860…

2.你刚刚说的String中还有StringBuffer和StringBuilder你有用过吗?

我的答复:StringBuilder比StringBuffer效率高,我使用比较少,我常用String类型。

3.那StringBuilder介绍一下?

我的答复:StringBuilder可以修改,String不可以修改。StringBuffer跟StringBuilder比起来效率更高,StringBuilder是JDK1.5版本新增的。(详细见题1参考文献)

4.你刚提到String不可以修改为何不能修改?

答:String不可修改指的是引用地址无法修改,比如: string s = “abd”; s = “ABD”; 该案例中从”abd”到“ABD”中,明明s发生了改变其实不然,s只是一个引用对象,它指向一个字符串对象“abd”,第二行代码的含义实让s重新指向一个新的字符串“ABD”对象,只不过已经成为一个不可及对象。或者说jvm生成了两个新的字符串abd和ABD,s仅仅是改变了引用的对象,不是修改了它们之间的任何一个字符串的值。

5.String中常用的方法?

.length();//获取字符串的长度 .char();//求字符串某一位置字符 .equals();//比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false .indexOf();//用于查找当前字符串中字符或子串,返回字符或子串在当前字符串 等等;

6.写统计字符串AABBC中A、B、C出现的次数的方法?(面试要求写出代码)

7.介绍什么是Oauth2?

答:OAuth2(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容;如你百度账号可以通过你已注册过的QQ账号进行登录,获得跟百度账号注册后访问到一样的权限.

8.介绍你熟悉的项目有用哪些框架并介绍一个你最熟悉的框架?

答:spring、springMVC、springboot、spring cloud spring是款轻量级开源框架,以IOC(控制反转)和AOP(面向切面编程),IOC就是把原本在程序中手动创建对象的权力交给spring框架来管理;AOP是基于动态代理,如果要代理的对象,实现了某个接口那么spring就会会使用JDK动态代理,而没有实现接口的对象,spring会使用Cglib动态代理生成一个被代理对象的子类来进行代理。......等等

9.介绍比较熟悉的spring的注解有哪些?

答:@Component:使用在类上用于实例化Bean() @Repository:使用在dao层类上用于实例化Bean(repository) @Controller:一般放在web层上用于实例化Bean(web) @Service:使用在servi层类上用于实例化Bean(service) @Bean:标识一个用于配置和初始化一个由SpringIoc容器管理的新对象的方法,类似于XML配置文件的,一般与@Configration注解配合使用 @RequestMapping:用来处理映射地址 @ResponseBody:将字符串数据写回 等等 参考文献:blog.csdn.net/weixin_4210…

10.在spring xml 中配置一个bean参数注入的标签是那一个?

答:bean标签

11.讲讲你对spring事务传播机制的理解?

答:propagation_requierd:如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入到这个事务中,这是最常见的选择。 propagation_supports:支持当前事务,如果没有当前事务,就以非事务方法执行。 propagation_mandatory:使用当前事务,如果没有当前事务,就抛出异常。 propagation_required_new:新建事务,如果当前存在事务,把当前事务挂起。 propagation_not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 propagation_never:以非事务方式执行操作,如果当前事务存在则抛出异常。 propagation_nested:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与propagation_required类似的操作 参考文献:www.cnblogs.com/myseries/p/…

12.你都用用过哪些选择器?

答:class选择器 id选择器 element选择器 等等 参考文献:www.cnblogs.com/s-1314-521/…

13.常用的Linux命令有哪些?

cd //切换目录 cd.//表示目前所在目录 cd..//表示当前目录位置的上一级 clear//清楚屏蔽 pwd//显示当前路径 date//日期 ll //列出当前文件或目录的详细信息 等等 参考文献:www.cnblogs.com/xuxinstyle/…www.linuxcool.com/

14.谈谈你对多态的理解?

答:同一事物的在不同时候表现出来的多种形态。 父类引用指向子类对象,父类引用作为参数可以接收请子类对象,接口引用作为参数可以接收其实现类对象。 前提:类与类之间要有关系,要么继承,要么实现。要有方法重写。父类或者接口引用指向子类对象。 多态有两种实现方式,1通过接口实现,父类引用指向子类对象。2子类继承了父类且重载了父类的方法。

15.重写和重载有什么区别?

答:方法的重载和重写都是实现多态的方式,区别在于重载实现的是编译时的多态性,而重写实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类和父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常。重载对返回类型没有特殊的要求。

16.介绍一下什么是Dubbo?都怎么用的?

答:Dubbo是一个阿里开源的一个高性能、轻量级的RPC架构。用于跨网络远程调用,比如前端服务通过网络来调用服务端。

17.什么是rabbitMQ,在项目中如何使用如何使用?

答:rabbitMQ可以使用应用解耦、流量削峰、异步处理等作用。如在秒杀场景时,使用rabbitMQ可以启动一个流量削峰的作用,客户端会把请求消息直接发送给rabbitMQ,A系统在rabbitMQ中消费请求以此到达流量削峰的目的。

18.谈谈你对rabbitMQ解决分布式事务的理解?

答:如在项目中支付场景时,保证在支付多个服务器消费rabbitMQ时能够保持数据的一致性。

19.介绍一下redis以及在项目中有哪些应用场景?

答:redis是一个开源的高性能从键值对数据库(即非关系数据库),可以支持10w请求, 支持丰富的数据类型如list(列表类型)、set(集合类型)、zset(有序集合类型)、hash(哈希类型)、string(字符串类型);应用场景如缓存(新闻内容、商品内容、数据查询)、聊天的在线好友列表、任务队列(秒杀、抢购、12306等等)、应用排行榜、网站访问统计、数据过期处理(可以精确到毫秒)、分布式集群架构中的session分离。

如有什么错误地方请各位大佬给小白我提醒一下!小声问道各位大佬觉得这是什么难度的面试?