A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 就业高冷派 于 2018-10-22 10:12 编辑

公司名称:西安极数宝数据服务有限公司
公司地址:曲江国际金融中心1206
公司规模:50-150人
公司环境:下图
无笔试,直接人事面,然后技术面。
面试环节:
1、1. 请你说说多态的好处&如何实现多态:
a) 可替换性:多态对已存在代码具有可替换性
b) 可扩充性:增加新的子类不影响已经存在的类结构
c) 接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类来完善或者重写它来实现的。
d) 灵活性
e) 简化性
(如何实现多态):
实现多态的前提是必须继承或实现。
实现多态有三种方式:
1 接口实现
2.继承父类重新方法
3.同一类中进行方法的重载
2、final, finalize和finally的不同之处
final 是一个修饰符,可以修饰变量、方法和类。如果 final 修饰变量,意味着该变量的值在初始化后不能被改变。finalize 方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会,但是什么时候调用 finalize 没有保证。finally 是一个关键字,与 try 和 catch 一起用于异常的处理。finally 块一定会被执行,无论在 try 块中是否有发生异常
3、final有哪些用法:

final也是很多面试喜欢问的地方,能回答下以下三点就不错了:
1.被final修饰的类不可以被继承
2.被final修饰的方法不可以被重写
3.被final修饰的变量不可以被改变。如果修饰引用,那么表示引用不可变,引用指向的内容可变。
4.被final修饰的方法,JVM会尝试将其内联,以提高运行效率
5.被final修饰的常量,在编译阶段会存入常量池中。

4、什么是乐观锁和悲观锁

乐观锁:乐观锁认为竞争不总是会发生,因此它不需要持有锁,将比较-替换这两个动作作为一个原子操作尝试去修改内存中的变量,如果失败则表示发生冲突,那么就应该有相应的重试逻辑。

悲观锁:悲观锁认为竞争总是会发生,因此每次对某资源进行操作时,都会持有一个独占的锁,就像synchronized,不管三七二十一,直接上了锁就操作资源了。

5、谈谈你所理解AOP?

AOP的具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取信息的方式,对该信息进行装饰,以取代鱼油对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

6、使用Spring框架的好处是什么?
  • 轻量:Spring 是轻量的,基本的版本大约2MB

  • 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们

  • 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开

  • 容器:Spring 包含并管理应用中对象的生命周期和配置

  • MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品

  • 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)

  • 异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常


7、ArrayList和LinkedList的区别?

最明显的区别是 ArrrayList底层的数据结构是数组,支持随机访问,而 LinkedList 的底层数据结构是双向循环链表,不支持随机访问。使用下标访问一个元素,ArrayList 的时间复杂度是 O(1),而 LinkedList 是 O(n)。

8、HashMap的实现原理

1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。

当我们往Hashmap中put元素时,首先根据key的hashcode重新计算hash值,根绝hash值得到这个元素在数组中的位置(下标),如果该数组在该位置上已经存放了其他元素,那么在这个位置上的元素将以链表的形式存放,新加入的放在链头,最先加入的放入链尾.如果数组中该位置没有元素,就直接将该元素放到数组的该位置上.

需要注意Jdk 1.8中对HashMap的实现做了优化,当链表中的节点数据超过八个之后,该链表会转为红黑树来提高查询效率,从原来的O(n)到O(logn)。

以上就是本人在极数宝公司的面试过程,此公司注重基础知识,面带微笑,有礼貌便可,面试官给人的感觉进轻松。



123 个回复

倒序浏览
感谢分享
回复 使用道具 举报
感谢分享!!!
回复 使用道具 举报

感谢分享!!!!!
回复 使用道具 举报
                        
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
感谢分享!!!!!
回复 使用道具 举报
感谢小伙伴的分享
回复 使用道具 举报

感谢分享
回复 使用道具 举报
回复 使用道具 举报
不错不错,谢谢分享!
回复 使用道具 举报
SunYan 来自手机 中级黑马 2018-10-22 18:59:24
13#
黑马666666666
回复 使用道具 举报
duanshaobo 来自手机 中级黑马 2018-10-22 19:34:24
14#
以上就是本人在极数宝公司的面试过程,此公司注重基础知识,面带微笑,有礼貌便可,面试官给人的感觉进轻松。
回复 使用道具 举报
66666666666666666666666666666
回复 使用道具 举报
6666666666666666666666666666666
回复 使用道具 举报
wangxue123456 来自手机 中级黑马 2018-10-22 19:47:01
17#
坐在回家的车上在顶帖
回复 使用道具 举报
6666
回复 使用道具 举报
pcdate 来自手机 中级黑马 2018-10-22 19:48:43
19#
666666666666666
回复 使用道具 举报

66666666666666666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马