2021交通银行面试问题总结
交通银行面试问题总结
为什么来交通银行?
交行自1908年(梁士诒)创办以来,已经有一百多年的历史,拥有深厚的文化底蕴和人文情怀,对员工培养也是不遗余力,具备完善的员工培养机制,在金融科技方面,交行的董事长任德奇先生也曾说过,金融科技战略由落子布局到精耕细作,并且从近几年的交行的发展情况来看,交行一直在蓬勃发展,20年交行入选全球品牌价值500强,因此我相信交行在金融科技上的发展是十分有潜力的,能让我得到更好更快的成长。
有什么问题需要提问?
由于没有现在还没有进入到交行工作,所以想了解下对于新入职的新员工,有没有统一的培训项目,我能不能参加,项目是单独针对金融科技岗位的吗?交行的员工晋升机制是怎么样的呢?
交通银行面试问题总结:
1.Array和ArrayList的区别
ArrayList 内部是由一个array 实现的。ArrayList 是Java集合框架类的一员,可以称它为一个动态数组。array 是静态的,所以一个数据一旦创建就无法更改他的大小。如果需要一个数组可以重新定义他的大小,你应该使用 ArrayList, 这是array 和ArrayList的基本的不同。
不同点:
Array | ArrayList | |
---|---|---|
Implementation(实现) | 本地的程序设计组件或者数据结构 | 来自Java集合类的类,一个接口 (Application programming interface) |
Performance(性能) | 内存的使用和CPU 耗时较大 | 内存的使用和CPU 耗时相对小 |
Type Safety(类型安全) | 不支持泛型,类型不安全 | 支持泛型,类型安全 |
Flexibility(灵活性) | 动态数组,灵活的 | 静态数组 |
Primitives(基本类型) | 支持对象和基本数据类型 | 基本数据类型 |
Generics(泛型) | 不支持泛型 | 支持泛型 |
Iteration(迭代) | for、foreach | 支持Iteration |
Supported Operations(支持的操作) | 不支持添加删除操作 | 支持添加删除操作 |
Size() vs length(大小 vs 长度) | 长度不可变更 | 初始长度为10,向右移一位,扩容1.5倍 |
Dimension(维度) | 支持多维数组 | 不支持多维数组 |
相同点:
- Data Structure(数据结构 ):两者都允许存放对象,并且所有的都是基于index的数据结构,提供O(1)的复杂度来获取一个元素,但是如果通过二分查找来查询某个元素依旧需要log(N)的复杂度。
- Order(顺序):array 和ArrayList在添加元素时都维持着元素的顺序。
- Search(查找 ):可以通过index来查找一个元素;
- Null values(空值 ) :array 和 ArrayList都允许存储null值。
- Duplicates(重复 ) :array和Arraylis都允许存储重复的值。
- Zero-based Index(从零开始索引):array和ArrayList都从零开始的索引,即第一个元素从零的开始索引。
2.String和StringBuffer的区别
String:
- 是对象不是基本数据类型(原始类型)。
- 为不可变对象,一旦被创建,就不能修改它的值。
- 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。
- String是final类,即不能被继承。
StringBuffer:
- 是一个可变对象,当对它进行修改的时候不会像String那样重新建立对象。
- 它只能通过构造函数来建立,StringBuffer subffer=new StringBuffer();
- 对象被建立以后,在内存中就会分配内存空间,并初始保存一个null,通过它的append方法向其赋值 subffer.append(“hello word”);
- 字符串连接操作中StringBuffer的效率要明显比String高;
- String对象是不可变对象,每次操作String都会建立新的对象来保存新的值;
- StringBuffer对象实例化后,只对这一个对象操作;
3.wait和sleep的区别
wait | sleep | |
---|---|---|
同步 | 只能在同步上下文中调用wait方法,否则或抛出IllegalMonitorStateException异常 | 不需要在同步方法或同步块中调用 |
作用对象 | wait方法定义在Object类中,作用于对象本身 | sleep方法定义在java.lang.Thread中,作用于当前线程 |
释放锁资源 | 是 | 否 |
唤醒条件 | 其他线程调用对象的notify()或者notifyAll()方法 | 超时或者调用interrupt()方法体 |
方法属性 | wait是实例方法 | sleep是静态方法 |
4.MySQL中索引的使用
索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。
优点:
- 所有的MySql列类型(字段类型)都可以被索引,也就是可以给任意字段设置索引;
- 大大加快数据的查询速度;
缺点:
- 创建索引和维护索引要耗费时间,并且随着数据量的增加所耗费的时间也会增加;
- 索引也需要占空间,我们知道数据表中的数据也会有最大上线设置的,如果我们有大量的索引,索引文件可能会比数据文件更快达到上线值;
- 当对表中的数据进行增加、删除、修改时,索引也需要动态的维护,降低了数据的维护速度;
使用原则:
并不是每个字段度设置索引就好,也不是索引越多越好,而是需要自己合理的使用。
对经常更新的表就避免对其进行过多的索引,对经常用于查询的字段应该创建索引,
数据量小的表最好不要使用索引,因为由于数据较少,可能查询全部数据花费的时间比遍历索引的时间还要短,索引就可能不会产生优化效果。
在一同值少的列上(字段上)不要建立索引,比如在学生表的"性别"字段上只有男,女两个不同值。相反的,在一个字段上不同值较多可是建立索引。
注意:索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引
- MyISAM和InnoDB存储引擎:只支持BTREE索引, 也就是说默认使用BTREE,不能够更换。
- MEMORY/HEAP存储引擎:支持HASH和BTREE索引
索引分为四类:单列索引(普通索引,唯一索引,主键索引)、组合索引、全文索引、空间索引、
- 单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引;
- 普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点;
- 唯一索引:索引列中的值必须是唯一的,但是允许为空值;
- 主键索引:是一种特殊的唯一索引,不允许有空值;
- 组合索引:在表中的多个字段组合上创建的索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用,使用组合索引时遵循最左前缀集合;
- 全文索引:只有在MyISAM引擎上才能使用,只能在CHAR,VARCHAR,TEXT类型字段上使用全文索引,介绍了要求,说说什么是全文索引,就是在一堆文字中,通过其中的某个关键字等,就能找到该字段所属的记录行;
- 空间索引:空间索引是对空间数据类型的字段建立的索引,MySQL中的空间数据类型有四种,GEOMETRY、POINT、LINESTRING、POLYGON。在创建空间索引时,使用SPATIAL关键字。要求,引擎为MyISAM,创建空间索引的列,必须将其声明为NOT NULL;
6.引用数据类型和基础数据类型的区别
基本数据类型:只有8种,可按照如下分类
①整数类型:long、int、short、byte
②浮点类型:float、double
③字符类型:char
④布尔类型:boolean
引用数据类型:非常多,大致包括:类、 接口类型、 数组类型、 枚举类型、 注解类型、 String
1、存储位置
- 基本变量类型:在方法中定义的非全局基本数据类型变量的具体内容是存储在栈中的
- 引用变量类型:只要是引用数据类型变量,其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址(ps:通过变量地址可以找到变量的具体内容,就如同通过房间号可以找到房间一般)
2、传递方式
- 基本变量类型:在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的;
- 引用变量类型:引用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本;
7.值传递和引用传递的区别:
值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。
引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。
2021交通银行面试问题总结相关推荐
- 韶音科技2021研究员面试经验
韶音科技2021研究员面试经验分享 调整志愿 HR面 技术一面 结果 其他信息 调整志愿 投的生理数据分析岗 后续转的助听器岗,没有任何原因 信息解释 HR面 1:问的问题有点冒犯 而且礼貌有问题,包 ...
- 2021前端面试及答案---(全部涉及比较全)
2021前端面试及答案----(全部涉及) 更新中- 小编从四月十九号开始了面试之旅也是成功蹭到了五一带薪假,线下面试面了五家全过,(牛马?)过程中被问到的问题和面试前小编自己刷过 感觉重要的题跟大家 ...
- 2021大厂面试高频100题最新汇总(附答案详解)
昨天在知乎上刷到一个热门问题: 程序员需要达到什么水平才能顺利拿到 20k 无压力? 其中一个最热门的回答是: "其实,无论你是前端还是后端.想进大厂还是拿高薪,算法都一定很重要." ...
- 年底了,按约定把2021 Go面试八股整理全了
肯定有不少朋友跟我一样,在考虑年后跳槽,今天就认真跟大家码一波面经. 要说现在前景好的,非Go工程师莫属.而且今年Go1.17中已经发布了泛型的体验版,这一功能也是为1.18版本泛型正式实装做铺垫,对 ...
- 2021年面试前端岗位需要注意什么?
整体业内范围要注意啥,俺真的不知道. 只能说点,俺面试时候遇到的,俺自己认为比较容易被扣印象分的事儿,但是这可能并不限于前端面试会遇到的-- 1.千万别太夸张了,记得遇到过好多次了,比如.面试时候说搞 ...
- 2021 前端面试经常被问到 Javascript+HTML5+CSS+ 框架问题(89 篇资料总结)
我经常会看到很多同学在学习前端的时候比较迷茫,不知道到底应该以怎样的学习路线来入门和进阶前端领域.作为程序员,肯定是不能容忍重复无味的劳动的,因此我就系统地总结分享一下前端精选学习资料,本文为「前端进 ...
- java简历项目经验描述,2021大厂面试合集
前言 面试大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了.回来之后把这些题目做了一个分类并整理出答案(强迫症的我~狂补知识)分为MySQL+Java+Redis+算法+网 ...
- 2021前端面试总结及反思
1.背景 校招进入一家初创型公司,工作刚满两年的前端入门级选手,写过vue,目前主要以React为主.从准备面试到拿到offer经历了将近5个月,大大小小面试20余次,刚开始的时候以为自己准备好了,但 ...
- 【最新】2021自动化测试面试宝典1000题
一.python 篇 python 笔试题-1 前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本 ...
最新文章
- mysql从当前月向前推12_JavaScript获取当前时间向前推三个月的方法示例
- Java项目:学生学科竞赛管理管理系统设计和实现(java+springboot+ssm+maven)
- C#基础知识整理:基础知识(5) 方法的重载
- mariadb 没有mysql表_数据未插入mySQL表(MariaDB)
- 若依微服务版怎样在common-core模块下引用第三方lib的jar包(MobileIMSDK4J_tcp的jar包)
- 普通用户Mysql 5.6.13 主从,主主及nagios的mysql slave监控
- tinyxml学习2
- 个人博客前端模板_腾讯前端开发工程师,教你极速搭建一个个人博客网站
- c++模板类静态成员变量_一文讲透父子类中静态变量,成员变量初始化顺序原理...
- java query包,有没有Java的http_build_query函数的Java等价物?
- 【Java】总结Integer类的API
- Haproxy 实现Apache的负载均衡
- HtmlUnit爬取Ajax动态生成的网页以及自动调用页面javascript函数
- OpenShift 4 - 多云管理(1) - 安装 RHACM、导入已有集群、配置观察功能
- 工业软件研究框架_【软件开发】工业软件相关学习信息
- SLAM大牛实验室汇总(转载)
- 自定义AutoTextView实现公告栏 文字3D 翻转动画
- ceph RBD块存储常规操作
- SMAP土壤湿度数据的下载与hdf-tif转格式
- 两个案例带你搞定JBoss Marshalling编解码在Netty中的应用