Java笔试面试
文章平均质量分 64
北极星小王子
得之坦然,失之淡然,争之必然,顺义自然
展开
-
Java面试-分布式事务
单例模式要点:1、某个类只能有一个实例: 构造器私有化2、自行创建这个实例: 含有一个该类的静态变量来保存这个唯一的实例3、自行向整个系统提供这个实例 向外提供获取该实例对象的方式 (一)直接暴露(二)用静态变量的 g原创 2021-02-15 22:57:17 · 3321 阅读 · 0 评论 -
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 · 7829 阅读 · 1 评论 -
Java面试--僵尸进程和孤儿进程
面试题:僵尸进程和孤儿进程是什么,分别有什么危害(百度面试题)一、概念 孤儿进程: 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 僵尸进程: 一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子...原创 2018-08-20 10:22:17 · 4174 阅读 · 2 评论 -
Java面试--二叉树
面试题:讲一下二叉树的遍历一、二叉树遍历方式 1、前序遍历:按照“根左右”,先遍历根节点,再遍历左子树 ,再遍历右子树 2、中序遍历:按照“左根右“,先遍历左子树,再遍历根节点,最后遍历右子树 3、后续遍历:按照“左右根”,先遍历左子树,再遍历右子树,最后遍历根节点 二、二叉树遍历的java实现 定义节点类:private static class Bi...原创 2018-08-20 09:46:14 · 3190 阅读 · 2 评论 -
Java电商项目面试--用户模块
面试:用户模块技术要点: 1、横向越权和纵向越权 2、MD5明文加密、guava缓存 3、高复用服务响应对象的设计思想和封装一、用户模块功能 用户模块包含功能如下: 1、登录功能 2、用户名校验 3、注册功能 4、忘记密码 5、提交问题答案 6、重置密码 7、获取用户信息 8、更新用户信息 9、退出登录 二、高复用服务响应对象的设计思想和封装 ...原创 2018-08-22 16:00:13 · 9043 阅读 · 4 评论 -
Java面试--队列和栈
面试题:队列和栈区别 (百度面试题) 面试题:使用两个栈实现队列(百度面试题) 面试题:两个栈实现最小值栈(百度面试题)一、区别: 1、栈的插入和删除操作只允许在表的尾端进行(在栈中成为“栈顶”),满足“FIFO:First In Last Out”; 队列只允许在表尾插入数据元素,在表头删除数据元素,满足“First In First Out” 2、遍历数据速度不同...原创 2018-08-19 16:46:06 · 2748 阅读 · 0 评论 -
Java面试--autowired和resource区别
面试题:autowired和resource有什么区别(百度面试题)autowired和resource有什么区别 @Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入; @Resource装配顺序: 1、如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2、如果指定了na...原创 2018-08-19 15:09:40 · 3322 阅读 · 2 评论 -
Java面试--线程创建
面试题:Thread和Runnable区别(三七互娱面试题)多线程基础博客:Java基础系列(二十一)多线程Thread和Runnable区别 在这就是可以避免Java中的单继承的限制,增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。线程池只能放入实现Runnable 类线程,不能直接放入继承Thread的类Java面试的完整博客目录如下:Java笔试面试目...原创 2018-08-22 10:29:26 · 2796 阅读 · 1 评论 -
Java面试--排序算法
面试题:排序算法了解哪些(阿里面试题)一、排序简介 排序算法大体可分为两种: 1、比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 2、非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。 二、冒泡排序法 算法思路: 1、比较相邻的元素。如果第一个比第二个大,就交换它们...原创 2018-08-16 10:19:21 · 20349 阅读 · 11 评论 -
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 · 2974 阅读 · 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 · 6257 阅读 · 0 评论 -
Java面试--MVCC
面试题:MVCC的设计目的是什么,怎么使用版本号判断数据的可见性。(腾讯面试题)一、MVCC简介 MVCC是一种多版本并发控制机制。锁机制可以控制并发操作,但是其系统开销较大,而MVCC可以在大多数情况下代替行级锁,使用MVCC,能降低其系统开销。 二、MVCC实现原理 InnoDB MVCC RR隔离级别下的数据可见性总结Java面试的完整博客目录如下:Java笔试面试...原创 2018-08-13 17:45:49 · 6256 阅读 · 0 评论 -
Java面试--数据库优化
面试题:数据库用过哪些,数据库优化(顺丰面试题)1、根据服务层面:配置mysql性能优化参数; 2、从系统层面增强mysql的性能:优化数据表结构、字段类型、字段索引、分表,分库、读写分离等等。 3、从数据库层面增强性能:优化SQL语句,合理使用字段索引。 4、从代码层面增强性能:使用缓存和NoSQL数据库方式存储,如MongoDB/Memcached/Redis来缓解高并发下数...原创 2018-08-08 19:16:18 · 6710 阅读 · 2 评论 -
Java面试--redo和undo日志
面试题:redo和undo日志,分别有什么用(百度面试题)redo和undo日志 Undo日志记录某数据被修改前的值,可以用来在事务失败时进行rollback; Redo日志记录某数据块被修改后的值,可以用来恢复未写入data file的已成功事务更新的数据。Java面试的完整博客目录如下:Java笔试面试目录 转载请标明出处,原文地址:https://blog...原创 2018-08-13 15:09:49 · 2603 阅读 · 0 评论 -
Java电商项目面试--分类模块
面试:分类模块要点 1、递归算法 2、复杂对象排重 3、无限层级树结构设计一、添加分类原创 2018-08-23 10:16:47 · 3099 阅读 · 0 评论 -
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 · 3098 阅读 · 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 · 2668 阅读 · 5 评论 -
Java电商项目面试--订单模块
面试:订单模块技术要点 技术要点: 1、安全漏洞解决方案 2、订单号生成规则 3、强大的常量、枚举设计一、前台创建订单 Controller层://创建订单@RequestMapping("create.do")@ResponseBodypublic ServerResponse create(HttpSession session, Integer...原创 2018-08-24 15:28:06 · 18404 阅读 · 7 评论 -
Java电商项目面试--缓存(Guava Cache)
面试题:手写LRU(今日头条面试题) 面试题:手撕LFU,要求get和put都为O(1)一、Guava Cache适用场景 1、你愿意消耗一部分内存来提升速度; 2、你已经预料某些值会被多次调用; 3、缓存数据不会超过内存总量; Guava Cache是一个全内存的本地缓存实现,它提供了线程安全的实现机制。整体上来说Guava cache 是本地缓存的不二之选,简单易用,...原创 2018-08-21 15:29:24 · 4817 阅读 · 0 评论 -
Java面试--Redirect和Forword
面试题:Redirect和Forword区别(腾讯面试题)相当于问请求和转发的区别: 我的这篇博客写到了:JavaWeb基础系列(三)Request 注意:转发与重定向的区别? 1、重定向两次请求,转发一次请求 2、重定向地址栏的地址变化,转发地址不变 3、重新定向可以访问外部网站 转发只能访问内部资源 5、转发的性能要优于重定向 注意:客户端地址与服务器端地...原创 2018-08-21 14:15:44 · 2210 阅读 · 0 评论 -
Java电商项目面试--收货地址模块
收货地址模块技术要点: 1、同步获取自增主键 2、数据绑定的对象绑定 3、越权问题升级巩固一、新增收货地址 Controller层://新建收货地址@RequestMapping("add.do")@ResponseBodypublic ServerResponse add(HttpSession session,Shipping shipping){ ...原创 2018-08-24 11:25:56 · 5621 阅读 · 3 评论 -
Java面试--Spring中的Bean的作用域和生命周期
面试题:Bean的生命周期(腾讯面试题) 面试题:Bean的范围,gobal session的作用(腾讯面试题)这篇博客写的很好:Spring中bean的作用域与生命周期Java面试的完整博客目录如下:Java笔试面试目录 转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下...原创 2018-08-21 13:59:55 · 8207 阅读 · 0 评论 -
Java面试--SpringIOC
面试题:Spring的IOC优点,解决了什么问题(腾讯面试题)一、控制反转IOC IoC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦: 即把各个对象类封装之后,通过IoC容器来关联这些对象类。这样对象与对象之间就通过IoC容器进行联系,但对象与对象之间并没有什么直接联系。 为什么要把这种方式叫做控制反转呢? 软件系统在没有引入IoC容器之前,...原创 2018-08-21 13:46:55 · 7708 阅读 · 0 评论 -
Java面试--多线程买票
面试题:手写多线程买票代码(腾讯面试题)我的这篇博客总结了:Java基础系列(二十二)线程安全、线程同步、等待唤醒机制Java面试的完整博客目录如下:Java笔试面试目录 转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写作最大的动力,谢谢。 ...原创 2018-08-21 11:32:24 · 2870 阅读 · 0 评论 -
Java电商项目面试--购物车模块
购物车模块技术要点: 1、商品总价计算复用封装 2、高复用的逻辑方法封装思想 3、解决商业运算丢失精度的坑一、购物车模块功能 1、购物车添加商品 2、更新商品数量 3、查询商品数量 4、移除购物车中商品 5、单选/全选 二、购物车添加商品 Controller层://购物车添加商品@RequestMapping("add.do")@Respons...原创 2018-08-24 10:07:47 · 20034 阅读 · 2 评论 -
Java面试--策略模式
面试题:策略模式的使用场景(阿里面试题)一、策略模式改你那 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。 二、策略模式的使用场景 1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为 2、一个系统需要动态地在几种算法中选择一种。 三、策略...原创 2018-08-21 11:03:19 · 2609 阅读 · 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面试--JVM类加载
面试题:JVM类加载机制(阿里面试题) 面试题:类加载器的双亲委派模型的作用,能重复加载某个类吗(阿里面试题)一、JVM 类加载机制详解 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化: 加载 加载过程主要完成三件事情: 1、通过类的全限定名来获取定义此类的二进制字节流 2、将这个类字节流代表的静态存储结构转为方法区的运行时数据结构 在堆中生成一个代...原创 2018-08-21 10:26:18 · 3496 阅读 · 0 评论 -
Java电商项目面试--商品模块
面试:商品模块技术要点 1、POJO、BO、VO抽象模型 2、高效分页及动态排序 3、FTP服务对接、富文本上传一、商品模块功能 前台功能: 1、产品搜索 2、动态排序列表 3、商品详情 后台功能: 1、商品列表 2、商品搜索 3、图片上传 4、增加商品、更新商品、商品上下架 二、后台新增和更新商品 Controller:@Controlle...原创 2018-08-24 08:58:42 · 18243 阅读 · 0 评论 -
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面试--ClassNotFoundException
面试题:ClassNotFoundException 知道吗?遇到场景是什么?怎么解决的?(腾讯面试题) ClassNotFoundException 意思就是找不到指定的class。 遇到的场景: 1、调用class的forName方法时,找不到指定的类 2、ClassLoader 中的 findSystemClass() 方法时,找不到指定的类 3、ClassLoa...原创 2018-08-13 14:45:38 · 2266 阅读 · 0 评论 -
Java面试--HashCode
面试题:hashCode知道是干什么的吗?如果要你重写,需要注意哪些点?(腾讯面试题)一、hashCode简介 public int hashCode():hashCode是根类Obeject中的方法。默认情况下,Object中的hashCode() 返回对象的32位jvm内存地址。也就是说如果对象不重写该方法,则返回相应对象的32为JVM内存地址。 二、hashCode注意点 ...原创 2018-08-13 14:27:35 · 4351 阅读 · 2 评论 -
Java面试--进程间的通信方式
面试题:进程间的通信方式(VIVO、阿里巴巴面试题)一、进程通信的目的1、数据传输 一个进程需要将它的数据发送给另一个进程。 2、资源共享 多个进程之间共享同样的资源。 3、通知事件 一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件 4、进程控制 有些进程希望完全控制另一个进程的执行(如 Debug 进程...原创 2018-08-06 07:50:59 · 7934 阅读 · 0 评论 -
Java面试--反射
面试题:java反射获取私有属性,改变值、反射的用途(阿里面试题)一、反射的概念原创 2018-08-09 21:14:29 · 6684 阅读 · 0 评论 -
Java面试--Java内存模型
你了解Java内存模型吗?(顺丰面试题)一、Java程序的执行过程: Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Ar...转载 2018-08-05 21:30:34 · 17568 阅读 · 13 评论 -
Java面试--垃圾回收机制(GC)
面试题:垃圾回收机制(阿里、三七互娱、商汤、大疆面试题) 面试题:jvm查看gc命令(蘑菇街面试题) 面试题:如果频繁老年代回收怎么分析解决(蚂蚁金服面试题) 面试题:gc的Gengerational collector(携程面试题)一、要回收哪些区域 在JVM内存模型中,有三个是不需要进行垃圾回收的:程序计数器、JVM栈、本地方法栈。因为它们的生命周期是和线程同步...原创 2018-08-09 16:53:50 · 18167 阅读 · 5 评论 -
Java面试--TCP和UDP
1、顺丰面试题:TCP,四次挥手如果改为三次怎么样? 2、大疆面试题:TCP与UDP区别? 3、阿里面试题:TCP和UDP的区别是什么,如果想发送即时消息应该用哪种协议? 4、阿里面试题:TCP的连接建立和断开的过程,如何保证TCP发送的信息是正确的,且保证其先后顺序不被篡改?1、TCP和UDP的区别 (1)TCP面向连接;UDP面向无连接 (2)TCP保证数据正...原创 2018-08-05 08:43:44 · 6771 阅读 · 3 评论 -
Java笔试面试目录
Java面试–线程的生命周期状态 Java面试–线程和进程的区别 Java面试–单例模式 Java面试–观察者模式Java电商项目面试–横向越权和纵向越权 Java电商项目面试–文件服务器 Java电商项目面试–Nginx篇...原创 2018-08-04 17:51:03 · 51418 阅读 · 9 评论 -
Java面试--Spring AOP
(大疆、百度面试题)Spring AOP介绍一下: AOP面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护。原创 2018-08-04 14:59:51 · 5173 阅读 · 0 评论 -
Java电商项目面试--横向越权和纵向越权
面试题:什么是横向越权和纵向越权、如何解决?1、什么是横向越权和纵向越权: 横向越权:攻击者尝试访问与他拥有相同权限的用户的资源 纵向越权:低级别攻击者尝试访问高级别用户的资源 2、如何解决: 横向越权场景: 对于横向越权,横向越权可能出现的场景有:在用户忘记密码重置密码时,回答对了问题进入密码重置阶段时,如果知道其他用户的用户名,很容易改变此用户的密码,然后就可以进行越权...原创 2018-08-04 13:38:48 · 2662 阅读 · 0 评论