面试
文章平均质量分 69
攻城丶狮
统招16级本科双证,计算机科学与技术专业。山西大同大学在SCImago世界大学学术排名国内139名。
有2年以上管理团队经验(最多20人的团队)。
有5年保险业务知识,主要是核心保全和监管。
展开
-
JDK1.8说明白新特性Lambda表达式(1个实例看明白)
Lambda 是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,将代码像数据一样进行传递。使用它可以写出更简洁,更灵活的代码。作为一种更紧凑的代码风格。使Java的语言表达能力得到了提升。 @Test public void test(){ //原写法 Consumer<String> consumer=new Consumer<String>() { @Override ...原创 2021-08-10 16:33:03 · 95 阅读 · 0 评论 -
Redis集群的三种模式(恒生电子阿里系面试常问)
Redis集群的三种模式一、主从模式通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器出现故障,其他服务器依然可以继续提供服务。为此,Redis 提供了复制(replication)功能,可以实现当一台数据库中的数据...原创 2021-07-08 10:01:43 · 115 阅读 · 0 评论 -
synchronized, lock和volatile区别(外包场面试会问?)
1、synchronizedJava语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然可以访问该object中的非加锁代码块。2、Locksynchronized是Java语言的关键字,是内置特性原创 2021-02-20 10:29:49 · 170 阅读 · 0 评论 -
redis持久化的过程是什么?(阿里系面试官问你,你会吗?)
【聊聊redis持久化 – 两种方式】redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis原创 2021-02-19 14:53:36 · 177 阅读 · 2 评论 -
幂等性?
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入事务中即可,发生错误立即回滚,但是再响应客户端的时候也有可能出现网络中断或者异常等等。在增删改查4个操作中,尤为注意就是增加或者修改,查询对于结果原创 2021-02-19 10:38:23 · 105 阅读 · 0 评论 -
ERP? (一张图2分钟看懂ERP)
原创 2021-02-18 13:26:37 · 11806 阅读 · 3 评论 -
反射机制,Spring AOP 底层实现原理,springmvc的工作原理,Spring七大模块
简述Java的反射机制和使用场景反射是Java的一种机制,可以让我们在运行时获取类的信息通过反射我们可以获取到类的所有信息,比如它的属性、构造器、方法、注解等适用于需要动态创建对象的场景。Spring AOP 底层实现原理说一下?简单说说 AOP 的设计:每个 Bean 都会被 JDK 或者 Cglib 代理。取决于是否有接口。 每个 Bean 会有多个“方法拦截器”。注意:拦截器分为两层,外层由 Spring 内核控制流程,内层拦截器是用户设置,也就是 AOP。 当代理方法被调用时原创 2021-02-08 13:38:21 · 527 阅读 · 1 评论 -
阿里“大中台、小前台”战略是什么?(1分钟读懂中台)
中台,可以说是当下IT圈最火的概念。然而,后台、中台、前台等概念总是让人眼花缭乱,业务中台、数字中台不同分类也让人头大。为此,笔者将科普一些中台的基本概念。定义:中台不同于后台、前台在以往的IT企业生产流程中,我们可以将研发团队宏观的划分为前台与后台两部分。用户直接接触到、且有一定认知的产品部分,如可在应用商店下载的APP,像微信、抖音、淘宝,或者可以使用的网站等,称为前台。而后台则是为了支撑前台运作、由后台系统组成的后端平台。每个后台系统一般管理了企业的一类核心资源(数据+计算),例如财务系统原创 2021-02-07 11:20:53 · 1575 阅读 · 0 评论 -
2021-02 Spring Boot 面试题
Spring Boot 有哪些优点?Spring Boot 主要有如下优点:容易上手,提升开发效率,为 Spring 开发提供一个更快、更广泛的入门体验。 开箱即用,远离繁琐的配置。 提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。 没有代码生成,也不需要XML配置。 避免大量的 Maven 导入和各种版本冲突。Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?启动类上面的注解是@SpringBootApp原创 2021-02-04 14:08:19 · 350 阅读 · 0 评论 -
String--StringBuffer--StringBuilder之间的爱恨情仇(初级开发常分不清)
首先熟悉一下三个类:String: 适用于字符串少量修改StringBuffer: 多线程频繁修改字符串StringBuilder:单线程频繁修改字符串String,StringBuffer,StringBuilder的异同共同点:1 都属于java.lang包2 可以互相转换,大都用于字符串的修改不同点:1.String:源码中以长度为"传入字符串长度"的char类型数组进行保存,jdk1.9起以byte类型数组保存参数(传入英文时byte类型比char类型要节省1字节的空间)..原创 2021-02-02 15:30:17 · 119 阅读 · 0 评论 -
JVM基础知识+性能调优(不会的,请不要自称工程师!!!)
1.java虚拟机的基本结构总结:jvm内存结构也叫做运行时数据区,堆和方法区是全局共享的,栈,程序计数器和本地方法栈是线程私有的具体划分为如下5个内存空间:(非常重要)堆:存放所有new出来的东西,堆空间是所有线程共享方法区:被虚拟机加载的类信息、常量、静态变量,静态常量等,线程共享程序计数器(和系统相关)本地方法栈栈:存放局部变量,线程私有的,描述的是java方法执行的内存模型:每个方法在执行时都会创建一个栈帧,用户存储局部变量表,操作数栈,动态连接,方法出口等信息。每一个方法从原创 2021-02-01 16:53:37 · 211 阅读 · 0 评论 -
Tomcat部署Web项目总是404错误
1.如果项目是部署在tomcat的root目录下,则去看下Web Project Settings是否为/。而且看下eclipse的server.xml的path是否为/下面的不是,则需要改path为/修改后这样就可以运行项目,并正常访问了。source可不要原创 2018-02-07 10:45:10 · 7012 阅读 · 0 评论 -
一种能让你“学得更快”的技能?
本文转载自 神译局通过提高学习速度,一些人实现了看似不可能的事情。一名学生用一年的时间完成了麻省理工学院的计算机科学课程,还有一个人在欧洲旅行时学会了9种语言。这些超强的学习者并不是天生如此,他们也是在后天学会的如何更快地学习。就像你学习其他技能一样,这也是一项技能。你也可以通过后天学习,提高自己的学习速度。在一年内完成大学学业,会说九种语言是极端的例子。然而,提高你的学习速度,即使是一点点,也会给你带来巨大的长期好处。如果你学会学得更快,那么你的事业或业务就会比别人发展得更快,你就能比你的原创 2021-01-27 13:45:15 · 158 阅读 · 0 评论 -
Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC,SpringBoot,MyBatis框架的优点
Spring注解:声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @Controller 在展现层使用,控制器的声明(C) 注入bean的注解 @Autowired 由Spring提供 @Resource 由JSR-250提供 java配置类相关注解 @Bean 注解在方法上,声明当前方法的返回值为一个原创 2021-01-27 09:59:33 · 758 阅读 · 0 评论 -
数据库事务的隔离级别(三浅一深,秒懂!!!)
数据库事务的隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现 ×: 不会出现说明 脏读 不可重复读 幻读 Read uncommitted √ √ √ Read committed × √ √ Repeatable read ×原创 2021-01-26 15:47:25 · 580 阅读 · 0 评论 -
Spring的AOP和IOC是什么?(初级学习,中级必会,高级复习!!!)
AOP:面向切面编程。即在一个功能模块中新增其他功能。比方说你要下楼取个快递,你同事对你说帮我也取一下呗,你就顺道取了。在工作中如果系统中有些包和类中没有使用AOP,例如日志,事务和异常处理,那么就必须在每个类和方法中去实现它们。 代码纠缠每个类和方法中都包含日志,事务以及异常处理甚至是业务逻辑。AOP 所做的就是将所有散落各处的事务代码集中到一个事务切面中。场景比方说我现在要弄一个日志,记录某些个接口调用的方法时间。使用Aop我可以在这个接口前插入一段代码去记录开始时间,在这个接口后面原创 2021-01-26 15:01:23 · 636 阅读 · 0 评论 -
红黑树(深入浅出,九浅一深,老程序员都必须掌握的法门!!!)
二叉查找树由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意结点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意结点的左、右子树也分别为二叉查找树。原创 2021-01-26 10:35:04 · 651 阅读 · 0 评论 -
程序员考公指南(逃离996的最强后路!!!)
最近,拼多多事件的发酵再次把互联网打工人的996推到了风口浪尖。虽然并不是每一个猝死事件都能与“过劳”建立直接联系,但互联网行业超负荷加班处理Bug是家常便饭,虽然收入高于很多行业,但经常熬夜、工作强度大,不少程序员开始寻找新的出路。近日,在GitHub上,一份程序员考公指南冲上热榜,几天时间不到,被标星2.4k,累计分支有289个。(GitHub地址:https://github.com/coder2gwy/coder2gwy)据作者介绍,这份指南的目标人群是想进体制内的程序员,尤其适原创 2021-01-15 16:01:03 · 5071 阅读 · 0 评论 -
2021年中国到底多少个程序员!!!内卷还是缺人
中国到底多少个程序员?每年计算机专业毕业的有多少?而这些人中真正从事it行业的比例是多少呢?中国的程序员中的地域分布状况又如何呢?以及程序员使用的编程语言比重等等,这一个个问题似乎都深刻的说明了我们程序猿是一个特殊的群体,对外行来说是那么的神秘。中国到底多少个程序员对于这个问题,似乎没有一个准确的答案,不过据IDC保守估计500w作用。据CSDN网站创始人蒋涛透露,csdn注册会员超过2500万,其中活跃用户超过800万(3个月内登录的),这其中30%是学生,60%是和一线开发相关人员,也就是说原创 2020-12-31 11:15:51 · 2762 阅读 · 2 评论 -
HttpServletResponse的中文乱码问题
首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite。申明:这里为了方便起见,所有输出都统一用UTF-8编码。先说字节流,要输出“中国",给输出流的必须是转换为utf-8的“中国”,还要告诉浏览器,用utf8来解析数据 response.setHeader("Content-type", "text/html;charset=UTF-8"); String data = "中国"; Outpu...原创 2020-12-29 16:03:40 · 212 阅读 · 0 评论 -
入门PL/SQL 连接Oracle数据库详细配置
1、先安装plsql客户端,汉化、注册;2、下载 oracle client:instantclient-basic-nt-11.2.0.2.0.zip;3、配置plsql —工具—连接配置oracle 主目录名路径和oci库路径4、在系统环境变量中配置ORACLE_HOME5、配置E:\tools\instantclient_11_2\network\admin文件夹下面的tnsnames.ora写入你要连接的库DIM =(DESCRIPTION =...原创 2020-12-28 16:06:00 · 5205 阅读 · 0 评论 -
Eclipse 引发战争,谁是开发工具霸主,Eclipse Theia能不能做掉idea!!!
Eclipse 基金会于近日推出 Eclipse Theia 1.0 稳定版,并宣称其为 Visual Studio Code 的真正开源替代方案(a True Open Source Alternative to Visual Studio Code)。Theia 完全由非营利性且供应商中立的 Eclipse 基金会主导,并由多元化社区进行开发,不会因单一供应商的决定而损害多元化社区的利益。官网新闻出处https://www.eclipse.org/org/press-release/202003原创 2020-12-25 16:28:14 · 189 阅读 · 0 评论 -
Java程序员的书(这4本书你看过几本!!!)
目录《Head First Java》《Java 编程思想》(英文名《Thinking In Java 》)《Spring揭秘》《深入理解 Java 虚拟机》《Head First Java》作者: Kathy Sierra / Bert Bates简介:《Head First Java》是一本完整地面向对象(object-oriented,OO)程序设计和Java的学习指导用书,根据学习理论所设计,你可以从程序语言的基础开始,到线程、网络与分布式程序等项目。重要的是,你可原创 2020-12-25 16:17:43 · 170 阅读 · 0 评论 -
2021年的7大科技趋势(站在风口,做一只可以飞起来的猪!!!)
人工智能服务人工智能(AI)是当今时代最具变革性的科技进步之一。大多数公司已经开始探索如何利用人工智能来改善客户体验并简化业务流程。这一趋势将在2021年继续,虽然人们将越来越习惯于和人工智能系统一起工作,但设计和开发公司的人工智能的系统对大多数企业来说仍然是一项坚巨且耗资的项目。基于这个原因,大部分人工智能应用将继续通过服务平台的提供商来完成,这些平台允许我们简单地输入我们自己的数据,并在我们使用它们时为算法或计算资源付费。目前,这些由亚马逊、谷歌、微软、百度、阿里、腾讯等公司提供的平台上提供,需要原创 2020-12-25 15:53:21 · 391 阅读 · 0 评论 -
Redis入门介绍,面试常问,你会吗?
目录一、Redis简介二、NoSQL技术三、Redis的高并发和快速原因四、Redis为什么是单线程的1、官方答案2、详细原因五、单线程的优劣势1、优势2、劣势六、Redis高并发总结七、在java中使用Redis1、添加Jedis依赖八、Redis在Java Web中的应用1、存储缓存用的数据2、高速读写场合九、在spring中使用Redis1、使用spring配置JedisPoolConfig对象2、为连接池配置工厂模型3、配.原创 2020-12-24 14:01:25 · 121 阅读 · 0 评论 -
备战2021JAVA面试(入门程序员必须会,老程序员也请温故而知新!)
目录Java基础—基础知识Java基础—集合框架/泛型/容器Java基础—基础知识一、八种基本数据类型的大小,以及他们的封装类。byte(Byte) 1 ,short(Short) 2 ,int(Integer) 4 ,long(Long) 8 ,float(Float) 4 ,double(Double)8,boolean(Boolean),char(Character)2二、Switch能否用string做参数?switch语句中的变量类型可以使byte,short,int,原创 2020-12-24 09:26:06 · 157 阅读 · 0 评论 -
JavaScript跳转方式(前后端开发必须掌握!!!)
目录概述第一种:直接跳转加参数第二种:返回上一次预览界面第三种:指定跳转页面 对框架无效。第四种:指定自身跳转页面对框架无效。第五种:指定自身跳转页面 对框架有效。第六种:按钮式 在button按钮添加 事件跳转。第七种:在新窗口打开。应用实例:概述JavaScript跳转方式。第一种:直接跳转加参数 <script language="javascript" type="text/javascript"> window.location.h.原创 2020-12-23 15:38:39 · 461 阅读 · 0 评论 -
常见的状态码(程序员的常识基础!!!不会的都是门外汉)
一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功处理了请求的状态代码。代码 说明200 (成功) 服务器已成功处理了请求。...原创 2020-12-23 13:33:50 · 320 阅读 · 0 评论 -
十种常用的设计模式(总结)
1.单例模式:实现方式:a) 将被实现的类的构造方法设计成private的。b) 添加此类引用的静态成员变量,并为其实例化。c) 在被实现的类中提供公共的CreateInstance函数,返回实例化的此类,就是b中的静态成员变量。单例模式的优缺点:优点: 1.在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。这样就 防止其它对象对自己的实例化,确保所有的对象都访问一个实例 2.单例模式具有一定的伸缩性,类自己来控制...原创 2020-12-22 16:28:44 · 5902 阅读 · 0 评论 -
即将发布 JDK 16,新特性速览!
当开发者深陷 Java 8 版本之际,这边下一版本 Java 16 有了最新的消息,与 Java 15 一样,作为短期版本,Oracle 仅提供 6 个月的支持。根据发布计划,JDK 16 将在 12 月 10 日和 2021 年 1 月 14 进入 Rampdown 阶段,2021 年 2 月 4 日到 2 月 18 日进入发布候选阶段。最终版本预计于 2021 年 3 月 16 日正式发布。日前, JDK 16 揭晓了即将到来的新功能,接下来,我们将一睹为快: 以前在 JDK 15 中预览原创 2020-12-22 14:33:34 · 97 阅读 · 0 评论 -
2020年12月程序员工资统计,平均14222元!
blog.csdn.net/juwikuang/article/details/1107798572020年12月全国招收程序员394699人。2020年12月全国程序员平均工资14222元,工资中位数12500元,其中96%的人的工资介于3250元到62500元。从图上看,工资是真的降了,吓得我瑟瑟发抖。希望明年涨回来。城市北京,上海,杭州,深圳的工资收入,仍然领先于其他地方。广州的工资收入,已经稳稳的落到了南京后面,看来广州的一线城市地位被杭州取代已经指日可待了。职能原创 2020-12-22 14:30:58 · 316 阅读 · 0 评论 -
sonar常见扫描问题总结
总结我们在开发中常见的代码问题,同时将sonar中的问题也归纳了进来一、异常处理中的未打印或者抛出异常信息这个主要是没有将异常信息打印出来,又或者异常没有抛出。比如我们在action中,异常信息是打印成日志,而service中是将异常信息抛出,按照这样做了,就不会再有这类的错误。l Sonar Either log or rethrow this exception. l 错误示例略l 处理方案将异常通过日志打印或者抛出二、使用非同步的类来代替同步的类...原创 2020-12-16 17:04:27 · 4740 阅读 · 0 评论 -
Shiro 简介
简介Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。APIAuthentication:身份认证 / 登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否原创 2020-12-14 13:30:15 · 114 阅读 · 0 评论 -
账户密码转化Unicode 编码传输,前端JS加密,后端JAVA解密
前端密码加密后端解密JS//加密密码 $("#Submit").on("click",function(){ var passWord=$("#passWord").val(); var eles = []; eles.push(passWord); var esz = encode("0x12",eles); $("#passWord").val(esz);})function encode(key, eles) {原创 2020-12-11 09:56:07 · 352 阅读 · 0 评论 -
CEO、COO、CFO、CTO是什么意思
CEO、COO、CFO、CTO是什么意思 很多人应该都在电视或者招聘上看过CEO、CFO、CTO等这些名称,可是CEO、CFO、CTO、COO是什么意思呢?下面为大家详细介绍下CEO、CFO、CTO、COO具体是什么职务的。 CXO是现代公司制度下的产物,是所有权与经营权相分离的一种制度表现形式,CXO中的“X”是一种代称,代表公司里的一种特定职务。其中C表示首席(chief),O表示官员(officer),中间的字母表示具体的分工类别,比如行政、财务、营销等。CEO(Chief Ex.原创 2020-11-17 13:34:12 · 9686 阅读 · 0 评论 -
JAVA面试题 2020-11-09
一、Java 基础接口和抽象类有什么区别?实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。 构造函数:抽象类可以有构造函数;接口不能有。 main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方法。 实现数量:类可以实现很多个接口;但是只能继承一个抽象类。 访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符。普通类和抽象类有哪些区别?普通类不能包含抽象方法,抽象类可以包原创 2020-11-09 13:24:09 · 480 阅读 · 0 评论 -
List、Set、Map 之间的区别
原创 2020-11-06 16:51:14 · 99 阅读 · 0 评论 -
Java异常
1 基本概念java.lang.Throwable是所有异常的根java.lang.Error是错误信息java.lang.Exception是异常信息2 Exception一般分为Checked异常和Runtime异常,所有RuntimeException类及其子类的实例被称为Runtime异常,不属于该范畴的异常则被称为CheckedException。2.1 Checked异常只有java语言提供了Checked异常,Java认为Checked异常都是可以被处理的.原创 2020-11-05 15:17:19 · 75 阅读 · 0 评论 -
单例模式-控制实例数目,5种写法 :懒汉,恶汉,双重校验锁,枚举和静态内部类。
单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点!目录懒汉(线程不安全)饿汉静态内部类枚举双重校验锁(jdk1.5)懒汉(线程不安全)public class Singleton { private static Singleton instance; private Singleton (){} public static synchronized Singleton getInstance() { if (i...原创 2020-11-05 14:56:06 · 209 阅读 · 0 评论 -
软件生存周期模型
文章目录 软件生存周期过程 软件生存周期 软件生存周期过程 软件生存周期模型 软件生存周期过程和模型的关系 经典模型介绍 瀑布模型(最经典的模型) 原型模型 RAD模型 增量模型 螺旋模型 RUP模型 软件生存周期过程软件生存周期 软件生存周期(software life circle)又称软件生命期,生存期。它是指从形成软件开发概念开始,到软件投入使用,再到软件失去价值.原创 2020-10-30 15:53:23 · 1384 阅读 · 0 评论