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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 就业高冷派 黑马粉丝团   /  2018-11-23 15:49  /  11021 人查看  /  133 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 就业高冷派 于 2018-11-23 15:58 编辑

公司名称:西安中软国际
注册规模:10000人以上
公司地址:西安天谷八路环普科技产业园
公司图片:
面试经过:进入大厅会有人事专员带领你进入公司内部,然后和你大概聊聊,也就是些毕业年限和工作经验的事情,谈谈自己的性格啥的,不用紧张的,感觉特别轻松,和你聊上20分钟左右会直接让技术主管过来面试。和技术主管聊的时候总结了几点经验:
1:简单说说你对面向对象的理解?
1)抽象:提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不同的需求下,需要提取的特性可能不一样。得到的抽象模型中一般包含:属性(数据)和操作(行为)。这个抽象模型我们称之为类。对类进行实例化得到对象。
2)封装:封装可以使类具有独立性和隔离性;保证类的高内聚。只暴露给类外部或者子类必须的属性和操作。类封装的实现依赖类的修饰符(public、protected和private等)
3)继承:对现有类的一种复用机制。一个类如果继承现有的类,则这个类将拥有被继承类的所有非私有特性(属性和操作)。这里指的继承包含:类的继承和接口的实现。
4)多态:多态是在继承的基础上实现的。多态的三个要素:继承、重写和父类引用指向子类对象。父类引用指向不同的子类对象时,调用相同的方法,呈现出不同的行为;就是类多态特性。多态可以分成编译时多态和运行时多态。
2:为何Map接口不继承Collection接口?
尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。
如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。
3:HashMap的工作原理是什么?
我们知道在Java中最常用的两种结构是数组和模拟指针(引用),几乎所有的数据结构都可以利用这两种来组合实现,HashMap也是如此。实际上HashMap是一个“链表散列”,如下是它数据结构:最左侧是一个数组,数组中的每一个元素都是一个链表,链表的每一个元素都是entry。
HashMap是基于hashing的原理,我们使用put(key, value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当我们给put()方法传递键和值时,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来储存Entry对象。
4:Array和ArrayList有何区别?什么时候更适合用Array?
Array可以容纳基本类型和对象,而ArrayList只能容纳对象。
Array是指定大小的,而ArrayList大小是固定的。
Array没有提供ArrayList那么多功能,比如addAll、removeAll和iterator等。尽管ArrayList明显是更好的选择,但也有些时候Array比较好用。
(1)如果列表的大小已经指定,大部分情况下是存储和遍历它们。
(2)对于遍历基本数据类型,尽管Collections使用自动装箱来减轻编码任务,在指定大小的基本类型的列表上工作也会变得很慢。
(3)如果你要使用多维数组,使用[][]比List
5:Elasticsearch与Solr的比较?
首先,Elasticsearch与Solr都是基于Lucene的
当单纯的对已有数据进行搜索时,Solr更快。
当实时建立索引时, Solr会产生io阻塞,查询性能较差, Elasticsearch具有明显的优势,随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。
Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;
Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;
Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。
Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。
6:说说你对springAOP和IOC的理解?
许多应用都是通过彼此间的相互合作来实现业务逻辑的,如类A要调用类B的方法,以前我们都是在类A中,通过自身new一个类B,然后在调用类B的方法,现在我们把new类B的事情交给spring来做,在我们调用的时候,容器会为我们实例化。
2). IOC容器的初始化过程
    IOC容器的初始化过程,一般不包含bean的依赖注入的实现,在spring IOC设计中,bean的注册和依赖注入是两个过程,,依赖注入一般发生在应用第一次索取bean的时候,但是也可以在xm中配置,在容器初始化的时候,这个bean就完成了初始化。
3). 三种注入方式,构造器、接口、set注入,我们常用的是set注入
4). bean是如何创建---  工厂模式
5). 数据是如何注入-------反射
6).AOP
面向切面编程,在我们的应用中,经常需要做一些事情,但是这些事情与核心业务无关,比如,要记录所有update*方法的执行时间时间,操作人等等信息,记录到日志,
通过spring的AOP技术,就可以在不修改update*的代码的情况下完成该需求。
7).AOP的实现原理------代理
总结:对集合与框架问的不叫深一点,其他的还好,去的时候可以复习复习。




133 个回复

正序浏览

努力工作,天天向上~
回复 使用道具 举报
小西西哦 发表于 2018-12-14 14:58
6666666666666666666666666666666666666666666

努力工作,天天向上~
回复 使用道具 举报
曹阳茜 发表于 2018-12-13 18:47
这个闷骚的世界,你怎么了

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报
760486198 发表于 2018-12-13 18:36
666666666666666666666666666666

努力工作,天天向上~
回复 使用道具 举报
kdhdjdj 发表于 2018-12-13 16:23
6666666666666666666666666666

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报
1467584 发表于 2018-12-13 16:04
感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享 ...

努力工作,天天向上~
回复 使用道具 举报
回复 使用道具 举报
小丹子 发表于 2018-12-13 15:22
我不想说感谢分享,我只想说继续加油!

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报
SharkSSB 发表于 2018-12-13 13:21
谢谢楼主,辛苦了...........

努力工作,天天向上~
回复 使用道具 举报
SharkSSB 发表于 2018-12-13 13:21
谢谢楼主,辛苦了...........

努力工作,天天向上~
回复 使用道具 举报

努力工作,天天向上~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马