你离BAT之间,只差这一套Java面试题,挑战阿里社招

Posted 程序员超时空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你离BAT之间,只差这一套Java面试题,挑战阿里社招相关的知识,希望对你有一定的参考价值。

计算机基础知识


数据结构

!1、什么是队列、栈、链表

!2、什么是树(平衡树,排序树,B树,B+树,R树,红黑树)、堆(大根堆、小根堆)、图(有向图、无向图、拓扑)

!3、栈和队列的相同和不同之处

?4、栈通常采用的两种存储结构

%5、两个栈实现队列,和两个队列实现栈

算法

!1、排序都有哪几种方法?

!2、会写常用的排序算法,如快排,归并等。

%3、各种排序算法的时间复杂度稳定性 ,重点快排。

!4、单链表的遍历和逆序

!5、深度优先搜索广度优先搜索

?6、最小生成树

!7、常见Hash算法,哈希的原理和代价

%8、全排列、贪心算法、KMP算法、hash算法

?9、一致性Hash算法

操作系统

?1、虚拟内存管理

?2、换页算法

!3、进程间通信

?4、进程同步:生产者消费者问题、哲学家就餐问题、读者写者问题

!5、死锁的四个必要条件,避免方法

!6、Linux的一些基本命令,如lstailchmod

计算机网络

!1、tcp,udp区别

!2、HTTP请求和响应的全过程

!3、HTTP常见响应码:200、301、302、404、500

!4、get和post的区别

!5、forward和redirect的区别

!6、osi七层模型

!7、tcp/ip四层模型及原理

!8、TCP和UDP区别

!9、TCP的三次握手,四次关闭

%10、丢包,粘包,

?11、容量控制,拥塞控制

?12、子网划分

%13、IPV4和IPV6

?14、HTTPS和HTTP/2

数据库:

!1、范式

!2、数据库事务和隔离级别

!3、为什么需要锁,锁定分类,锁粒度

%4、乐观锁悲观锁的概念及实现方式

!5、分页如何实现(Oraclemysql

!6、Mysql引擎

?7、MYSQL语句优化

%8、从一张大表读取数据,如何解决性能问题

!9、内连接左连接右连接作用及区别

!10、StatementPreparedStatement之间的区别

%11、索引以及索引的实现(B+树介绍、和B树、R树区别

?12、什么是数据库连接池

海量数据处理

%1、海量日志数据,如何提取出某日访问淘宝次数最多的IP

%2、上亿数据,统计其中出现次数最多的前N个数据

%3、5亿个int,找出他们的中位数

%4、两个文件,各存放50亿条URL,每个URL占64字节。内存限制是4G,找出两个文件中相同的URL

%5、有40亿个不重复的unsigned int的整数,没排过序,现在给一个数,如何快速判断这个数是否在这40亿个数当中。

?6、提示:分治、Hash映射、堆排序、双层桶划分、Bloom filter、bitmap、数据库索引、mapreduce

C语言基础


构造函数、析构函数

!1、构造函数和析构函数

%2、为什么不要在构造器中调用虚函数

%3、为什么不要在析构函数中抛出异常

c++相关

!1、面向对象的三大基本特征,五大基本原则

%2、C++继承的内存布局

!3、C++多态的实现机制

!4、new/deletr和malloc/free的区别

其他

!1、为什么使用补码

%2、C语言中的内存泄漏

!3、进制转换

% 4、自己编写strlen/strcpy/strcmp

! 5、C、C++以及Java之间的区别和各自优缺点

Java基础


封装、继承、多态

!1、Java中实现多态的机制是什么,动态多态和静态多态的区别

!2、接口和抽象类的区别,如何选择

!3、Java能不能多继承,可不可以多实现

%4、Static Nested Class 和 Inner Class的不同

!5、重载和重写的区别。

!6、是否可以继承String

!7、构造器是否可被override?

!8、public,protected,private的区别?

集合相关

!1、列举几个Java中Collection类库中的常用类

!2、ListSetMap是否都继承自Collection接口?存储特点分别是什么?

!3、ArrayListLinkedListVector之间的区别与联系

!4、HashMapHashtableTreeMap以及ConcurrentHashMap的区别

!5、Collection 和 Collections的区别

%6、其他的集合类:treeset,linkedhashmap等。

异常相关

!1、ErrorException的区别

!2、异常的类型,什么是运行时异常

!3、finalfinallyfinalize的区别

%4、try-catch-finally中,如果在catchreturn了,finally中的代码还会执行么,原理是什么?

!5、列举3个以上的RuntimeException

!6、Java中的异常处理机制的简单原理和应用

其它

!1、StringStringBufferStringBuilder的区别

!2、==equals的区别

%3、hashCode的作用,和equals方法的关系

!4、Input/OutputStreamReader/Writer有什么区别

!5、如何在字符流和字节流之间转换?

!6、switch可以使用那些数据类型

%7、Java的四种引用

!8、序列化与反序列化

!9、正则表达式

!10、intInteger的区别,什么是自动装箱和自动拆箱

Java高级


多线程

!1、进程和线程的区别

!2、并行和并发的区别和联系

!3、同步与异步

!4、多线程的实现方式,有什么区别

!5、什么叫守护线程

%6、如何停止一个线程?

!7、什么是线程安全

!8、synchronized 和 lock的区别

!9、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

!10、启动一个线程是用run()还是start()?

!12、wait和sleep的区别

%13、notify和notifyAll的区别

%14、线程池的作用

%15、Java中线程池相关的类

JVM底层技术

!1、gc的概念,如果A和B对象循环引用,是否可以被GC?

%2、jvm gc如何判断对象是否需要回收,有哪几种方式?

!3、Java中能不能主动触发GC

!4、JVM的内存结构,堆和栈的区别

!5、JVM堆的分代

%6、Java中的内存溢出是什么,和内存泄露有什么关系

!7、Java的类加载机制,什么是双亲委派

!8、ClassLoader的类加载方式

IO

! 1、NIO、AIO和BIO 之间的区别

?2、IONIO常用用法

其它

?1、hashcode 有哪些算法

!2、反射的基本概念,反射是否可以调用私有方法

!3、Java中范型的概念

?4、JVM启动参数,-Xms和 -Xmx

%5、代理机制的实现

!6、String s = new String("s"),创建了几个对象。

Java Web


Servlet

!1、JSPServlet的区别,Servelt的概念。

!2、Servlet的生命周期

!3、Servlet中的session工作原理 ,以及设置过期时间的方式

!4、Servlet中,filter的应用场景有哪些?

?5、JSP的动态include和静态include

%6、web.xml中常用配置及作用

%7、Servlet的线程安全问题

MVC框架

!1、介绍几个常用的MVC框架

!2、什么是MVC

!3、Struts中请求的实现过程

以上是关于你离BAT之间,只差这一套Java面试题,挑战阿里社招的主要内容,如果未能解决你的问题,请参考以下文章

你离BAT之间,只差这一套Java面试题。

你与 BAT,只差这一套 Java 面试题

你与BAT只差这一套面试题

吃透了这一套2020阿里,美团,字节跳动Java 面试真题,你离 BAT还远吗?

面试你与BAT只差这169个JAVA面试题(中)

玩转ECMAScript—你离大牛只差这一步