java面试题
熊仙森
Walk slowly, it can always be far away
展开
-
面试题:青蛙跳一跳,斐波那切数列
面试题:一直青蛙一次可以跳上 1 级台阶,也可以跳上 2 级,求该青蛙跳上 n 级的台阶总共有多少种跳法。 一看这道题,好像没啥思路,感觉和我们的数据结构和常用的算法好像一点都不沾边。 但这看起来就像一道数学题,而且似乎就是高考数学的倒数第一题,所以我们就用数学来做吧。数学中有个方法叫「数学归纳法」,我们这里就可以巧妙用到。当 n = 1 时,青蛙有 1 种跳法;当 n =...转载 2018-07-16 18:08:07 · 2216 阅读 · 2 评论 -
Java 异常 题目总结
问:java 异常有哪几种,特点是什么?答:异常是发生在程序执行过程中阻碍程序正常执行的错误操作,只要在 Java 语句执行中产生异常则一个异常对象就会被创建。Throwable 是所有异常的父类,它有两个直接子类 Error 和 Exception,其中 Exception 又被继续划分为被检查的异常(checked exception)和运行时的异常(runtime exception,即不...原创 2018-11-22 22:51:53 · 807 阅读 · 0 评论 -
随笔——找工作,对投简历和面试的建议
以下内容一部分来源于找工作的学长,一部分来自于网络。 均为非代码层次的一些建议,因为网络上有很多的面经,我没有啥面试经验,纯转载没啥意思。可以百度参考,有很多。这篇文章是从非专业课的角度提的一些建议。与面试的专业点相比同样重要。 简历首选内推方式,速度快,效率高啊!这个的话可以多加一些群,因为内推成功有奖励,所以很多入了职的人会选择推荐别人用自己的内推码。或者是找一些同学学长内推,总...原创 2018-10-08 18:30:42 · 349 阅读 · 6 评论 -
手撕代码:从递归到辅助空间的创新,助广大学子喜提offer
文章目录前情概要:题目描述:题目分析及代码实现前情概要:这是一个面试阶段的手撕代码问题。可能是出题没有太深究,面试官的标准答案是递归,某位优秀的师兄拍拍脑瓜想出了辅助空间的做法,大大降低了时间和空间复杂度。赢得了众多面试官的一致好评,差点当场签约。题目描述:现有N个球,分别按照顺序标号:1~N;现在要求去除部分球,要求如下:去除所有标号为(1、22、32、42、52…)完全平方数的球体...原创 2018-09-21 17:29:58 · 236 阅读 · 0 评论 -
求整数A二进制的最低位数
题目描述解决方案及分析题目描述 给出一个整数A,输出它的最低位数 比如:A= 26,它的二进制形式为:11010,最低位为10,所以应该输出2, 再比如 A=92,它的二进制为:01011100,最低位为:100,所以应输出4.输入描述 每行输入一个数字A(0 < A < 100),如果输入0,表示输入结束,并且最后输入的0不需要计...原创 2018-09-15 19:34:37 · 3300 阅读 · 0 评论 -
剑指 offer 题目分析及答案
1. 前言2. 实现 Singleton3. 数组中重复的数字4. 二维数组中的查找5. 替换空格6. 从尾到头打印链表7. 重建二叉树8. 二叉树的下一个结点9. 用两个栈实现队列10.1 斐波那契数列10.2 跳台阶10.3 矩形覆盖10.4 变态跳台阶11. 旋转数组的最小数字12. 矩阵中的路径13. 机器人的运动范围14. 剪绳子15. 二进制中 ...转载 2018-09-03 17:20:21 · 4444 阅读 · 1 评论 -
SQL 语法
基础创建表插入更新删除修改表查询排序过滤通配符计算字段函数文本处理日期和时间处理数值处理汇总分组子查询连接内连接自连接自然连接外连接组合查询视图存储过程游标触发器事务处理字符集权限管理基础模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。主键的值不允许修改,也不允许...转载 2018-09-01 19:09:41 · 180 阅读 · 0 评论 -
MySQL 面试问题总结
存储引擎1. InnoDB2. MyISAM3. InnoDB 与 MyISAM 的比较数据类型1. 整型2. 浮点数3. 字符串4. 时间和日期索引1. 索引分类1.1 B-Tree 索引1.2 哈希索引1.3. 空间索引(R-Tree)1.4 全文索引2. 索引的优点3. 索引优化3.1 独立的列3.2 前缀索引3.3 多列索引3.4...转载 2018-09-01 19:05:37 · 3936 阅读 · 0 评论 -
ClassLoader 必知重点题目解析
问:简单说说你对 ClassLoader 的理解?答:ClassLoader 的作用是根据一个指定的类名称找到或者生成其对应的字节代码,然后把字节码转换成一个 Java 类(即 java.lang.Class 实例),除此之外还负责加载 Java 应用所需的资源、Native lib 库等。Java 的类加载器大致可以分成系统类加载器和应用开发自定义类加载器。系统类加载器主要有如下几个:...转载 2018-07-28 09:53:49 · 326 阅读 · 0 评论 -
用Java 玩转插入排序
插入排序插入排序的思想:插入排序的时间复杂度和空间复杂度分析插入排序总结:插入排序 对于插入排序,大部分资料都是使用扑克牌整理作为例子来引入的,我们打牌都是一张一张摸牌的,每摸到一张牌就会跟手里所有的牌比较来选择合适的位置插入这张牌,这也就是直接插入排序的中心思想,我们先来看下动图: 相信大家看完动图以后大概知道了插入排序的实现思路了。那么我们就来...转载 2018-07-19 16:56:58 · 271 阅读 · 0 评论 -
线程池的细致剖析及简单的面试问题
线程池是啥?面试问题解析1.首先什么是线程池?线程池:在我的理解来看,就是一个保存了一定数量线程的空间,系统提前申请好空间和资源,在线程池销毁之前一直等待着被调用。 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在java的并发开发中,如果说并发的线程数量很多,并且每一个线程都是执行很短的任务就结束的话,这样频繁的创建和销毁线程就会大大...原创 2018-07-12 20:45:26 · 7983 阅读 · 14 评论 -
用Java玩转选择排序
选择排序算法原理代码实现选择排序总结:选择排序选择排序(Selection sort)是一种简单直观的排序算法。选择排序之所以叫选择排序就是在一次遍历过程中找到最小元素的角标位置,然后把它放到数组的首端。我们排序过程都是在寻找剩余数组中的最小元素,所以就叫做选择排序。算法原理从待排序序列中,找到关键字最小的元素;起始假定第一个元素为最小;如果最小...转载 2018-07-18 21:59:29 · 360 阅读 · 0 评论 -
用 Java 玩转冒泡排序
冒泡排序 冒泡排序恐怕是我们计算机专业课程上以第一个接触到的排序算法,也算是一种入门级的排序算法。他同样是三大排序算法之一,想要学习其他的排序算法,这个都是基础。它的基本思想是:两两比较相邻记录的关键字,如何反序则交换,直到没有反序的记录为止。冒泡排序算法原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这...转载 2018-07-18 21:28:25 · 335 阅读 · 0 评论 -
逆天!对无序数组使用二分查找
面试题:打印出旋转数组的最小数字方法一:进阶,方法二:进阶,方法三:总结 所谓的无序数组并不是乱序,我们会遇见很多情况是旋转数组,比如一个递增数组最开始的几个元素挪到数组的最后位置。也可以理解成是两个有序数组的组合。面试题:打印出旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一...原创 2018-07-17 22:58:46 · 7428 阅读 · 6 评论 -
JAVA重写和重载的区别
问: Java 重载与重写是什么?有什么区别?答: 重载(Overload)是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参数个数或者类型的同名函数(返回值类型可随意,不能以返回类型作为重载函数的区分标准)同时存在于同一个类中,是一个类中多态性的一种表现(调用方法时通过传递不同参数个数和参数类型来决定具体使用哪个方法的多态性)。 图1. Android...原创 2018-07-11 22:04:05 · 150966 阅读 · 39 评论 -
计算机网络知识点解析(面试常问)
DNS使用协议Cookies和session区别TCP粘包和拆包产生的原因TCP粘包和拆包的解决策略三次握手四次挥手为什么需要 TIME_WAIT 状态?为什么 TIME_WAIT 状态需要保持 2MSL 这么长的时间?TIME_WAIT 和CLOSE_WAIT状态socket过多一次完整的HTTP请求过程GET 和 POST 的区别URI和URL的区别HTTPS和...原创 2018-07-16 22:14:37 · 2608 阅读 · 0 评论 -
面试缓存三大问题及解决方案
文章目录1 缓存来由2 缓存三大问题2.1 缓存穿透2.1.1 问题描述2.1.2 解决方案2.2 缓存雪崩2.2.1 问题描述2.2.2 解决方案2.3 缓存击穿2.3.1 问题描述2.3.2 解决方案转自公众号《java编程精选》1 缓存来由随着互联网系统发展的逐步完善,提高系统的qps(每秒查询率),目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈...转载 2019-01-10 22:41:05 · 845 阅读 · 0 评论