
笔试面试题
文章平均质量分 93
江夏、
关注微信公众号:1024笔记;可免费领取海量学习资源和资料
展开
-
MySQL数据库优化的几种方式(笔面试必问)
数据库优化不仅是笔面试中常问的知识点,在实际的开发应用中也会经常用到,如果有不正确的地方欢迎讨论指正!并且如果有其他更好的方法或者本文没有提及的地方,也欢迎交流讨论!原创 2022-07-02 11:47:24 · 2239 阅读 · 0 评论 -
一起学习SQL中各种join以及它们的区别
sql语句中的一些连接查询以及它们之间的区别,另外还有一种full join 表示全连接,但是mysql中不支持,可以使用左连接和右连接的合集进行表示。full join 表示的是左表和右表的并集,但是对于没有匹配的记录,则会以null表示。......原创 2022-07-01 20:27:43 · 1708 阅读 · 0 评论 -
Springboot处理请求参数的注解
在springboot中有几种处理url请求参数的注解,它们分别是:@PathVariable、@RequestHeader、@RequestParam、@MatrixVariable、@RequestBody,今天一起来学习下。原创 2022-05-22 12:11:30 · 2127 阅读 · 0 评论 -
从零开始学设计模式(二十二):命令模式(Command Pattern)
命令模式(Command Pattern)又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。命令模式就是对命令的封装,就是把一系列的操作写到一个方法中,然后供客户端调用就行了。主要的作用就是对请求发送者与接收者进行耦合,发送者与接收者之间没有直接引用关系,使得对象之间的调用关系更加灵活,发送请求的对原创 2022-05-14 14:13:43 · 290 阅读 · 0 评论 -
从零开始学设计模式(二十一):解释器模式(Interpreter Pattern)
抽象表达式是生成语法集合的关键,每个非终结符表达式解释一个最小的语法单元,然后通过递归的方式将这些语法单元组合成完整的文法,这就是解释器模式。解释器模式在实际的使用中比较少,因为它的维护和性能效率是比较复杂的问题,所以对于解释器模式了解即可。原创 2022-05-13 10:42:10 · 202 阅读 · 0 评论 -
从零开始学设计模式(二十):迭代器模式(Iterator Pattern)
迭代器模式主要是提供了一种访问一个容器对象中各个元素的方法,并且不会暴露该对象的内部细节。但是很多语言在实现容器的时候都提供了迭代器,所以可以一般采用语言提供的迭代器模式就可以了,不需要刻意的去实践迭代器模式。原创 2022-05-12 10:23:41 · 276 阅读 · 0 评论 -
从零开始学设计模式(十九):责任链模式(Chain of Responsibility Pattern)
责任链模式(Chain of Responsibility Pattern)又叫也叫职责链模式,指的是为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。它是一种对象行为型模式。原创 2022-05-11 10:32:33 · 199 阅读 · 0 评论 -
从零开始学设计模式(十八):状态模式(State Pattern)
状态模式(State Pattern)指的是将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化,在其内部状态改变时改变它的行为。状态模式是一种对象行为型模式。它和策略模式有一点很像,就是将一些复杂的逻辑放在一个专门的上下文类中进行处理。原创 2022-05-10 10:12:45 · 364 阅读 · 1 评论 -
从零开始学设计模式(十七): 备忘录模式(Memento Pattern)
**备忘录模式**(Memento Pattern)又叫快照模式,它指的是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。它是一种对象行为型模式。原创 2022-05-09 10:20:04 · 372 阅读 · 0 评论 -
从零开始学设计模式(十六):策略模式(Strategy Pattern)
策略模式是一种简单并且常用的模式,它主要就一个算法抽象类或者接口封装算法、然后多个具体的算法实现类实现它的方法再被一个上下文类来包装一下。一般来说,策略模式不会单独使用,跟模版方法模式、工厂模式等混合使用的情况比较多。原创 2022-05-06 10:30:25 · 295 阅读 · 0 评论 -
从零开始学设计模式(十五):模版方法模式(Template Method Pattern)
模版方法模式(Template Method)定义一个操作中算法的框架,并且将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。原创 2022-05-05 12:03:59 · 177 阅读 · 0 评论 -
从零开始学设计模式(十四):中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)又被称为调停者模式。它定义了一个中介对象来封装一系列对象之间的交互关系。中介者使各个对象之间不需要显式地相互引用,从而使耦合性降低,而且可以独立地改变它们之间的交互行为。它是一种对象行为型模式。生活中最常见的例子就是租房中介是一种中介,如果我们想要租房可以通过中介和房东沟通,这时候其实并不需要知道对方是谁,也并不需要面对面,类似于电话、QQ、微信等等都是中介,能大大降低了沟通的复杂性。原创 2022-04-08 12:00:11 · 493 阅读 · 0 评论 -
从零开始学设计模式(十二):享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)指的是运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。原创 2022-01-13 20:02:20 · 224 阅读 · 0 评论 -
从零开始学设计模式(十一):组合模式(Composite Pattern)
组合模式又叫做部分-整体模式,它在树型结构(可以想象一下数据结构中的树)的问题中,模糊了简单元素和复杂元素的概念,客户端程序可以像处理简单元素一样来处理复杂元素,而使得客户端程序与复杂元素的内部结构进行解藕。原创 2022-01-11 20:58:02 · 209 阅读 · 0 评论 -
从零开始学设计模式(十): 桥接模式(Bridge Pattern)
桥接(Bridge)模式又称为柄体(Handle and Body)模式或接口(Interface)模式,它将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。原创 2022-01-10 21:16:57 · 181 阅读 · 0 评论 -
从零开始学设计模式(九):外观模式(Facade Pattern)
外观(Facade)模式又叫作门面模式,是一种为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部与其中子系统的通信必须通过一个统一的外观对象进行,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,使得这一子系统更加容易使用,提高了程序的可维护性。外观模式是一种对象结构型模式。原创 2022-01-05 22:05:32 · 337 阅读 · 0 评论 -
说说with(nolock)的使用
with(nolock)其实是表提示(表提示table hint指的是通过指定锁定方法、一个或多个索引、查询处理操作(如表扫描或索引查找)或其他选项,表提示可在数据操作语言 (DML) 语句执行期间覆盖查询优化器的默认行为。)中的一种。它等同于数据库的4种事务隔离级别中的READ UNCOMMITTED(读未提交)。原创 2022-01-04 21:47:09 · 2846 阅读 · 0 评论 -
从零开始学设计模式(八):装饰器模式(Decorator Pattern)
装饰器模式是继承关系的一个替代方案,在不必改变原类文件和原类使用的继承的情况 下,通过使用对象之间的关联关系来取代类之间的继承关系,从而能够动态的给一个对 象拓展一些额外的功能。它也是一种对象结构型模式。原创 2022-01-03 20:53:57 · 315 阅读 · 0 评论 -
从零开始学设计模式(七):代理模式(Proxy Pattern)
代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。它是一种对象结构型模式。原创 2021-12-30 19:54:46 · 305 阅读 · 0 评论 -
从零开始学设计模式(六):适配器模式(Adapter Pattern)
适配器模式(Adapter Pattern)指的是把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。就好比你的苹果手机和安卓手机的耳机接口是不一样的,所以如果换了手机那么还得换耳机,但是可以通过一个转换接口能够使得一个耳机在安卓和苹果手机上都能够使用。所以适配器模式也是使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。原创 2021-12-27 19:59:17 · 206 阅读 · 0 评论 -
从零开始学设计模式(五):建造者模式(Builder Pattern)
建造者模式的定义就是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式利用一个导演者对象和具体建造者对象一个一个地建造出所有的零件,从而建造出完整的对象。原创 2021-12-17 23:10:03 · 237 阅读 · 0 评论 -
Drop、Truncate和Delete究竟怎么删除
作者:江夏| 知乎:www.zhihu.com/people/1024…| GitHub:github.com/JiangXia-10…| CSDN:blog.csdn.net/qq_4115394…| 掘金:juejin.cn/user/651387…| 公众号:1024笔记本文大概2176字,读完共需25分钟前言在数据库种有三个对表中数据进行删除的语法,分别是Drop、Truncate和Delete。关于它们的区别和相同的地方也是在面试的过程中经常遇到的。平时也是用了就用了,哪个用的原创 2021-10-25 21:41:00 · 813 阅读 · 1 评论 -
Java正则表达式学习
作者的其他平台:| CSDN:https://blog.csdn.net/qq_41153943| 掘金:https://juejin.cn/user/651387938290686| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories 本文大概12688字读完共需25分钟01原创 2021-09-25 20:01:20 · 623 阅读 · 0 评论 -
分布式缓存中间件Redis入门
| 作者:江夏| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories| CSDN:https://blog.csdn.net/qq_41153943 | 掘金:https://juejin.cn/user/651387938290686本文大概9281字建议阅读23分钟 1、Redis介绍1、什么是Redis?Red原创 2021-07-18 12:53:10 · 261 阅读 · 0 评论 -
聊聊Spring中IOC的基本原理
| 作者:江夏| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories| 博客地址:https://blog.csdn.net/qq_41153943 本文大概5091字建议阅读13分钟在我们学习spring和面试的过程中,有一个核心的内容就叫做IOC原创 2021-07-17 11:54:42 · 346 阅读 · 0 评论 -
聊聊Spring中的AOP(笔面试必备)
| 作者:江夏| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories| 博客地址:https://blog.csdn.net/qq_41153943 本文大概10288字读完共需10分钟我们在使用Spring框架的过程中,其实就是为了使用IOC和AO原创 2021-07-16 20:30:24 · 511 阅读 · 0 评论 -
Java注解(Annotation)的基本原理以及实现自定义注解
在我们使用springboot的时候我们知道因为注解的存在,使得我们的开发变得格外的方便、快捷。之前的文章Spring常用注解大全,值得你的收藏!!!对于spring中各类注解也进行过介绍。然而注解也并不是因为spring框架的兴起才出现的,而是很早就已经在java中被使用。Java 注解(Annotation)又称 Java 标注,是从 Jdk1.5 开始被添加到 Java中 的。Java 中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编原创 2021-07-14 22:45:22 · 2201 阅读 · 3 评论 -
MySQL日志必知必会
part 1在日常的开发中,我们都会习惯记录日志,通过日志我们可以记录程序在何时何种情况发生过何种事情,有助于我们快速地定位bug和修复bug。在任何一种数据库中,也有着各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事情。在MySQL中,有着四种不同的日志,它们分别是错误日志,二进制日志(也叫BINLOG日志),查询日志以及慢日志。今天这篇文章就来说说,MySQL的这四种常用的日志!part 2一、错误日志错误日志是MySQL中最为重要的日志之一,它主要记录原创 2021-03-29 09:10:15 · 193 阅读 · 0 评论 -
js判断浏览器类型是pc端还是手机端进行样式自适应
最近公司有个页面需要做pc端和手机端的页面自适应,即手机打开是指定的样式,pc打开则是pc指定的样式,样式是前端ui已经设计好了的。所以这里需要通过Navigator userAgent 属性判断浏览器的类型。userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。比如:edge浏览器chrome浏览器:所以只需要写一个函数function isComputerOrPhone() { var sUserAgent = navigator.原创 2020-09-13 21:09:01 · 1256 阅读 · 0 评论 -
sql如何对某一个重复字段只取其第一个数据
最近需要写个存储过程对一些数据进行处理,需求类似于这样的:有一个张表(order)记录的是用户购买商品的数据,字段为用户id,用户购买商品的名称,购买时间,这样的话里面的用户id和商品名称肯定就会有重复数据,那么对重复的数据只需要取其第一条记录即可。那么这时候就可以对其使用下面的函数对数据进行分组排序ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)上面的函数表示根据COL1字段对数据进行分组,在分组内部再根据 COL2字段进行排序,而此函数计算的原创 2020-09-13 16:01:29 · 10649 阅读 · 0 评论 -
jQuery:选择器使用详解
1都说不会前端的测试不是一个好的后端开发。最近维护一个老的项目,其中的前端代码使用到了JQuery,由于自己以前对前端的了解并不是很多,没有系统的学习,都是遇到了问题才学习一下, 所以这次对Jquery进行了一次学习。jQuery 是 js 的一个库,封装了我们开发过程中常用的一些功能,方便我们调用,能够大大提高开发效率。js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里即可。而使用jQuery较多的就是进行DOM操作,其中就涉及到了选择器的使用。所以这篇文章就整理一下,JQ原创 2020-08-25 22:35:55 · 1185 阅读 · 0 评论 -
输入一个小数,输出该数的整数部分和小数部分的相同数字的个数
学python的表弟问了一个题目:代码如下:#输入一个小数,并转换为字符串类型number = str(input("请输入一个小数:"))#对输入的小数进行分割result = number.split(".")#取整数部分zhengshu = result[0]#取小数部分xiaoshu = result[1]#判断相同的个数count=0for i in zhengshu: if i in xiaoshu: count += 1print("整数部分原创 2020-07-08 16:53:03 · 5129 阅读 · 0 评论 -
python编程求随机数的随机运算结果
最近有个公众号粉丝问了个python的编程题,题目如下:开发一个循环 5 次计算的小游戏,每次随机产生两个1~10的数字以及随机选择“+、-、*”运算符,构成一个表达式,让用户计算式子结果并输入结果,如果计算结果正确则加一分,如果计算结果错误不加分。如果正确率大于等于80%,则打印“闯关成功”,否则打印“闯关不成功”。题目其实不难,因为刚开始学编程所以求助我,这里贴下代码:# 这里的随机种子,随机运算符,所以需要import random以及operatorimport randomimp原创 2020-07-04 22:33:47 · 3765 阅读 · 0 评论 -
面试题系列之cookie和session的区别是什么
由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户cookie存在本地的上的session是存在服务器上的通俗讲,Cookie是访问某些网站以后在本地存储的一些网站相关的信息,下次再访问的时候减少一些步骤。另外一个更准确的说法是:Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器,是一种在客户端保持状态的方案。Session...原创 2020-06-23 10:07:05 · 422 阅读 · 0 评论 -
面试题系列之接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类?抽象类中是否可以有静态的main方法?
有一个面试四连击的题目:接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类?抽象类中是否可以有静态的main方法?上面这个题目我们来慢慢的剖析一下。先从基本的概念说起。一、接口官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。又到了我最喜欢打比方的环节了:我们身边最常见的接口就是电脑的usb接口了。我们可以想想,我们电脑的usb接原创 2020-05-20 18:33:06 · 4163 阅读 · 3 评论 -
面试题系列之Servlet API中forward()与redirect()的区别
概念forward()与redirect()是servlet的两种主要的跳转方式。forward又叫转发,redirect叫做重定向。转发过程:客户浏览器发送http请求——>web服务器接受此请求—>调用内部的一个方法在容器内部完成请求处理和转发动作一>将目标资源发送给客户端;在这里,转发的路径必须是同一个web容器下的URL,其不能转向到其他的web路径上去,中间传递的 是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器原创 2020-05-14 20:38:39 · 864 阅读 · 0 评论 -
面试题系列之java中overload、override、overwrite的区别
1、overloadOverload的中文意思是重载,它表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同,即参数的个数或类型至少有一个不同,但返回值和方法属性必须相同。在调用的时候,VM就会根据不同的参数列表,来执行对应的合适的方法。比如:public class Demo4 { public static void main(String[] args) { Demo4 demo4 = new Demo4(); demo4.say(); demo4.say("你好原创 2020-05-12 11:01:48 · 1350 阅读 · 0 评论 -
面试题系列之使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
使用final关键字修饰一个变量时,是指引用变量不能变,但是引用变量所指向的对象中的内容还是可以改变的。public class Demo2 { //声明一个final关键字修饰的字符串 public static final StringBuffer sb = new StringBuffer("abc"); public static void main(String[] args) { // TODO Auto-generated method stub //sb指向新的引用对象原创 2020-05-09 15:19:38 · 1399 阅读 · 1 评论 -
面试题系列之short s1= 1; s1 = s1+1 和short s1 = 1; s1 += 1;有什么区别
对于short s1= 1; s1 = s1+1因为1是int类型,而等号左边的s1是short类型,由于s1+1运算时会自动提升表达式的类型,所以运算的结果是int型,再赋值给 short类型s1时,编译器将报告需要强制转换类型的错误,所以需要进行强转。对于short s1= 1; s1 += 1;在java中+=的作用包含两个部分,除了基本的加法运算功能之外,还可以隐形转换改变结果的类型,将计算结果的类型转换为“+=”符号左边的对象的类型。所以可以正确编译...原创 2020-05-09 11:00:18 · 315 阅读 · 0 评论 -
面试题系列之一个".java"源文件中是否可以包括多个类(不是内部类)
在一个.java源文件中可以有多个类,但只能有一个被public修饰的类,并且被public修饰的类名必须与文件名相一致。即如果有个hello.java的文件,这个文件中可以有多个类,比如class A{},class B{},…但是被public修饰的类必须是public class Hello{},也可以没有public 修饰的类。实例:package Demo1;class Hel...原创 2020-05-08 16:55:14 · 735 阅读 · 0 评论