招银网络科技电话面试前整理(2019校招)

由于本人马上要电面招银网络,所以从牛客、CSDN各个网站总结的招银面经问题(java开发/测试):

牛客最新面经:

2018年9月

第一个

1、机试做错的题可能会问

2、final的用法:可以用于三个地方,修饰类、类属性和类方法。被final修饰的类不能被继承,被final关键字修饰的类属性和方法不能被覆盖(重写)

3、循环单词的比较,形如abcd,bcda,cdab

4、有序队列的合并:用归并算法。

5、10000个数取前10个:堆排序构建堆过程

6、排序算法

7、基本数据类型:int、byte、short、long、、char、float、double、boolean

8、string和int转换:

9、类加载机制

10、线程同步、sychoronize和lock区别:sychoronize是一个修饰符,lock是接口

11、建索引的语句

12、大表查询优化

13、数据库连接:左连接右连接等

14、js数据类型:字符串、数字、布尔、数组、对象、Null、Undefined

15、spring权限控制:基于Spring AOP实现的数据权限。

16、springmvc请求流程

java岗位:

1、介绍项目

2、求最大子序列

3、加权二叉树

4、数据库

 

数据开发岗

1、msql怎么实现查找第100-200条数据

2、窗口函数中rank() dense_rank() 区别

3、mysql有哪些索引类型、有哪些锁

4、如果数据很多,又要保留很久,怎么在底层设计mysql

5、java堆和栈区别

6、什么时候GC

7、常见的包

8、数据库连接池怎么实现

9、JavaScript了解吗

 

测试开发岗

1自我介绍

2数据库视图

3数据库索引

4主键

5CS和BS架构的区别和优缺点

6 链表和数组区别,优缺点

7 数据库原子性

测开岗第二个

1、数据库中视图和游标的区别

视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

2、数据库中的几种联接方式,全连接

3、数据库的存储过程:实际上是预编译的sql过程。

4、数据库中事务的隔离级别

5、CS和BS架构区别,优缺点;

6、Linux中常用的命令

7、常用数据库有哪些?

 

网络、Http、html

cookie和session区别

session是web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪就是以上这两个,Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

1、谈谈对jvm的理解

个人见解:jvm是java的核心和基础,是在java编译器和os平台之间的虚拟处理器。即java编译器只需要将源码编译成jvm能理解的代码或者字节码即可,至于和os平台之间,就是jvm需要做的事情了。通过这个环境可以很好的实现跨平台的特性。

举个小例子就是在javac编译时会生成.class文件。这些class文件是通过java编译器实现的,最后交由jvm来解析。

jvm类加载过程:加载、验证、准备、解析、初始化、使用、卸载。

2、java程序初始化顺序

在一个java程序中,有类、成员、构造函数、代码块、方法等。

他们的顺序基本为:静态优于非静态、成员变量优于方法和块、父类优于子类。

总结起来为:父类静态变量-->父类静态块-->子类静态变量--->子类静态块--->父类非静态变量-->父类非静态块-->父类构造方法-->子类非静态变量-->子类非静态块--->子类构造方法

3、线程的创建:

三种方式:A继承Thread类,重写该类的run方法,创建Thread子类的实例,调用线程对象start启动线程

B实现Runnable接口,重写该类的run方法,以此实例创建线程对象,调用start方法启动线程

C通过callable和Future创建线程,实现call方法

时间允许的话,分析一下三者的优劣

4、mysql主键和唯一索引的区别

唯一索引用UNIQE定义,保证数据记录的唯一性。

主键是一种特殊的唯一索引,用来标识唯一一条数据,用Primary Key创建。

5、如何实现session共享,用redis如何实现

通常情况下,tomcat、jetty等servlet容器会默认将session存在内存中,但是这个不利于扩展。Redis 是一个key-value数据库,可以将session统一存在redis中进行管理。如果项目是基于spring框架开发的,只需要对项目进行配置即可。主要配置项:maven依赖、filter配置、spring配置文件。

6、说说微服务

微服务就是为了解决一个业务系统太大~太繁琐~太笨重~太复杂,我们把业务系统拆分成了多个独立的小应用去开发。在多个小应用之间就可以通过服务完成沟通。每一个小应用都可以独立完成一个业务,同时还可以把自己的服务给其他的应用去消费。

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

另一个博客:

java基本知识:

1、接口和抽象类的区别。

从两方面分析,语法方面的区别和设计层面的区别。

2、重载重写

重载时有几个不同,方法重载时参数名称不同,类型不同,参数个数不同即可构成重载。

重写常常被用于继承。比如说按map的value进行比较,需要重写compare方法。

3、控制反转和依赖注入:

这是一设计思想。IOC意味着将设计好的对象交给容器控制管理,而不是传统的在你对象内部的直接控制。很好体现了面向对象,由IoC容器帮对象找相应的依赖对象并注入。

谁依赖谁?为什么需要依赖?谁注入谁?注入了什么?

可以用找女朋友的例子打比方。通过婚介所找对象就是IoC。把创建对象的事情都交个spring,由他统一管理。

 

4、依赖注入的几种方式,

A、setter方法注入

B、构造器注入

C、接口注入

 

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

第三个博客:17年9月

分为两个部分:

Part1:介绍项目

Part2:问题:

1、说下进程与线程的区别

进程:CPU进行资源分配和管理的最小单位

线程:CPU进行调度的最小单位。

进程拥有一个完整的虚拟地址空间,不依赖于线程而独立存在;反之,线程是进程的一部分,没有自己的地址空间,与进程内的其他线程一起共享分配给该进程的所有资源。

2、说说JVM

JVM是java比较核心的东西,它实际上就是建立了一个虚拟环境,使得os与java编译器之间能够相互进行交流。主要包括内存模型、垃圾回收机制类加载机制

内存模型主要是堆区和栈区、程序计数器、方法区。

垃圾回收:垃圾的定义:引用计数和可达性分析。垃圾回收的方法有标记-清楚算法、复制算法、标记整理、分代收集。

3、说说线程创建的方式

三种

4、说说集合类框架

collection和map。及其下的实现类。

5、spring框架

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

第四个:应该是现场面试

1、主要用什么语言开发?Java

关于C、C++的问题:C语言的单链表和双向链表有什么区别?

跳跃表有没有听说过?自然是不知道

java有内存回收的机制,C没有,知道什么时候会出现野指针,什么时候会出现内存泄露吗?

有用过什么数据结构?写过简单的反转链表、两个栈实现队列,

二叉树的遍历有哪几种?前序中序后序

 

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

16年9月面经

1、讲项目

2、瀑布模型的几个阶段

3、如何实现环形队列

4、内连接和外连接及交叉连接。

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

2018年9月

1、数据库连接的方式?

方法一是java原生的jdbc ;方法二是利用properties。配置文件的形式利用java原生的jdbc进行连接;方法三是利用c3p0-config.xml配置文件形式,利用c3p0配置文件设置连接池进行连接;方法四利用dbcp.properties配置文件形式;方法5利用mybatis-config.xml配置文件形式;方法6利用hibernate.cfg.xml配置文件形式

2、用什么数据结构去存数据库连接池?

预先在缓冲池中放入一定数量的连接。用队列的形式存储连接池。。java中可以用Vector、Stack

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

2016年9月

1、在java中进行数据库连接并操作数据的?最后需要进行什么操作?

2、项目中使用jquery,那么on、bind、live、delegate这几个函数有什么区别?

3、一个http请求所包含的数据格式是什么?

请求行+请求头+数据体

4、一次http请求的详细处理过程?

三次握手1建立TCP连接 2Web浏览器向web服务器发送请求命令  3web浏览器发送请求头信息 4web服务器应答  5web服务器发应答头信息。6发送实际数据。 7web服务器关闭TCP连接

5、一次struts处理请求从开始到看到页面数据之间都发生了什么,整个详细过程?

6、项目中都用到了什么框架?(spring+spring mvc+mybatis)

7、在自己的项目中有没有用到并发?如果让你现在考虑给你的项目中考虑并发你会怎么做?你要控制(进行同步)的数据源是哪些?

-------------------------------------------------------------------华丽分割线---------------------------------------------------------------------------

未完。。

你可能感兴趣的:(面试)