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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 就业高冷派 黑马粉丝团   /  2018-11-23 15:49  /  10945 人查看  /  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 个回复

倒序浏览
感谢分享~
回复 使用道具 举报
回复 使用道具 举报
感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~
回复 使用道具 举报
                        
回复 使用道具 举报
6666666666666
回复 使用道具 举报
66666666666666666666
回复 使用道具 举报
感谢分享
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
6666666666666666666666666
回复 使用道具 举报
666666
回复 使用道具 举报
感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~
回复 使用道具 举报
感谢分享666666666666666666666666666感谢
回复 使用道具 举报
回复 使用道具 举报
666666666666666666666666666666
回复 使用道具 举报
感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~
回复 使用道具 举报
回复 使用道具 举报
格子衫真的是程序员的标配
回复 使用道具 举报

感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~感谢分享~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马