校招面试之终结篇

Posted 皮斯特劳沃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了校招面试之终结篇相关的知识,希望对你有一定的参考价值。

整理的校招面试题如下,希望对即将毕业的小伙伴有所帮助~


1、java基础

Java基础类型有哪些 String是不是基本数据类型

static关键字和final关键字的含义

++i和i++

volatile的理解

synchronized是阻塞式同步

hashCode和equal的区别和联系

常见异常有哪些,遇到异常怎么处理

JVM类加载机制

JVM垃圾如何回收 【垃圾回收器,年轻代、年老代】

垃圾回收算法、垃圾回收器、垃圾回收策略

什么时候栈内存溢出,什么情况堆内存溢出

String StringBuffer StringBuider的区别

抽象类和接口的区别

http中,get post的区别

事务的四个特性,以及各自的特点(原子、隔离)

索引的数据结构,B+树

熟悉ISO七层和五层框架

理解TCP和UDP等网络协议 TCP和UDP的区别

缓存有了解吗?什么情况使用缓存?怎么设计缓存?

索引是对数据库表中一个或多个列的值进行排序的数据结构,以协助快速查询、更新数据库表中数据。

mysql的基本操作 主从数据库一致性维护

mysql的优化策略有哪些

linux命令,awk、cat、sort、cut、grep、uniq、wc、top等

你所在项目的系统架构,谈谈整体实现

消息队列的使用场景

一个表tb1,字段是name,class,score。分别代表姓名,所在班级,分数。要求用一条语句查出每个班的及格人数和不及格人数


2、集合类

常见java集合类有哪些

Java集合框架的基础接口有哪些 Collection Set List Map

为什么Map接口不继承Collection接口

List、Set、Map之间的区别

ArrayList与LinkedList的区别

set和list的区别

HashMap实现原理

HashMap冲突很厉害,最差性能,你会怎么解决?从O(n)提升到log(n)

HashMap和LinkedHashMap区别

HashMap是线程安全的吗?怎么使它安全,Concurrenthashmap的实现

几种常用的数据结构及内部实现原理

String s = new String(“xyz”);

Java多态的实现

堆和栈的区别

Collections和Collection的区别


3、io

把一个对象写入数据源或者从一个数据源读出来,用哪两个流

说说你对io流的理解

什么叫对象序列化,什么是反序列化,实现对象序列化需要做哪些工作

IO和NIO区别

Java IO常见的类,什么时候使用字节流和字符流

使用了哪些模式

Java NIO模型


4、多线程

同步、互斥以及死锁的概念

并发的理解

能写出简单的多线程或异步并发程序,理解线程同步和互斥机制,理解死锁的概念和算法

书写一个生产者和消费者

线程的基本概念、线程的基本状态以及状态之间的关系

谈谈JVM的内存模型

什么叫线程安全

怎么保证线程安全

为什么使用线程池

多线程间怎么通信

同步和异步,阻塞和非阻塞的理解

创建线程有几种方式

线程池的了解

死锁代码实现

netty 模型

怎么设计一个线程池

同步和互斥

简单完整的Client端和Server端程序

在多线程环境中使用HashMap有什么问题?调用get()方法什么时候会进入无限循环?


5、spring

使用spring的好处

spring两大特性

Spring mvc的原理

怎么设计接口


6、算法和智力题

1、二分查找

2、快速排序

3、链表中删除一个节点 o(1)

4、链表逆置

5、设计一个类,只能生成该类的一个实例,考虑并发问题

6、子数组的最大和 o(n)

7、一个n阶的梯子,一次只能上一个或两个台阶,求有多少种方法

8、求二叉树的最大深度

9、链表逆序

10、移除链表倒数第n个元素

11、将两个有序链表合并

12、给定一个整数数组,求解数组中连续子数组之和的最大值

13、从1000w个数中找到最大的两个数

14、二叉树的镜像

15、输入一个已经按升序排过的数组和一个字,
在数组中查找两个,使得它们的和正好是输入那字。
要求时间复杂度是 O(n)
如果有多对数字的和等于输入,出任意一即可例如输入数组 1、2、4、7、11 、15 和数字 15

16、字符串最长公共子串

17、用栈实现队列

18、用队列实现栈

19、题目:两个单向链表,找出它们的第一公共结点。

20、有无限的水,一个5升的桶,一个3升的桶,得到4升

21、LRU缓存的实现

22、基于rand7()求rand10()

23、最长公共前缀

24、两个有序数组,求中位数

25、100根火柴,轮流取,1或2根,如何保证一定赢?

26、synchronized和lock有什么区别?

27、在秒杀系统的基础上如何设计一个支付业务

28、一个线程接收消息放入队列,队列设置最大值,另外一个线程处理消息

以上是关于校招面试之终结篇的主要内容,如果未能解决你的问题,请参考以下文章

死磕 java原子类之终结篇(面试题)

2019校招Android面试题解(算法篇)

死磕 java同步系列之终结篇

死磕 java同步系列之终结篇

校招实习面试系列,每日10题,快速学习Java高级篇

校招实习面试系列,每日10题,快速学习Java高级篇