Java面试题
米兰的小铁匠z
成长随笔,记录学习的点滴。
展开
-
JavaWeb常见解决表单重复提交思路
问题描述:用户下订单购买,因为各种原因(网络卡,快递点击等)重复提交2个或者以上一模一样的订单,由于是同时提交的,第一个订单执行扣款生成订单未完成时候,第二个已经进来了,导致付一笔钱购买了2次或多次商品常见的解决思路前端通过控制JS来控制重复提交按钮,第一次可以提交,提交后直接变成灰色,这样看起来就解决了问题,但是并不能从根本上解决问题(刷新页面可能就会失效)!借助中间件Redis key value 的 incry原子性性质,第一次提交的时候incry会将变量值 + 1 ,第二次提交的.原创 2021-06-01 11:39:53 · 357 阅读 · 1 评论 -
5个非技术的面试问题
1. 谈谈你的职业规划模板“感谢你提出这么深刻的问题。我的兴趣是XXX,优势是XXX,因此我选择了XXX行业/职业,这是一个可以将我的兴趣和工作结合起来的行业,是我非常喜欢的,所以我会很用心对待XXX岗位。““说到职业规划,近期三到五年,我打算在XXX行业做到XXX,希望可以稳定提升,持续学到更多的知识,后续可以在XXX行业/XXX岗位独当一面,独立负责XXXX事务,解决XXXX问题。”“谈到远期规划,我会根据环境的变化,工作内容的变化,以及我自身能力的变化,不断进行调整的。对于职业规划,我暂时的考原创 2020-07-16 14:08:28 · 576 阅读 · 0 评论 -
阿里巴巴面试题:考察Java函数传值特性
题目class Value{ public int i=15;}public class Test{ public static void main(String argv[]){ Test t=new Test( ); t.first( ); } public void first( ){ int i=5; Value v=new Value( ); v.i=25; second(v,i); Syst原创 2020-07-11 23:48:30 · 571 阅读 · 0 评论 -
Cookie和Session的区别【面试常客】
前言Cookie和Session的出现与Http协议的特点有着非常密切的关系,因为Http协议是一个无状态的协议,不能够记录每一次请求和响应数据。例如:在没有Cookie和Session的前提下,你在某宝或某东要下单一本书,由于Http协议是一个无状态的协议,所以它并不能追踪到是谁下单了书,也不能知道它下单了几本书,Cookie和Session的机制就是来标识具体的用户,记录在服务端执行某些操作的状态。区别存储位置的不同Cookie数据存储在本地浏览器上,Session数据存储到服务器上原创 2020-06-10 17:43:47 · 288 阅读 · 0 评论 -
group by经典面试题
SQL文件:create table shop( article int(10) primary key auto_increment, author varchar(10), price float(10)); insert into shop (author,price) values ('B',3.99),('A',10.99),('C',1.69),('B',19.95),('A',6.96);问题选出每个author的最高price,要求显示每个字段?不就是gr原创 2020-05-30 20:28:10 · 691 阅读 · 0 评论 -
MySQL数据库面试题(面试必备)
1. 数据库基础知识1.1 为什么要使用数据库如果数据保存在文件:优点:数据永久保存缺点:速度比内存操作慢,频繁的IO操作,查询数据不方面数据保存在内存:优点:存取速度快缺点:数据不能永久保存但是如果数据保存在数据库:1)数据可以永久保存2)使用SQL语句查询方面,效率高3)管理数据方便1.2 什么是SQL结构化(Structured Query Language)查询语言,简称SQL,作用:用于存储,查询,更新和管理数据库系统。1.3 什么是MySQLMySQL是时下最流原创 2020-05-30 18:37:28 · 2067 阅读 · 0 评论 -
Java多线程面试题(面试必备)
文章目录一、多线程基础基础知识1. 并发编程1.1 并发编程的优缺点1.2 并发编程的三要素1.3 并发和并行有和区别1.4 什么是多线程,多线程的优劣?2. 线程与进程2.1 什么是线程与进程2.2 线程与进程的区别2.3 用户线程与守护线程2.4 什么是线程死锁2.5 形成死锁的四个必要条件2.6 如何避免死锁3. 创建线程的四种方式4. 线程状态和基本操作一、多线程基础基础知识1. 并发编程1.1 并发编程的优缺点优点:充分利用多核CPU的计算能力,通过并发编程的形式将多核CPU的计算.原创 2020-05-26 01:15:38 · 63713 阅读 · 12 评论 -
异常经典面试题
问题:请看这个输出什么?public class TestException { public static void main(String[] args) throws Exception{ try{ try { throw new Sneeze(); }catch (Annoyance a) { Syste原创 2020-05-24 14:53:02 · 257 阅读 · 0 评论 -
Java集合容器面试题(面试必备)
1. 集合1.1 什么是集合集合是存储数据的容器,这里的数据指的是对象,可以存储不同的对象,并且长度可变。1.2 集合特点集合用于对象封装数据,存储对象对象的个数可以确定时使用数组,不确定时使用集合,因为集合长度可变1.3 集合和数组得区别数组的长度是固定的,集合是可变的数组可以存储基本数据类型,也可以存储引用数据类型,集合只能存储引用数据类型数组存储的元素必须是同一个数据类型,集合存储的对象可以是不同类型1.3 什么是集合框架集合框架是为了操作集合而规定的一种标准的体系结构,原创 2020-05-24 01:35:41 · 1380 阅读 · 0 评论 -
Java基础知识面试题(面试题必备)
1. Java概述1.1 什么是编程所谓编程就是人通过编写计算机可以认识的指令代码,计算机运行这些代码得到运行结果的过程就是编程。为了使计算机能够理解人的意图,人类就必须将解决问题的思路,方法和手段通过计算机可以理解的形式告诉计算机(指令代码),计算机可以根据指令一步一步的去执行,完成某个某种特殊的任务,这种人和计算机之间的交流就是编程。1.2 谈谈你对Java的认识Java是一门面向对象的编程语言,它不断吸收C++语言的各种优点,还摒弃了C++语言难以理解的多继承和指针等概念。Java语言具有功原创 2020-05-22 17:36:04 · 895 阅读 · 0 评论 -
getClass方法在面试题中遇到的坑
/** * 面试题 */public class Test extends Base { public static void main(String[] args) { new Test().method(); } public void method() { System.err.println(super.getClass().getName()); System.err.println(this.getClass().getSuperclass()); }}class原创 2020-05-20 22:24:16 · 410 阅读 · 0 评论 -
MyBatis框架面试题总结(面试必备)
1. MyBatis简介1.1 MyBatis是什么?MyBatis是一款优秀的持久层框架,使用Java编写,它封装了JDBC的很多细节,使开发者能够只关注于SQL语句本身,无需关注注册驱动,创建连接等繁琐功能,它使用了ORM的思想实现了结果集的封装。1.2 ORM是什么Object Relational Mapping对象关系映射,是一种解决关系型数据库数据和Java对象(POJO)的映...原创 2020-05-08 22:35:52 · 1821 阅读 · 0 评论 -
Spring框架面试题总结(面试必备)
写在前面:继续看看spring的面试题,打开ThinkWon大神的总结,不禁吸了两口真气,由于是初学者,很多知识点没有学到,这边只记录学到的,并且能理解的,一些不能理解的问题应该深入学习后再来补充。原文链接:https://blog.csdn.net/ThinkWon/article/details/104397516目录1. spring 概述部分1.1 什么是spring?1.2 s...原创 2020-05-04 23:11:07 · 6844 阅读 · 1 评论 -
Spring MVC面试题总结(面试必备)
写在前面:学完SpringMVC的常用知识,去网上找了面试题来看,基于自身所学的知识,从ThinkWon大神那边搬来这些面试题????,总结的真的很不错,主要是为了自己阅读方便,部分融入了自己的语言,特来????记录。原文链接:原文链接:https://blog.csdn.net/ThinkWon/article/details/104397427目录1. 概述1.1 什么是Spring MVC?简...原创 2020-05-04 12:02:36 · 526 阅读 · 2 评论 -
byte类型的127+1 = 128吗
请看一道面试题public class Test2 { public void add(Byte b) { b = b++; } public void test() { Byte a = 127; Byte b = 127; add(++a); System.out.println("a ...原创 2020-04-09 11:08:59 · 1007 阅读 · 0 评论 -
Java参数传值机制
参数传递在Java中,所有的参数传递都是值传递,即在传参时,实参copy了一份副本形参,之后形参在函数中如何变化都不会影响实参的改变。但是有一例外:如果时Object传递时,传递的时对象的引用地址,当不同的对象操作同一块引用地址时,则可以引起实参的数据改变,请看下面例子:/** * Created by liuzeyu on 2020/4/9. * Java的值传参和引用传参 * ...原创 2020-04-09 10:50:43 · 271 阅读 · 0 评论 -
Java创建对象的三种方式
方式1:直接使用new关键字创建方式2:类的字节码文件反射创建方式3:通过包名+类名得到字节码文件反射创建源码:/** * Created by liuzeyu on 2020/4/9. * 面试题1:java创建对象的集中方式 */class Cat{ public Cat(){ System.out.println("一只猫..."); }...原创 2020-04-09 10:03:46 · 292 阅读 · 0 评论