Java笔试面试
文章平均质量分 64
Java笔试面试
北极星小王子
这个作者很懒,什么都没留下…
展开
-
Java笔试面试目录
Java面试–线程的生命周期状态 Java面试–线程和进程的区别 Java面试–单例模式 Java面试–观察者模式Java电商项目面试–横向越权和纵向越权 Java电商项目面试–文件服务器 Java电商项目面试–Nginx篇...原创 2018-08-04 17:51:03 · 51413 阅读 · 9 评论 -
Java面试--僵尸进程和孤儿进程
面试题:僵尸进程和孤儿进程是什么,分别有什么危害(百度面试题)一、概念 孤儿进程: 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 僵尸进程: 一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子...原创 2018-08-20 10:22:17 · 4170 阅读 · 2 评论 -
Java面试--String和byte[]之间的转化(MD5加密)
面试题:Java如何把byte类型转换成字符串 一、常规的String转byte[] 代码分析:public static byte[] strToByteArray(String str) { if (str == null) { return null; } byte[] byteArray = str.getBytes(); ...原创 2018-08-20 11:27:54 · 7827 阅读 · 1 评论 -
Java面试--String
面试题:Java的String类型为什么是不可变的(百度面试题)一、String基础部分 Java基础系列(十二)Object、String、StringBuffer 二、Java的String类型为什么是不可变的 String类中的成员变量:private final char value[];private final int offset;private fin...原创 2018-08-20 14:56:39 · 3096 阅读 · 2 评论 -
Java电商项目面试--浮点型商业运算中丢失精度问题
面试题:如何解决浮点型商业运算中丢失精度问题 面试题:Java中一般用什么类型表示价格(百度面试题)一、问题描述 代码:public class BigDecimalTest{ @test public void test1(){ System.out.println(0.05+0.01); System.out.printl...原创 2018-08-20 16:08:19 · 2666 阅读 · 5 评论 -
Java电商项目面试--Token
面试题:介绍一些项目中的Token一、项目中的Token 主要用做身份验证。 1、点击忘记密码之后,检验用户名是否存在 2、存在则根据用户名查询问题 3、回答答案正确的话生产Token,并将其放到guava cache本地缓存中 4、将Token返回给客户端public ServerResponse<String> checkAnswer(String use...原创 2018-08-20 19:32:28 · 3419 阅读 · 0 评论 -
Java面试--JVM类加载
面试题:JVM类加载机制(阿里面试题) 面试题:类加载器的双亲委派模型的作用,能重复加载某个类吗(阿里面试题)一、JVM 类加载机制详解 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化: 加载 加载过程主要完成三件事情: 1、通过类的全限定名来获取定义此类的二进制字节流 2、将这个类字节流代表的静态存储结构转为方法区的运行时数据结构 在堆中生成一个代...原创 2018-08-21 10:26:18 · 3494 阅读 · 0 评论 -
Java面试--Session和Cookie
面试题:session和cookie的区别,session如何管理(阿里面试题)我的这篇博客详细的写了:JavaWeb基础系列(四)Session和CookieJava面试的完整博客目录如下:Java笔试面试目录 转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写...原创 2018-08-21 10:34:36 · 3402 阅读 · 0 评论 -
Java面试--策略模式
面试题:策略模式的使用场景(阿里面试题)一、策略模式改你那 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。 二、策略模式的使用场景 1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为 2、一个系统需要动态地在几种算法中选择一种。 三、策略...原创 2018-08-21 11:03:19 · 2606 阅读 · 0 评论 -
Java面试--多线程买票
面试题:手写多线程买票代码(腾讯面试题)我的这篇博客总结了:Java基础系列(二十二)线程安全、线程同步、等待唤醒机制Java面试的完整博客目录如下:Java笔试面试目录 转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写作最大的动力,谢谢。 ...原创 2018-08-21 11:32:24 · 2868 阅读 · 0 评论 -
Java面试--二叉树
面试题:讲一下二叉树的遍历一、二叉树遍历方式 1、前序遍历:按照“根左右”,先遍历根节点,再遍历左子树 ,再遍历右子树 2、中序遍历:按照“左根右“,先遍历左子树,再遍历根节点,最后遍历右子树 3、后续遍历:按照“左右根”,先遍历左子树,再遍历右子树,最后遍历根节点 二、二叉树遍历的java实现 定义节点类:private static class Bi...原创 2018-08-20 09:46:14 · 3188 阅读 · 2 评论 -
Java面试--Spring中的Bean的作用域和生命周期
面试题:Bean的生命周期(腾讯面试题) 面试题:Bean的范围,gobal session的作用(腾讯面试题)这篇博客写的很好:Spring中bean的作用域与生命周期Java面试的完整博客目录如下:Java笔试面试目录 转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下...原创 2018-08-21 13:59:55 · 8205 阅读 · 0 评论 -
Java面试--Redirect和Forword
面试题:Redirect和Forword区别(腾讯面试题)相当于问请求和转发的区别: 我的这篇博客写到了:JavaWeb基础系列(三)Request 注意:转发与重定向的区别? 1、重定向两次请求,转发一次请求 2、重定向地址栏的地址变化,转发地址不变 3、重新定向可以访问外部网站 转发只能访问内部资源 5、转发的性能要优于重定向 注意:客户端地址与服务器端地...原创 2018-08-21 14:15:44 · 2208 阅读 · 0 评论 -
Java电商项目面试--缓存(Guava Cache)
面试题:手写LRU(今日头条面试题) 面试题:手撕LFU,要求get和put都为O(1)一、Guava Cache适用场景 1、你愿意消耗一部分内存来提升速度; 2、你已经预料某些值会被多次调用; 3、缓存数据不会超过内存总量; Guava Cache是一个全内存的本地缓存实现,它提供了线程安全的实现机制。整体上来说Guava cache 是本地缓存的不二之选,简单易用,...原创 2018-08-21 15:29:24 · 4815 阅读 · 0 评论 -
Java面试--线程创建
面试题:Thread和Runnable区别(三七互娱面试题)多线程基础博客:Java基础系列(二十一)多线程Thread和Runnable区别 在这就是可以避免Java中的单继承的限制,增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。线程池只能放入实现Runnable 类线程,不能直接放入继承Thread的类Java面试的完整博客目录如下:Java笔试面试目...原创 2018-08-22 10:29:26 · 2794 阅读 · 1 评论 -
Java电商项目面试--用户模块
面试:用户模块技术要点: 1、横向越权和纵向越权 2、MD5明文加密、guava缓存 3、高复用服务响应对象的设计思想和封装一、用户模块功能 用户模块包含功能如下: 1、登录功能 2、用户名校验 3、注册功能 4、忘记密码 5、提交问题答案 6、重置密码 7、获取用户信息 8、更新用户信息 9、退出登录 二、高复用服务响应对象的设计思想和封装 ...原创 2018-08-22 16:00:13 · 9040 阅读 · 4 评论 -
Java电商项目面试--分类模块
面试:分类模块要点 1、递归算法 2、复杂对象排重 3、无限层级树结构设计一、添加分类原创 2018-08-23 10:16:47 · 3097 阅读 · 0 评论 -
Java电商项目面试--商品模块
面试:商品模块技术要点 1、POJO、BO、VO抽象模型 2、高效分页及动态排序 3、FTP服务对接、富文本上传一、商品模块功能 前台功能: 1、产品搜索 2、动态排序列表 3、商品详情 后台功能: 1、商品列表 2、商品搜索 3、图片上传 4、增加商品、更新商品、商品上下架 二、后台新增和更新商品 Controller:@Controlle...原创 2018-08-24 08:58:42 · 18239 阅读 · 0 评论 -
Java电商项目面试--购物车模块
购物车模块技术要点: 1、商品总价计算复用封装 2、高复用的逻辑方法封装思想 3、解决商业运算丢失精度的坑一、购物车模块功能 1、购物车添加商品 2、更新商品数量 3、查询商品数量 4、移除购物车中商品 5、单选/全选 二、购物车添加商品 Controller层://购物车添加商品@RequestMapping("add.do")@Respons...原创 2018-08-24 10:07:47 · 20031 阅读 · 2 评论 -
Java电商项目面试--收货地址模块
收货地址模块技术要点: 1、同步获取自增主键 2、数据绑定的对象绑定 3、越权问题升级巩固一、新增收货地址 Controller层://新建收货地址@RequestMapping("add.do")@ResponseBodypublic ServerResponse add(HttpSession session,Shipping shipping){ ...原创 2018-08-24 11:25:56 · 5618 阅读 · 3 评论 -
Java面试--SpringIOC
面试题:Spring的IOC优点,解决了什么问题(腾讯面试题)一、控制反转IOC IoC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦: 即把各个对象类封装之后,通过IoC容器来关联这些对象类。这样对象与对象之间就通过IoC容器进行联系,但对象与对象之间并没有什么直接联系。 为什么要把这种方式叫做控制反转呢? 软件系统在没有引入IoC容器之前,...原创 2018-08-21 13:46:55 · 7706 阅读 · 0 评论 -
Java电商项目面试--订单模块
面试:订单模块技术要点 技术要点: 1、安全漏洞解决方案 2、订单号生成规则 3、强大的常量、枚举设计一、前台创建订单 Controller层://创建订单@RequestMapping("create.do")@ResponseBodypublic ServerResponse create(HttpSession session, Integer...原创 2018-08-24 15:28:06 · 18396 阅读 · 7 评论 -
Java面试--HashCode
面试题:hashCode知道是干什么的吗?如果要你重写,需要注意哪些点?(腾讯面试题)一、hashCode简介 public int hashCode():hashCode是根类Obeject中的方法。默认情况下,Object中的hashCode() 返回对象的32位jvm内存地址。也就是说如果对象不重写该方法,则返回相应对象的32为JVM内存地址。 二、hashCode注意点 ...原创 2018-08-13 14:27:35 · 4349 阅读 · 2 评论 -
Java面试--ClassNotFoundException
面试题:ClassNotFoundException 知道吗?遇到场景是什么?怎么解决的?(腾讯面试题) ClassNotFoundException 意思就是找不到指定的class。 遇到的场景: 1、调用class的forName方法时,找不到指定的类 2、ClassLoader 中的 findSystemClass() 方法时,找不到指定的类 3、ClassLoa...原创 2018-08-13 14:45:38 · 2264 阅读 · 0 评论 -
Java面试--redo和undo日志
面试题:redo和undo日志,分别有什么用(百度面试题)redo和undo日志 Undo日志记录某数据被修改前的值,可以用来在事务失败时进行rollback; Redo日志记录某数据块被修改后的值,可以用来恢复未写入data file的已成功事务更新的数据。Java面试的完整博客目录如下:Java笔试面试目录 转载请标明出处,原文地址:https://blog...原创 2018-08-13 15:09:49 · 2601 阅读 · 0 评论 -
Java面试--MVCC
面试题:MVCC的设计目的是什么,怎么使用版本号判断数据的可见性。(腾讯面试题)一、MVCC简介 MVCC是一种多版本并发控制机制。锁机制可以控制并发操作,但是其系统开销较大,而MVCC可以在大多数情况下代替行级锁,使用MVCC,能降低其系统开销。 二、MVCC实现原理 InnoDB MVCC RR隔离级别下的数据可见性总结Java面试的完整博客目录如下:Java笔试面试...原创 2018-08-13 17:45:49 · 6253 阅读 · 0 评论 -
Java面试--Linux
面试题:Linux查看cpu占用率高的进程(阿里面试题) 面试题:查看占用某端口的进程(阿里面试题) 面试题:查看某进程监听的端口(阿里面试题)一、可以使用以下命令查使用内存最多的K个进程 方法一:ps -aux | sort -k4nr | head -K方法二:使用top命令top如果是10个进程,K=10,如果是最高的三个,K=3 说明:ps -a...原创 2018-08-13 20:50:07 · 6255 阅读 · 0 评论 -
Java面试--Mysql的union和join
面试题:MySQL的union all和union有什么区别、MySQL有哪几种join方式(阿里面试题)一、MySQL的union all和union有什么区别 效率: UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。 ...原创 2018-08-13 21:20:58 · 2972 阅读 · 0 评论 -
Java面试--排序算法
面试题:排序算法了解哪些(阿里面试题)一、排序简介 排序算法大体可分为两种: 1、比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 2、非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。 二、冒泡排序法 算法思路: 1、比较相邻的元素。如果第一个比第二个大,就交换它们...原创 2018-08-16 10:19:21 · 20347 阅读 · 11 评论 -
Java面试--autowired和resource区别
面试题:autowired和resource有什么区别(百度面试题)autowired和resource有什么区别 @Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入; @Resource装配顺序: 1、如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2、如果指定了na...原创 2018-08-19 15:09:40 · 3320 阅读 · 2 评论 -
Java面试--队列和栈
面试题:队列和栈区别 (百度面试题) 面试题:使用两个栈实现队列(百度面试题) 面试题:两个栈实现最小值栈(百度面试题)一、区别: 1、栈的插入和删除操作只允许在表的尾端进行(在栈中成为“栈顶”),满足“FIFO:First In Last Out”; 队列只允许在表尾插入数据元素,在表头删除数据元素,满足“First In First Out” 2、遍历数据速度不同...原创 2018-08-19 16:46:06 · 2746 阅读 · 0 评论 -
Java面试--慢查询
面试题:如何判断SQL查询操作是不是慢sql、如何优化(阿里面试题)一、第一步.开启mysql慢查询 方式一:修改配置文件 在 my.ini 增加几行:[mysqlld]//定义查过多少秒的查询算是慢查询,我这里定义的是2秒long_query_time=2#5.0、5.1等版本配置如下选项log-slow-queries="mysql_slow_query.log"...原创 2018-08-12 20:09:00 · 2440 阅读 · 0 评论 -
Java面试--死锁
面试题:死锁是什么,处理死锁的方法有哪些(阿里面试题) 关于死锁部分,可以参考本人博客:Java并发编程(一)并发编程的挑战Java面试的完整博客目录如下: Java笔试面试目录 转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写作最大的动力,谢谢。 ...原创 2018-08-13 10:28:03 · 3817 阅读 · 0 评论 -
Java面试--OOM
面试题:OOM内存泄露,出现原因,解决方法(顺丰面试题) 面试题:Java会有内存泄漏吗,三个区分别什么情况下会产生内存泄漏 (百度面试题)一、什么是OOM OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个error 二、为什么会OOM、出现的原因是什么 为...原创 2018-08-10 11:03:01 · 4209 阅读 · 0 评论 -
Java面试--索引
面试题:数据库索引有哪些?底层怎么实现的?数据库怎么优化?(顺丰、招银面试题) 面试题:解释下数据库索引(大疆面试题) 面试题:索引采用b+树和HashMap的区别,使用场景,数据库为什么用b+树做索引,而不用HashMap(京东面试题) 面试题:了解数据库吗?数据库的索引优化(网易、58同城面试题)一、什么是索引 索引是帮助数据库高效获取数据的数据结构。索引的实现...原创 2018-08-11 14:22:15 · 14127 阅读 · 1 评论 -
Java面试--网络的体系结构
面试题:网络的体系结构分为哪五层,每层分别有哪些协议(阿里面试题)原创 2018-08-11 20:39:33 · 3029 阅读 · 5 评论 -
Java面试--HTTP和HTTPS协议
面试题:对HTTP协议了解多少,HTTP和HTTPS有什么区别,HTTPS的安全性是怎么实现的(阿里面试题)一、HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送...原创 2018-08-11 21:09:41 · 8839 阅读 · 0 评论 -
Java面试--接口
面试题:Java接口介绍一下(大疆面试题)传送门-我的基础篇的博客:Java基础系列(九)接口、多态 转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写作最大的动力,谢谢。 ...原创 2018-08-12 09:54:01 · 9067 阅读 · 0 评论 -
Java面试--线程同步方法
面试题:线程同步有几种方法(百度面试题) 面试题:线程安全解释一下(大疆面试题)为什么要线程同步? 当使用多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。 举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,会出现什么结果...原创 2018-08-12 11:37:17 · 4465 阅读 · 1 评论 -
Java面试--Synchronized和Lock区别
面试题:Synchronized和Lock区别(大疆面试题、网易笔试题)一、Synchronized和Lock区别 二、Lock源码public interface Lock { //获取锁,如果锁被暂用则一直等待 void lock(); //用该锁的获得方式,如果线程在获取锁的阶段进入了等待,那么可以中断此线程,先去做别的事 void ...原创 2018-08-12 19:14:25 · 7041 阅读 · 2 评论