java微信小程序开发案例,看完直呼内行



二、回顾整理阿里面试题

基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。

java微信小程序开发案例,看完直呼内行_面试

  • 自我介绍
  • JVM如何加载一个类的过程,双亲委派模型中有哪些方法?
  • HashMap如何实现的?
  • HashMap和ConcurrentHashMap区别, Concurrent HashMap 线程安全hashtable吗, ConcurrentHashMap如何保证 线程安全?
  • HashMap和HashTable 区别,HashTable线程安全吗?
  • 进程间通信有哪几种方式
  • JVM分为哪些区,每一个区干吗的?
  • JVM如何GC,新生代,老年代大对象,永久代,都储存哪些东西?
  • GC用的引用可达性分析算法中,哪些对象可作为GC?Roots对象?
  • 快速排序,过程,复杂度 ?
  • 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
  • TCP如何保证可靠传输?三次握手过程
  • TCP 和 UDP 的区别
  • 滑动窗口算法?
  • Linux下你常用的命令有哪些?
  • 操作系统什么情况下会死锁?
  • 常用的hash算法有哪些?
  • 什么是一致性哈希?
  • 如何理解分布式锁?
  • 数据库中的范式有哪些?
  • 数据库中的索引的结构?什么情况下适合建索引?
  • Java中的NIO,BIO,AIO分别是什么?
  • 用什么工具调试程序?JConsole,用过吗?
  • 现在有一个进程挂起了,如何用工具查出原因?
  • 线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?
  • 同步和异步有什么区别?
  • 线程池用过吗?
  • 如何创建单例模式?说了双重检查,他说不是线程安全的。如何高效的创建的一个高效的单例?
  • concurrent包下面,都用过什么?
  • 常用的数据库有哪些?redis用过吗?
  • 了解hadoop吗?说说hadoop的组件有哪些?hdfs,hive,hbase,zookeeper。说下mapreduce编程模型。
  • 你知道的开源协议有哪些?
  • 你知道的开源软件有哪些?
  • 你最近在看的书有哪些?
  • 你有什么问题要问我吗?
啃完这份超全的面试宝典,终获蚂蚁金服offer!

自从进入阿里工作后,我才感觉到了自己从事这份职业所在的意义,我也庆幸自己没有在受挫的时候放弃这个职业。

宝典大概分为这几块:

  • Java基础
  • 数据库
  • Java 虚拟机
  • JSP&Servlet
  • spring&Hibernate
  • 操作系统
  • Linux
  • 计算机网络
  • 算法

Java基础

1、面对对象和面向过程的区别?用面向过程可以实现面向对象吗?那是不是不能面向对象?

2、static和final的区别和用途

3、HashMap和Concurrent HashMap区别,Concurrent HashMap线程安全吗,Concurrent HashMap如何保证线程安全?

4、因为别人知道源码怎实现的,故意构造相同的hash的字符串进行攻击,怎么处理,那jdk7怎么办?

5、Java序列化,如何实现序列化和反序列化,常见的序列化协议有哪些

6、Java实现多线程的方式及三种方式的区别

7、线程安全

8、多线程如何进行信息交互

9、Java是否有内存泄露和内存溢出

java微信小程序开发案例,看完直呼内行_Java_02

数据库

1、常见的数据库类型有哪些?redis用过吗

2、数据库中的范式有哪些?

3、数据库中的索引的结构?什么情况下适合建索引?

4、脏读、不可重复读和幻读

6、MyISA和InnDB引擎的区别

7、数据库ACID

8、事务隔离级别

9、数据库中的分页查询语句怎么写?

java微信小程序开发案例,看完直呼内行_程序员_03

Java虚拟机

1、JVM垃圾处理方法(标记清除、复制、标记整理)

2、JVM如何GC,新生代,老年代,持久代,都储存哪些东西,以及各个区的作用?

3、GC用的引用可达性分析算法中,哪些对象可作为GC Roots对象?

4、什么时候进行MinGC,FulilGc

5、各个垃圾收集器是怎么工作的

6、Java虚拟机内存的划分,每个区域的功能

7、用什么工具可以查出内存泄露

8、JVM如何加载一个类的过程,双亲委派模型中有哪些方法有没有可能父类加载器,加载同一个类?如果加载同一个类,该使用哪一个类?

9、Java是如何进行对象实例化的

java微信小程序开发案例,看完直呼内行_线程安全_04

JSP&Servlet

1、Servlet的生命周期

2、Jsp和Servlet的区别

3、保存会话状态,有哪些方式、区别如何

4、cookie和session的区别

java微信小程序开发案例,看完直呼内行_线程安全_05

spring&Hibernate

1、spring ioc、AOP的理解以及实现的原理

2、IOC容器的加载过程

3、动态代理与cglib实现的区别

4、代理的实现原理

5、Hlbernate一级缓存与二级缓存之间的区别

6、spring mvc的原理

7、简述Hibernate常见优化策略

java微信小程序开发案例,看完直呼内行_数据库_06

操作系统

1、操作系统下生命情况会死锁?

2、如何理解分布式锁

3、进程间通信有哪几种方式?

4、线程同步与阻塞的关系?同步一定要阻塞吗?阻塞一定要同步吗?

5、操作系统如何进行分页调度?

java微信小程序开发案例,看完直呼内行_线程安全_07

Linux

1、linux下如何进行进程调度的?

2、linux下你常用的命令有哪些?

计算机网络

1、Http和https的区别

2、TCP如何保证可靠传输?三次握手过程?

3、为什么TCP连接需要三次握手,两次不可以吗,为什么

4、如果客户端不断的发生请求连接会怎么样?

5、GET和POST的区别?

6、TCP和UDP区别?如何改进TCP

7、从输入网址到获得页面的过程

java微信小程序开发案例,看完直呼内行_面试_08

算法

1、如何判断一个单链表是否有环?

2、快速排序,过程,复杂度?什么情况下适用,什么情况下不适用?

3、什么是二叉平衡树,如何插入节点,删除节点

5、二分搜索的过程

6、归并排序的过程?时间复杂度?空间复杂度?

7、给你一万个数,如何找出里面所有重复的数?用所有你能想到的办法,时间复杂度和空间复杂度分别是多少?

8、给你一个数组,如何里面找到和为k的两个数

9、100000个数找出最小或最大的10个?

java微信小程序开发案例,看完直呼内行_Java_09