自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思凡

思凡的技术博客

  • 博客(61)
  • 收藏
  • 关注

原创 HR面试常被问的问题

1.你觉得你个性上最大的优点是什么?沉着冷静,踏实肯干,很好相处,有责任感,承诺做到的事一定要做到。并且我在自如和燕软有过相关实习,这些经历使我适应这份工作。2.你的缺点有什么不知道如何拒绝,同学或同事要求帮忙一概揽下,有时候会影响自身工作进度,现在已经在改正,如果我有事在忙,我会向求助同事展示自己手上工作,并给出何时可以给予帮助的时间估计,让求助人自行决定是否求助。3.你对加班的看法?如果是工作需要我会义不容辞加班,我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率

2020-10-21 13:49:59 414

原创 linux常用命令

1.查看进程在ps的结果中过滤出想要查看的进程状态ps -ef|grep “进程名称”2.查看端口号被什么进程占用1,lsof -i:端口号2,netstat -tunlp|grep 端口号3.更改文件权限chmod u=rwx,g=rx,o=r a.txtchmod 777 a.txt4.在某个路径及其子目录下查找所有包含“hello abcserver”字符串的文件find /etc -name “*” | xargs grep “hello abcserver”5.在某个路

2020-10-17 21:34:45 198

原创 黑盒测试与白盒测试

1.黑盒测试软件的黑盒测试意味着测试要在软件的接口处进行。把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试。2.白盒测试软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构,设计测试用例,对程序的所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试。白盒测

2020-10-17 20:13:51 351

原创 怎样做压力测试,考虑哪些指标

1. 压力测试给软件不断加压,在极限的情况下运行,观察它可以运行到何种程度,有助于确定计算机,网络,程序在不利条件下保持一定效率的能力。2.压测指标:RT 指一个请求发出后系统的响应时间(reaction time)CPU使用率、JVM堆栈使用情况、GC/FGC 次数、Load指标、网络延时...

2020-10-17 20:01:44 5348

原创 测试的相关用例

1.怎样测试游戏安全性1.数据存储在内存中,能否被修改在玩家登录、打开某个模块时,服务器会下行把这些数据给玩家,存在内存中。然后玩家会使用这些数据与服务器进行交互。那么玩家就可以非法修改这些存储的数据,以达到一些目的。两种修改方法。(下行过程中修改,在内存中修改)a.拦截下行协议,然后修改下行协议中的数据。就是所谓的封包,拦截——修改。可通过WPE的滤镜功能实现。b.服务器下行数据存在内存中后,再进行修改。修改内存的数据就很多了:PC端的OD/CE。手机上各种烧饼修改器、八门修改器等等。2.客

2020-10-17 19:13:56 4191 1

原创 RESTful API是什么?它的特点

定义RESTful API 就是REST风格的API。REST,表示性状态转移(representation state transfer)。简单来说,就是用URI表示资源,用HTTP方法(GET, POST, PUT, DELETE)表征对这些资源的操作。特点1.资源:网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。资源总要通过某种载体反应其内容,文本可以用txt格式表现,也可以用HTML格式、XML格式表现,甚至可以采用

2020-10-17 14:46:23 2133

原创 测试相关知识

1.你对测开的理解在我看来,测试开发工程师,是属于测试的。测试还是测试,只是在工作中会用到很多开发知识,Codereview,单元测试加强,自动化测试,开发测试工具。测试最重要的是思想,开发技能只能是技术手段。现在这个测试自动化极其重要。但如果是不懂测试的人,给测试开发工具,极有可能难用又没效果,所以最好是有一批懂测试又擅长编程的人,来为测试人员开发工具。他们还是要去做测试工作的,不然的话,时间一长,脱离实践太久。这种人,就叫做测试开发工程师。2.测开需要的素养:测试开发工程师应该具备两方面的知识

2020-10-16 21:43:54 427

原创 Java中static关键字的作用与顺序

1. static修饰成员方法static修饰的方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都必须依赖具体的对象才能够被调用。但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。2. st

2020-10-16 19:36:23 203

原创 Redis为啥快?为什么是单线程的?为啥选择 Key-Value Store

1.Redis为啥快?1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);2、数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的;3、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;4、使用多路I/O复用模型,非阻塞IO;5、使用底层模型不同,

2020-09-29 09:44:43 326

原创 左连接 ,右连接,内连接和全外连接的4者区别

基本定义:  left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。  right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。  inner join (等值连接或者叫内连接):只返回两个表中连接字段相等的行。  full join (全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录。...

2020-09-29 09:35:53 206

原创 为什么mysql选可重复读作为默认的隔离级别

Mysql默认的事务隔离级别是可重复读(Repeatable Read),那互联网项目中Mysql也是用默认隔离级别,不做修改么?OK,不是的,我们在项目中一般用读已提交(Read Commited)这个隔离级别!1.为什么mysql选可重复读作为默认的隔离级别在RR级别下,binlog为任何格式均不会造成主从数据不一致的情况出现,但是当低版本MySQL使用RC+STATEMENT组合时(MySQL5.1.5前只有statement格式)将会导致主从数据不一致。当前这个历史遗漏问题以及解决,大家可以将

2020-09-28 23:49:57 1697

原创 微服务

1. 什么是微服务架构?通常而言,微服务架构是一种架构模式或者说是一种架构风格。将应用服务按功能拆分成一组相互协作的服务。每个服务负责一组特定、相关的功能。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API) 。2.微服务优点1、通过分解巨大单体式应用为多个服务方法解决了复杂性问题,每个微服务相对较小2、每个单体应用不局限于固定的技术栈,开发者可以自由选择开发技术,提供API服务

2020-09-28 23:22:04 144

原创 Spring中的IOC和AOP

1.概念:IOC 是面向对象编程中的一种设计原则,IOC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。 是说创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方。实现原理:它是通过反射机制+工厂模式实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。控制反转就是:获得依赖对象的方

2020-09-26 23:28:51 245

原创 forward和redirect是什么?

servlet种的两种主要的跳转方式。forward又叫转发,redirect叫做重定向。区别:地址栏,数据共享,应用场景,效率,本质,次数两者的区别总结:从地址栏显示来说:1)forword是服务器内部的重定向,服务器直接访问目标地址的url网址,把里面的东西读取出来,但是客户端并不知道,因此用forward的话,客户端浏览器的网址是不会发生变化的。2)redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址。从数据共享来说:1)由

2020-09-25 23:22:52 328

原创 i++是否是原子操作?

i++不是原子操作,原因是:i++操作分为三个阶段(读、改、写):内存到寄存器寄存器自增写回内存这三个阶段可以被中断分离。List 什么是操作系统的“原子操作”原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断,分为两种情况(两种都应该满足)(1) 在单线程中, 能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。(2) 在多线程中,不能被其它进程(线程)打断的操作就叫原子操作。面试的时候经常问的一道题目是i++在两个线程里边分别执.

2020-09-25 20:36:29 2294

原创 int 和 Integer的区别

int 是java的基本数据类型。Integer 继承了Object类,是对象类型,是 int 的包装类。int 与 Integer 的区别值的存储int 存储在栈中Integer 对象的引用存储在栈空间中,对象的数据存储在堆空间中。初始化int 初始化值为0。Integer 初始化值为null。传参int 是值传递,栈中的数据不可变。Integer 对象是引用传递,引用不可变,但是引用指向的堆空间地址中的值是可以改变的。泛型支持泛型不支持int,但是支持Integer。运算i

2020-09-25 16:29:47 478

原创 java request.forward和response.redirect 区别

这是一个web入门级的话题1: request.getRequestDispatcher("/other/page.html?para=some").forward(ServletRequest, ServletResponse);用于将请求在服务器端重定向至另一个页面,它会保留request里面的参数、状态等,而且客户端并不知道请求被重定向。2: response.sendRedirect(request.getContextPath() + “/index.html”);用于告诉客户端重新发送请

2020-09-17 10:53:45 783

原创 Linux中的epoll

1.epoll函数原型epoll操作由三个函数组成:#include <sys/epoll.h>int epoll_create(int size);            //成功时返回epoll文件描述符,失败时返回-1int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);            //成功时返回0,失败时返回-1int epoll_wait(int epfd, struct epol

2020-09-17 10:01:27 558

原创 Spring中使用的设计模式

总结Spring 框架中用到了哪些设计模式:工厂设计模式 : Spring使用工厂模式通过 BeanFactory、ApplicationContext 创建 bean 对象。代理设计模式 : Spring AOP 功能的实现。单例设计模式 : Spring 中的 Bean 默认都是单例的。模板方法模式 : Spring 中 jdbcTemplate、hibernateTemplate 等以 Template 结尾的对数据库操作的类,它们就使用到了模板模式。包装器设计模式 : 我们的项目需要连接

2020-09-16 21:44:02 117

原创 Java基础电信云

1.Java四类八种基本数据类型1.整型 byte(1字节) short (2个字节) int(4个字节) long (8个字节)2.浮点型 float(4个字节) double(8个字节)3.逻辑性 boolean(八分之一个字节)4.字符型 char(2个字节,一个字符能存储下一个中文汉字)2. 值传递与引用传递值传递:(形式参数类型是基本数据类型和直接使用双引号定义字符串):方法调用时,传递的是形参值的拷贝,实参与形参是两个不同的存储单元,所以方法执行中形参数值的改变不影响实参数值。

2020-09-16 20:10:39 186

原创 百度笔试

1.java程序初始化的几个原则彻底搞懂java程序的初始化顺序静态优于非静态变量先于块父类优于子类进行初始化按照成员变量的定义顺序进行初始化2.AOP中的几个术语AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(1)切面(Aspect):被抽取的公共模块,可能会横切多个对象。 在Spring AOP中,切面可以使用通用类(基于模式的风格) 或者在普通类中以 @AspectJ 注解来实现。(2)连接点(Join point):指方法,在Sprin

2020-09-03 18:01:30 130

原创 背包问题分类

01背包问题有 n 个物体,重量分别为 wi,价值为 vi,在总重量不超过容量 C 的情况下让总价值最高,但不允许只取走部分物体,要拿走只能整个拿走。从01背包开始就涉及到了动态规划的知识,动态规划的本质就是递推。先打表进行观察:表中 dp[ i ] [ j ] 表示容量为 j,可以在 0 号物品到 i 号物品中进行任意组合,这种情况下的最大值。第一行与第一列都不用说,一眼就可以直接得到答案。剩下的部分怎么进行选择呢?比如 dp[2] [4] = 6,我们已经知道了 dp[1] [4] =

2020-09-02 10:54:53 742

原创 TopK问题

问题描述:从arr[1, n]这n个数中,找出最大的k个数,这就是经典的TopK问题。栗子:从arr[1, 12]={5,3,7,1,8,2,9,4,7,2,6,6} 这n=12个数中,找出最大的k=5个。一、排序排序是最容易想到的方法,将n个数排序之后,取出最大的k个,即为所得。时间复杂度:O(n*lg(n))分析:明明只需要TopK,却将全局都排序了,这也是这个方法复杂度非常高的原因。那能不能不全局排序,而只局部排序呢?这就引出了第二个优化方法。二、局部排序不再全局排序,只对最大的k个

2020-08-31 11:00:24 146

原创 大顶堆的构建、排序过程

一、什么是堆堆是一种非线性结构,可以把堆看作一棵二叉树,也可以看作一个数组,即:堆就是利用完全二叉树的结构来维护的一维数组。Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]或者Key[i]>=Key[2i+1]&&key>=key[2i+2]堆可以分为大顶堆和小顶堆。大顶堆:每个结点的值都大于或等于其左右孩子结点的值。小顶堆:每个结点的值都小于或等于其左右孩子结点的值。如果是排序,求升序用大顶堆,求降序用小顶堆。一

2020-08-31 10:34:05 11718 4

原创 行测题图形找规律

1.去异存同2.把外切小黑圆看成 +,把内切小黑圆看成 -3.旋转再加点变化4.异色相加为黑 , 同色相加为白5.内角的个数呈规律递增6.阴影部分可以组成一个全阴影图形根据第一套图和第二套图的各项图形方面不同,一一对应相似性,第一套图:图 1 是左右对称,方位是左右。图 2 是轴对称,方位是上下,左右;其对应相似性的图形是第二套图的图 2。图 3 是上下对称,其对称相似性的图形是第二套图的图 1有规律的平移每个图形都有 5 个交点重叠原有的阴影..

2020-07-30 20:36:03 2391

原创 MyBatis总结

1.MyBatis中的命名空间namespace的作用1.定义mapper接口,面向接口编程。当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句,口中的方法与映射文件中的SQL语句的ID一一对应2.在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一的标识(ID)就变得并不容易了。为了解决这个问题,在MyBatis中,可以为每个映射文件起一个唯一的命名空间,这样定义在这个映射文件中的每个SQL语句就成了定义在这

2020-07-21 22:30:05 71

原创 锁的四种状态及升级过程

1.锁的四种状态在 synchronized 最初的实现方式是 “阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态切换需要耗费处理器时间,如果同步代码块中内容过于简单,这种切换的时间可能比用户代码执行的时间还长”,这种方式就是 synchronized实现同步最初的方式,这也是当初开发者诟病的地方,这也是在JDK6以前 synchronized效率低下的原因,JDK6中为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁”。所以目前锁状态一种有四种,从级别由低到高依次是

2020-07-19 19:17:09 2502

原创 spring Bean

1.什么是Bean?在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象。2.Bean的3.Bean的作用域3.BeanFactory 和 FactoryBean的区别?BeanFactory是个Factory,也就是IOC容器或对象工厂,在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的,提供了实例化对象和拿对象的功能。FactoryBean是

2020-07-19 12:15:47 141

原创 Spring事务

1.事务是什么它是一个操作集合,这些操作要么不执行,要么都执行,不可分割。实现原理:Spring并不直接管理事务,通过这个事务管理器接口,Spring为各个平台如JDBC、Hibernate等都提供了对应的事务管理器。也就是将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。事务管理器接口 PlatformTransactionManager 通过getTransaction(TransactionDefinition definition) 方法来得到

2020-07-19 09:59:52 113

原创 mybats

1.Mybatis的常用标签Mybatis的常用标签2.常用注解有哪些常用注解总结

2020-07-18 23:43:00 95

原创 JVM内存区域

线程私有的:程序计数器虚拟机栈本地方法栈线程共享的:堆方法区1.程序计数器字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当线程被切换回来的时候能够知道该线程上次运行到哪儿了。2.虚拟机栈描述的是 Java 方法执行的内存模型,每次方法调用的数据都是通过栈传递的。Java 虚拟机栈是由一个个栈帧组成,而每个栈帧中都拥有:局部变量表、操作数栈、动态链接、方法出口信息

2020-07-18 23:03:51 90

原创 线程池

1.使用线程池的好处池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。降低资源消耗。重复利用线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。2.线程池七大参数corePoolSize:

2020-07-18 22:03:56 79

原创 HashMap

1.并发下HashMap为什么不是线程安全的?解决方法?一、多线程put的时候可能导致元素丢失在多线程下put操作时,执行addEntry(hash, key, value, i),如果有产生哈希碰撞,导致两个线程得到同样的bucketIndex去存储,就可能会出现覆盖丢失的情况。二、1.Hashmap在插入元素过多的时候需要进行Resize,Resize的条件是HashMap.Size >= Capacity * LoadFactor。2.Hashmap的Resize包含扩容和Re

2020-07-18 19:32:43 93

原创 泛型就这么简单

泛型就是这么简单

2020-07-18 16:02:13 69

原创 Java的值传递和引用传递

添加链接描述添加链接描述添加链接描述

2020-07-18 16:01:54 60

原创 Java序列化

序列化-常见面试题

2020-07-18 16:01:16 79

原创 HTTP浏览器输入URL后发生了什么

HTTP浏览器输入URL后发生了什么

2020-07-18 16:00:30 91

原创 JDBC最常考的面试题

1.简单介绍一下JDBCJDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。我们可以用它来连接数据库,创建和执行SQL查询,存储过程,并处理返回的结果。2.JDBC访问数据库的基本步骤:注册驱动建立数据库连接(Connection)准备 SQL 语句,获取 SQL 语句发送器(Statement)发送并执行 SQL 语句, 得到结果集(ResultSet)处理结果集关闭资源(ResultSet, Statement,

2020-07-18 15:59:34 310

原创 快速幂

最朴素的求幂方法也就是平常使用pow函数,最简单的实现就是一直累乘,可以得到这样的代码:int Pow(int a,int b){ int ans = 1; for(int i = 0;i < b;i++){ ans *= a; } return ans;}可以看到,算法的时间复杂度是O(n)。为了降低时间复杂度,我们可以使用快速幂算...

2020-07-18 15:57:01 76

原创 Spring总结

1.spring常见注解Spring系列之Spring常用注解总结使用注解之前要开启自动扫描功能,其中base-package为需要扫描的包(含子包)。 <context:component-scan base-package="cn.test"/> @Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。@Scope注解 作用域@Lazy(true) 表示延迟初始化@Service用于标注业务层组件

2020-07-18 11:29:51 98

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除