招银网络面试题、考点、知识点总结(Java岗)

 

java基础java

全是基础不用多说确定考的多,尤为是招银linux

OOP特性/java语言特性:封装、继承、多态面试

多态具体的表现:多态应用举例、如何调用父类方法(super)、重写和重载(重写父类方法的规则、构造方法可否重写。。)redis

类、抽象类、接口:抽象类和接口的区别、引用传递和值传递、java只有值传递算法

泛型spring

反射:class类的意义sql

StringBuffer、StringBuilder、String区别:String经常使用方法数据库

static关键字在那个内存区域设计模式

java经常使用包有哪些数组

final关键字

建立新对象的方法

java如何缓存(与redis、memcache无关)

 

容器

简单

集合类的层次关系,简单介绍

equals()、hashcode()的区别,重写注意事项

TreeMap了解吗

HashMap、HashTable、ConcurrentHashMap:区别、hashMap实现原理、put方法作了什么、底层源码、自定义类放入hashmap的要求(重写equals和hashcode)

LinkedList和ArrayList区别

 

线程

难点在于被问到手写线程代码,那就算本身倒霉了;不然线程还算简单

线程和进程

线程定义方法,这些方法的区别

线程状态转换图

concurrent包有啥内容

BlockingQueue原理

线程安全的容器

线程池相关:线程池参数意义,如何设置线程池参数,如何调优线程池

程间通讯:概念、手段:同步包下的同步器、volatile、synchronized、单例+多线程、join

线程同步:概念

死锁:原理和解决方式、手写死锁

综合题目(我的认为难度较大,遇到算你倒霉):景区多个入口出口统计人数、多线程保证一个对象、双重检查单例手写、生产者消费者手写、手写多个线程按顺序执行

乐观锁悲观锁思想:乐观锁和悲观锁的经常使用实现方式(乐观锁:版本号机制、CAS算法)、经常使用的乐观锁悲观锁都有啥(乐观锁atomic包下的、悲观锁synchronized reentrantLock)

并发访问错误的解决

用lock实现先读再写(能答出来的我五体投地)

 

数据库

问的就那些,背就完事了,很简单

手写基础语句

事务(!!很重要):隔离级别、四个特性、不一样隔离级别产生的问题(脏读幻读不可重复读)

存储过程 | 函数 | 触发器:存储过程和函数的区别,如何选择使用;触发器分类

存储引擎

高级查询相关:内外连接的区别、左右连接的区别

索引相关(!!很重要):原理、索引优缺点、索引设计优化策略、经常使用索引类型、索引生效场景

数据库(非索引)优化

数据量巨大时,如何分库分表,场景、条件和实现方式

B树和B+树:区别、画一个B+树

设计无限极分类表

union和union all

查询结果去重:distinct和group by的区别

数据库链接池:最大链接数、最小链接数

 

JVM

简单

jvm运行时内存分配:各区域比例设置

GC:GC算法,堆和GC算法;GC时间

finalize方法

内存泄漏的产生和解决(严格来讲不属于jvm相关知识)

对象建立流程

参数:本身改过什么JVM参数

类初始化顺序(加载链接初始化)

对象如何判断是垃圾

回收过程

静态变量实例域(啥玩意)

 

算法

算法本人没啥好说的,本身刷吧,如下是出现过的经典题,一些偏门的我就不写了

排序算法:七种基础算法必定要熟练到手写,各自的特色和复杂度;随机快排和经典快排,复杂度;给一个序列,手写快排一次后的序列

队列和栈:队列和栈区别,使用场景;数组实现队列

找到100亿url中最多出现的k个(!这个题不少公司都问到了,应该是哈希+分文件+堆排序,本身查吧)

如何把取出的数据树形结构化

介绍红黑树,和AVL树的区别

一致性哈希,怎么解决哈希冲突

数组和链表:数组和链表的区别以及优缺点;列表去重;个有序链表合并(!!出现过几回);找出两个数组相等的数,不能用其余数据结构;一个数组中只有两个数出现一次,其余的都出现两次,求这两个数;给定一个数字和数组,找出数组中两个相加等于这个数字的两个数,不能用数据结构;找两个链表的交叉节点

判断树1是树2的子树

二叉树:层级遍历;后序遍历;72个节点,问非叶子节点数量;求任意两节点距离,时间复杂度;判断是不是平衡二叉树,如何调整平衡二叉树

矩阵找最短路径,直接画出来

手写LRU

 

JDBC & ORM

不太问道的一个区域,能问的也少,枉费我当初学了好久

sql注入和防治办法(preparestatement和statement区别,有啥优势)

mybatis:如何开启延迟加载、如何分页、mybatis批量查询手写

数据库链接池的实现方式:本身设计链接池须要考虑什么

驱动为何使用反射而非new(内部存在内部静态代码块,防止加载两次)

 

spring族

介绍springboot/Spring:不要僵硬的背ioc和aop,虽然主要确定是说这个,但能够随便扯点别的啊、好比spring是轻量级一站式框架

Spring中用到的设计模式:spring如何实现单例模式的

spring的隔离级别

spring事务写在那一部分(service层),为何不在controller或者dao层

springmvc工做流程

拦截器作啥的,啥时候用

spring修改成prototype的方法

aop的使用方式,何时用jdk动态代理何时用cglib(不使用接口时的状况)(别问我,问就是不懂)

spring中全局变量如何建立

 

设计模式

单例模式(!!很是重要!!):手写饿汉和懒汉式、单例保证多线程安全的方式,双重检测单例模式

工厂模式、策略模式、观察者模式、适配器模式(比较常考)

 

操做系统 & 计算机网络

这部分我都说的不知道,可是仍是过了,唉,感谢面试官啊

子网掩码做用

进程调度算法

进程间通讯方式

TCP和UDP的区别(!!常常考)

TCP三握四挥(!!常常考)

HTTP(!!常常考):常见状态码、http和https、http请求响应的内容、get和post区别

访问网站的流程和涉及到的协议,对应七层模型(!!常常考)

 

项目 & 综合题

这方面每一个人不同而且重复几率低,我列举几个有参考价值的

怎么保证写代码出错少

项目中类函数如何声明

项目中印象显著的bug,怎么解决的

说一下微服务,微服务如何管理

path和classpath区别

eclipse、intellij快捷键和使用技巧

浏览器请求如何保证到达后台而非使用浏览器缓存(请求加随机参数)

设计转帐场景(这是我被问到的综合题,扑街)

设计移动支付场景

BS和CS

系统卡顿如何查找缘由

linux中不少waittime连接什么状况

 

写在最后

最后,欢迎作Java的工程师朋友们加入Java高级架构进阶Qqun:1017599436

群内有技术大咖指点难题,还提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)

比你优秀的对手在学习,你的仇人在磨刀,你的闺蜜在减肥,隔壁老王在练腰, 咱们必须不断学习,不然咱们将被学习者超越!

趁年轻,使劲拼,给将来的本身一个交代!

相关文章
相关标签/搜索