鸭哥聊Java

被用户删除
其他

最全Java面试题库文档!总共651页!

最近很多很多读者私信问我有没有最新的面试题,于是我近期给大家整理了一波,《最全Java面试题库》分为数十份pdf文档,总共有651页面试题!总共651页Java面试题!!!包含Java
2022年7月18日
被用户删除
其他

这篇 MySQL 索引和 B+Tree 讲的太通俗易懂!

Tree的一个变种,在B+Tree中,B树的路数和关键字的个数的关系不再成立了,数据检索规则采用的是左闭合区间,路数和关键个数关系为1比1,具体如下图所示:如果上图中是用ID做的索引,如果是搜索X
2021年11月17日
被用户删除
其他

狂野!利用Fastjson注入Spring内存马~

大家好,我是鸭哥。此篇文章在于记录自己对spring内存马的实验研究环境搭建搭建漏洞环境,利用fastjson反序列化,通过JNDI下载恶意的class文件,触发恶意类的构造函数中代码,注入controller内存马。1)组件版本:fastjson:
2021年11月16日
被用户删除
其他

Redis如何高效实现点赞、取消点赞功能

存储两种数据,一种是记录点赞人、被点赞人、点赞状态的数据,另一种是每个用户被点赞了多少次,做个简单的计数。由于需要记录点赞人和被点赞人,还有点赞状态(点赞、取消点赞),还要固定时间间隔取出
2021年11月15日
被用户删除
其他

在部队当程序员是什么体验?

大家好,我是鸭哥。最近在逛知乎在话题《有没有程序员愿意分享一下你的生活?》下面看到了一位曾经在部队当程序员然后退伍进大厂的答主的回答。内容还不错,今天转载给大家看看。原文如下:某大厂程序员,此前是某部队单位程序员,两类很不同的经历。在先前的部队单位在大西北地区,每天的工作节奏基本如下:早上统一起床晨跑3KM,洗漱打扫吃早饭;上午机房蹲着3小时干计划中的活儿,一周下来最多能写上三天代码,其余总是有一些奇奇怪怪的事情打扰,包括开会、打扫卫生、外出种树等等;中午午休俩小时,接着下午干活俩小时,再来个体能训练,3KM跑+其他专项折腾一小时,折腾完就是晚饭。后半夜偶尔值个班,第二天再休息半天算作补偿。工作量是真的不大,5个小时时间都被拆成两段;工作上的内容因为保密等缘故不能也不允许带到下班之后做(但是真有啥赶进度的事倒也不拦着你蹲机房加班就是了)。这种机制下,一个带管理UI的网络服务往往能被规划成以半年为单位计量的开发任务。写代码的时间本就只占很小一部分,更多在写文档材料上。对应的给了这么多时间也会有相对严格的验收检查机制,多少还是有压力的。技术栈总体来说偏老旧,更新迭代比较慢。身体健康还是比较有保障的,工作强度又不是很大,而且技术产出与工资没啥太大关系,总体氛围非常轻松。但至少我就会有一种恐慌感,担心日子久了技术能力会大幅落后于时代,于是会想着用空余的时间(晚上和周末)来学习和折腾自己感兴趣或者自认为有前途的东西,看看论文做做实现什么的。总之就是工作不充实,只好休息时间自己找刺激。后来因为各方面原因选择了退伍,退伍后还找了找时间去做一些比赛,包括天池等平台,发现似乎自己还真挺能跟得上技术潮流的,所以一头扎进了大厂码农行列。说起来不少人嘲讽各类大厂996,但至少现在我所在团队,以及我周边的团队,就没见过996的:首先就不6,周六是基本没人干活的,以至于真有时候万一需要周六找人,极大概率是找不到的;其次说99,我自己基本早上9点到公司(主要是之前住得远,而班车到站也就9点了),一层楼到了的人最多也就1/5;晚上我自己一般七点左右也就走了,倒是真有人常常会干到晚九点以后等着打车回家(一般也都是早上十点半熬过早高峰才到公司的人为主,也有一些中高P会时间比较长)。不过也遇到过那种特别狠的同事,曾经有遇到海外团队的一个leader,两边明明有时差,但就任何时候都可能找过来,消息也好电话也罢,半夜他在,大早上还在,到中午到下午人家都在……这就人家办事风格,实在是雷厉风行,合作体验反倒是特别好。现在做的活儿偏底层,基础设施,最主要的部分都是C++为主(差不多能干成语言律师),部分东西得写内核的玩意,写C;周边工具则是什么都有,Golang
2021年11月13日
被用户删除
其他

太强了!ApiPost 横空出世,为国人而生,Postman 可以扔了。。

请求响应点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie等。注意:返回数据默认是Pretty模式,便于查看
2021年11月12日
被用户删除
其他

SpringBoot 面试杀手锏:自动配置原理

Boot关于自动配置的源码在spring-boot-autoconfigure-x.x.x.x.jar中:当然,自动配置原理的相关描述,官方文档貌似是没有提及。不过我们不难猜出,Spring
2021年11月12日
被用户删除
其他

Java8 Stream流递归,几行代码搞定遍历树形结构

大家好,我是鸭哥。可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看,代码实现为了实现简单,就模拟查看数据库所有数据到List里面。实体类:Menu.java/**
2021年11月11日
被用户删除
其他

快手二面:引入RabbitMQ后,你如何保证全链路数据100%不丢失?

大家好,我是鸭哥。我们都知道,消息从生产端到消费端消费要经过3个步骤:1、生产端发送消息到RabbitMQ;2、RabbitMQ发送消息到消费端;3、消费端消费这条消息;这3个步骤中的每一步都有可能导致消息丢失,消息丢失不可怕,可怕的是丢失了我们还不知道,所以要有一些措施来保证系统的可靠性。这里的可靠并不是一定就100%不丢失了,磁盘损坏,机房爆炸等等都能导致数据丢失,当然这种都是极小概率发生,能做到99.999999%消息不丢失,就是可靠的了。下面来具体分析一下问题以及解决方案。生产端可靠性投递生产端可靠性投递,即生产端要确保将消息正确投递到RabbitMQ中。生产端投递的消息丢失的原因有很多,比如消息在网络传输的过程中发生网络故障消息丢失,或者消息投递到RabbitMQ时RabbitMQ挂了,那消息也可能丢失,而我们根本不知道发生了什么。针对以上情况,RabbitMQ本身提供了一些机制。事务消息机制事务消息机制由于会严重降低性能,所以一般不采用这种方法,我就不介绍了,而采用另一种轻量级的解决方案——confirm消息确认机制。confirm消息确认机制什么是confirm消息确认机制?顾名思义,就是生产端投递的消息一旦投递到RabbitMQ后,RabbitMQ就会发送一个确认消息给生产端,让生产端知道我已经收到消息了,否则这条消息就可能已经丢失了,需要生产端重新发送消息了。通过下面这句代码来开启确认模式:channel.confirmSelect();//
2021年11月10日
被用户删除
其他

程序员,太卷了!!!

导入导出!3、到底如何保证线程安全,你真的清楚吗?4、基于Java的疫情防控管理系统点击下方公众号回复关键字【666】领取资料我就知道你会点赞+“在看”
2021年11月9日
被用户删除
其他

到底如何保证线程安全,你真的清楚吗?

大家好,我是鸭哥。一、线程安全等级之前的博客中已有所提及“线程安全”问题,一般我们常说某某类是线程安全的,某某是非线程安全的。其实线程安全并不是一个“非黑即白”单项选择题。按照“线程安全”的安全程度由强到弱来排序,我们可以将java语言中各种操作共享的数据分为以下5类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。1、不可变在java语言中,不可变的对象一定是线程安全的,无论是对象的方法实现还是方法的调用者,都不需要再采取任何的线程安全保障措施。如final关键字修饰的数据不可修改,可靠性最高。2、绝对线程安全绝对的线程安全完全满足Brian
2021年11月8日
被用户删除
其他

再也不续费了,免费的 SSH 工具更好用!

导入导出!3、安排几款实用的内网穿透工具(加教程)4、基于Java的疫情防控管理系统点击下方公众号回复关键字【666】领取资料我就知道你会点赞+“在看”
2021年11月8日
被用户删除
其他

史上最全的 Excel 导入导出!

大家好,我是鸭哥。喝水不忘挖井人,感谢阿里巴巴项目组提供了easyexcel工具类,github地址:https://github.com/alibaba/easyexcel环境搭建easyexcel
2021年11月7日
被用户删除
其他

基于Java的疫情防控管理系统

大家好,我是鸭哥。项目介绍通过对依社区为单位进行人群的管理,以及疫苗的情况,包括小区状况,通过RBAC进行角色与用户之间的权限管理。项目环境-IDEA、Mysql数据库,Tomcat服务器,SpringMVC,SpringBoot,AOP,拦截器,过滤器,全局异常,RBAC权限控制等。1、登录模块(注册)核心代码:service层@Servicepublic
2021年11月6日
被用户删除
其他

安排几款实用的内网穿透工具(加教程)

使用方法以下使用方法均摘自:http://rootkiter.com/EarthWorm/以下所有样例,如无特殊说明代理端口均为1080,服务均为SOCKSv5代理服务.该工具共有
2021年11月5日
被用户删除
其他

SpringBoot+Kafka+ELK 完成海量日志收集(超详细)!

大家好,我是鸭哥。整体流程大概如下:服务器准备在这先列出各服务器节点,方便同学们在下文中对照节点查看相应内容SpringBoot项目准备引入log4j2替换SpringBoot默认log,demo项目结构如下:pom
2021年11月4日
被用户删除
其他

面试必问!Spring @bean 和 @component 注解有什么区别?

AnnotationConfigApplicationContext();ctx.register(AppConfig.class);ctx.refresh();MyBean
2021年11月3日
被用户删除
其他

面试官:如何防止 Java 源码被反编译?我竟然答不上来。。

大家好,我是鸭哥。java作为解释型的语言,其高度抽象的特性意味其很容易被反编译,容易被反编译,自然有防止反编译措施存在。今天就拜读了一篇相关的文章,受益匪浅,知彼知己嘛!!之所以会对java的反编译感兴趣,那是因为自己在学习的过程中,常常需要借鉴一下别人的成果(你懂的...)。或许反编译别人的代码不怎么道德,这个嘛......废话不多说,正文如下:常用的保护技术由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已,因为这些方法都有自己的使用环境和弱点。1.
2021年11月2日
被用户删除
其他

如何优雅的调用第三方接口

大家好,我是鸭哥。在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。使用流程【1】准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的restTemplate来调用,上面有调用接口的方法【分为Get和Post方式的有参和无参调用】:package
2021年11月1日
被用户删除
其他

Java面试官:为什么不把基本类型放堆中呢?

大家好,我是鸭哥。为什么要把堆和栈区分出来呢?第一,从软件设计的角度看,栈代表了处理逻辑,而堆代表了数据。这样分开,使得处理逻辑更为清晰。分而治之的思想。这种隔离、模块化的思想在软件设计的方方面面都有体现。第二,堆与栈的分离,使得堆中的内容可以被多个栈共享(也可以理解为多个线程访问同一个对象)。这种共享的收益是很多的。一方面这种共享提供了一种有效的数据交互方式(如:共享内存),另一方面,堆中的共享常量和缓存可以被所有栈访问,节省了空间。第三,栈因为运行时的需要,比如保存系统运行的上下文,需要进行地址段的划分。由于栈只能向上增长,因此就会限制住栈存储内容的能力。而堆不同,堆中的对象是可以根据需要动态增长的,因此栈和堆的拆分,使得动态增长成为可能,相应栈中只需记录堆中的一个地址即可。第四,面向对象就是堆和栈的完美结合。其实,面向对象方式的程序与以前结构化的程序在执行上没有任何区别。但是,面向对象的引入,使得对待问题的思考方式发生了改变,而更接近于自然方式的思考。当我们把对象拆开,你会发现,对象的属性其实就是数据,存放在堆中;而对象的行为(方法),就是运行逻辑,放在栈中。我们在编写对象的时候,其实即编写了数据结构,也编写的处理数据的逻辑。不得不承认,面向对象的设计,确实很美。在
2021年10月31日
被用户删除
其他

【底层知识】谈谈Java集合中HashSet的原理及常用方法

HashSet构造HashSet有几个重载的构造方法,我们来看一下private
2021年10月30日
被用户删除
其他

为什么要合并HTTP请求?

对于CPU而言,是种负担,尤其是一般来说建立了连接以后,哪怕发回了请求,这个连接还会保持一段时间才会timeout。这种时候,维持连接是对服务器资源的一种巨大的浪费。3.
2021年10月29日
被用户删除
其他

Spring Boot实现定时任务的动态增删启停

cronTaskRegistrar.removeCronTask(task);}添加实现了CommandLineRunner接口的SysJobRunner类,当spring
2021年10月28日
被用户删除
其他

Java 内存泄漏排查,新技能Get!

OK,既然不影响线上服务,我准备先通过探测服务的接口把探测任务停掉再慢慢排查。结果给暂停探测任务的接口发请求好久也没有响应,这时候我才知道没这么简单。解决内存泄漏于是赶快登录探测服务器,首先是
2021年10月27日
被用户删除
其他

是时候扔掉 Postman 了,Apifox 真香!

请求响应点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie等。注意:返回数据默认是Pretty模式,便于查看
2021年10月25日
被用户删除
其他

你能说出Java中 检查异常 和 非检查异常 的区别吗?

exception(未检查异常),对于未检查异常也叫RuntimeException(运行时异常).对未检查的异常(unchecked
2021年10月24日
被用户删除
其他

1024程序员节福利大赏,别人家的公司真香~

大家好,我是鸭哥。虽然明儿才是传说中属于程序猿的节日,但各大互联网公司已经提前开整,我已经提前在朋友圈里感受到了不同氛围的节日氛围,为大家整合了以下几类:一、掏心窝子型有哪个程序员能对漂亮小姐姐说不?!天天在办公室撸代码的码农而言,在黑白的代码间,小姐姐就是天使一样的存在~没看错,是真人女仆出现了。我见过好事成双,
2021年10月23日
被用户删除
其他

Linux 系统中成功恢复已删除的文件

大家好,我是鸭哥。当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件。不过,幸运的是文件是可以通过一些方法恢复的。当用户删除了一个文件,该文件并没有消失,只是被隐藏了一段时间。这里将解释它是如何工作的。在一个文件系统中,有一个叫做
2021年10月23日
被用户删除
其他

面试官问:生成订单30分钟未支付,则自动取消,该怎么实现?

大家好,我是鸭哥。今天给大家上一盘硬菜,并且是支付中非常重要的一个技术解决方案,有这块业务的同学注意自己试一把了哈!在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别定时任务有明确的触发时间,延时任务没有定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务下面,我们以判断订单是否超时为例,进行方案分析方案分析(1)数据库轮询思路该方案通常是在小型项目中使用,即通过一个线程定时的去扫描数据库,通过订单时间来判断是否有超时的订单,然后进行update或delete等操作实现当年早期是用quartz来实现的(实习那会的事),简单介绍一下maven项目引入一个依赖如下所示
2021年10月22日
被用户删除
其他

Java必学的工具库,让你的代码量减少90%

大家好,我是鸭哥。工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用,如果刚工作的时候就有人告诉我使用这些工具类库,该多好!一块看一下有哪些工具类库你也用过。1.
2021年10月21日
被用户删除
其他

网络词语“ yyds!”的创造人被判刑了!

是如何实现线程间通信的吗?点击下方公众号回复关键字【666】领取资料我就知道你会点赞+“在看”
2021年10月21日
被用户删除
其他

JWT 和 JJWT,还傻傻分不清?

大家好,我是鸭哥。1.jwt是什么?JWTs是JSON对象的编码表示。JSON对象由零或多个名称/值对组成,其中名称为字符串,值为任意JSON值。JWT有助于在clear(例如在URL中)发送这样的信息,可以被信任为不可读(即加密的)、不可修改的(即签名)和URL
2021年10月20日
被用户删除
其他

你知道 Java 是如何实现线程间通信的吗?

大家好,我是鸭哥。正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(),object.wait(),object.notify(),CountdownLatch,CyclicBarrier,FutureTask,Callable
2021年10月19日
被用户删除
其他

0.2秒居然复制了100G文件?

所以当我们用cp命令去复制一个这样的文件时,那肯定迅速就完成了。总结好,我们再深入思考下,文件系统为什么能做到这一点?首先,最关键的是把磁盘空间切成离散的、定长的
2021年10月18日
被用户删除
其他

JVM应用度量框架Micrometer实战

大家好,我是鸭哥。1、前提spring-actuator做度量统计收集,使用Prometheus(普罗米修斯)进行数据收集,Grafana(增强ui)进行数据展示,用于监控生成环境机器的性能指标和业务数据指标。一般,我们叫这样的操作为”埋点”。SpringBoot中的依赖spring-actuator中集成的度量统计API使用的框架是Micrometer,官网是Micrometer.io。在实践中发现了业务开发者滥用了Micrometer的度量类型Counter,导致无论什么情况下都只使用计数统计的功能。这篇文章就是基于Micrometer分析其他的度量类型API的作用和适用场景。2、Micrometer提供的度量类库Meter是指一组用于收集应用中的度量数据的接口,Meter单词可以翻译为”米”或者”千分尺”,但是显然听起来都不是很合理,因此下文直接叫Meter,理解它为度量接口即可。Meter是由MeterRegistry创建和保存的,可以理解MeterRegistry是Meter的工厂和缓存中心,一般而言每个JVM应用在使用Micrometer的时候必须创建一个MeterRegistry的具体实现。Micrometer中,Meter的具体类型包括:Timer,Counter,Gauge,DistributionSummary,LongTaskTimer,FunctionCounter,FunctionTimer和TimeGauge。下面分节详细介绍这些类型的使用方法和实战使用场景。而一个Meter具体类型需要通过名字和Tag(这里指的是Micrometer提供的Tag接口)作为它的唯一标识,这样做的好处是可以使用名字进行标记,通过不同的Tag去区分多种维度进行数据统计。3、MeterRegistryMeterRegistry在Micrometer是一个抽象类,主要实现包括:1、SimpleMeterRegistry:每个Meter的最新数据可以收集到SimpleMeterRegistry实例中,但是这些数据不会发布到其他系统,也就是数据是位于应用的内存中的。2、CompositeMeterRegistry:多个MeterRegistry聚合,内部维护了一个MeterRegistry的列表。3、全局的MeterRegistry:工厂类io.micrometer.core.instrument.Metrics中持有一个静态final的CompositeMeterRegistry实例globalRegistry。当然,使用者也可以自行继承MeterRegistry去实现自定义的MeterRegistry。SimpleMeterRegistry适合做调试的时候使用,它的简单使用方式如下:MeterRegistry
2021年10月17日
被用户删除
其他

震惊!Go 标准库源码中竟然包含色情网站!

信息,果然有问题。信息显示这个域名是在今年三月份注册的,并且注册地是在中国山东。看到这,大家应该都猜得到是怎么一回事儿吧。其实就是某个开发者在阅读
2021年10月16日
被用户删除
其他

终于帮表妹搞定了springboot实现动态增删启停定时任务,nice!

cronTaskRegistrar.removeCronTask(task);}添加实现了CommandLineRunner接口的SysJobRunner类,当spring
2021年10月16日
被用户删除
其他

网易二面:Kafka为什么吞吐量大、速度快?

大家好,我是鸭哥。Kafka是大数据领域无处不在的消息中间件,目前广泛使用在企业内部的实时数据管道,并帮助企业构建自己的流计算应用程序。Kafka虽然是基于磁盘做的数据存储,但却具有高性能、高吞吐、低延时的特点,其吞吐量动辄几万、几十上百万。
2021年10月15日
被用户删除
其他

微信新功能:控制别人的微信!

版本中微信不再需要频繁访问用户相册也可快速发送图片了,这个问题上不会再产生误会了。鬼哥我虚惊一场,这要是直接关了这个功能,可就真的是麻烦大家以后发截图要多一些步骤了。在新更新的
2021年10月14日
被用户删除
其他

N个Linux耍酷命令,手把手教你如何技术撩妹!技术脱单

kobe.jpg执行结果如下;(致敬蜗壳)PS:可更换妹子的照片,ohohooneko我的系统里养了一只小猫,它的名字叫“爱你”你就是鼠标,我便是“爱你”,一直追着鼠标跑安装指令如下;sudo
2021年10月14日
被用户删除
其他

SSM框架——实现分页和搜索分页

}JSP页面接受部分我就不写了,每个人都一样,也就是结合JSTL和EL来写,(在循环输出的时候也做了判断,如果接受的参数为空,那么输出暂无商品,只有接受的参数不为空的时候,才循环输出,使用
2021年10月13日
被用户删除
其他

真实案例:Feign切换client到okhttp无法生效,被老大骂的有点慌!

大家好,我是鸭哥。提示:如果只看如何解决问题,请看文章的末尾如何解决这个问题场景描述最近项目中使用了feign当做http请求工具来使用、相对于httpclient、resttemplate来说,fegin用起来方便很多。然后项目有httptrace的需求,需要输出请求日志。所以就开启了feign自己的日志,发现它自带的日志是debug级别才能打印。而且是逐行打印的,看日志非常的不方便。所以需要输出json格式的日志最好。解决步骤引入feign依赖
2021年10月12日
被用户删除
其他

为什么阿里强制 boolean 类型变量不能使用 is 开头?

大家好,我是鸭哥。背景平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢还是用包装类好呢?例子1.其他非boolean类型private
2021年10月11日
被用户删除
其他

字节面试官: Java 是如何实现线程间通信的?

大家好,我是鸭哥。正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(),object.wait(),object.notify(),CountdownLatch,CyclicBarrier,FutureTask,Callable
2021年10月10日
被用户删除
其他

离职带走公司文档,滴滴这名员工的N+1飞了!

大家好,我是鸭哥。网友问:“离职的时候能否把以前自己做的东西留存,便于日后工作用于参考,这样算不算违规?”其实有这类想法的员工可真不是少数,别说员工了,很多中小公司面试还希望看看面试者上家写的代码!就我所知道的,不管是大厂还是小厂,员工离职带走一些代码、ppt之类的情况一直存在。我们今天借滴滴的一个案例来看看带走公司的代码、PPT等到底有没有错呢?在法律上会承担什么责任呢?王x与北京滴滴支付技术有限公司(以下简称滴滴支付公司)、北京嘀嘀无限科技发展有限公司(以下简称嘀嘀无限公司)因劳动争议一案,均不服北京市海淀区人民法院民事判决,向北京市第一中级人民法院提起上诉,该案现已审理终结。插一个题外话,该案件一审不对外公开,但二审发生了奇迹,全部公开了!王楠上诉事实与理由:一、滴滴支付公司违法解除劳动合同,应当支付违法解除劳动合同赔偿金。1.王x使用滴滴支付公司发放的U盘进行工作,公司未对该U盘进行加密是公司的责任,且滴滴支付公司员工均有使用未经加密U盘或者个人U盘进行工作的事实。2.即使该U盘认定系王x的私人物品,在工作期间王x使用,滴滴支付公司系统从未报警提示,滴滴支付公司并未因使用此U盘向王x本人提出异议。在2019年10月22日王x前往滴滴支付公司签署协商解除协议时,使用U盘是为交接工作,当天滴滴支付公司并未提示系统报警,于2天后才说系统报警要求配合公司调查,显属滴滴支付公司存在故意。3.王x并不存在《高压线政策》。并未侵占、盗用公司资产,在离开滴滴支付公司后,并未从事与原工作相关的事项,U盘中的资料对我毫无意义,所以主观上显然不存在故意侵占或者盗用。将U盘交回后,滴滴支付公司已经将其中的文件进行了改动。一审法院因在视频中陈述前后不一致,就认定诚信存在问题,因诚信问题作为判决依据显属不妥。二、关于加班工资一节。提交滴滴支付公司系统截图及钉钉截图,数据均系滴滴支付公司系统显示,证据不存在虚假问题。加班要提交申请并获批,显属滴滴支付公司对加班条款的自我解释,加班应当以具体工作时间,工作打卡记录为准,不能以获得批准为前提,加班是自然行为,申请不是加班的必要条件。滴滴支付公司员工普遍存在加班不申请的情况,加班提交申请显然违背所有工作的正常程序。滴滴支付不同意王x的上诉请求及理由:王x在2019年10月22日存在重大违规行为,用个人U盘拷贝了滴滴支付公司数据,严重违反了与滴滴支付公司签署的劳动合同、保密协议、员工手册、高压线政策的规定,滴滴支付公司依法解除王楠的劳动合同。U盘是王x个人私用的U盘,并非办公设备。王x作为滴滴支付公司员工,不得占有、使用。在滴滴支付公司员工手册、高压线政策中也进行了明确约定。只要王x存在违规拷贝的行为,滴滴支付公司有权解除与王x的劳动合同,不需要支付经济补偿金。王x对于滴滴支付公司的规定是知情的,滴滴支付公司在相关协议和邮件中向王x告知了规章制度的学习和签收地址,王x有条件去学习规章制度,违反的话就应承担相应的法律后果。王x的行为严重违反了滴滴支付公司规章制度的规定。滴滴支付公司对保密和信息安全进行严格的规定,不允许有任何的例外。滴滴支付公司对信息安全泄密行为是无法容忍的。双方劳动合同中写明,加班需要个人提起审批,滴滴支付公司实行加班审批制度,个人主动加班未审批不属于加班行为。王x加班证据的来源真实性无法确认,即便是真实的证据,也不属于滴滴支付公司安排的加班行为,属于王x对工作进行的沟通,不认可王x的加班行为,不应当支付加班工资。法院认定事实:滴滴支付公司变更前的名称为北京一九付支付科技有限公司。王x于2018年3月6日入职嘀嘀无限公司,2018年12月1日,经王x、嘀嘀无限公司及滴滴支付公司协商一致,将其劳动关系自嘀嘀无限公司转移至滴滴支付公司。2019年10月22日,滴滴支付公司向王楠出具了《劳动合同协商解除协议》,该协议载明:“···甲方为滴滴支付公司、乙方为王x···双方于2019年11月30日解除劳动关系···公司向王x支付经济补偿金92874元···经双方签字盖章后生效”。王x于2019年10月22日在该协议乙方签字确认处签字,滴滴支付公司未在签字确认处签章。2019年10月22日,王x使用带有滴滴支付公司LOGO的U盘自其工作电脑中拷贝相应资料。滴滴支付公司于2019年11月7日向王x出具了《解除劳动合同通知书》,内容载明“王x:···我们现在很遗憾地通知您,因您在:离职期间私自将公司涉及商业秘密的大量文件资料转移到个人U盘。公司决定解除与您的劳动合同,解除日为2019年11月7日,公司期权予以收回(如有)。您的工资及福利待遇也结算至解除日,您的未休法定年假0天、福利年假0天。”《解除劳动合同》未显示王x的签收信息。王x主张滴滴支付公司在2019年11月7日没有事实依据的情况下单方违法解除其劳动合同并不给予任何经济补偿,据此要求滴滴支付公司支付王x违法解除劳动合同赔偿金。滴滴支付公司部门HR无正当理由给王x打低绩效,诱导王x签署协商解除劳动关系协议。2019年10月22日,王x签署协商解除劳动关系协议后使用公司U盘拷贝资料,10月23日王x还与滴滴支付公司HR张某沟通部门更换事宜。10月24日HR才通知王x要求其配合公司调查使用U盘拷贝资料行为。拷贝资料时间、系统报警时间及调查时间相隔三天,事件时间不具备连续性,滴滴支付公司没有第一时间调查拷贝时间。10月25日其交还公司发放U盘,并且滴滴支付公司已经收回王x工作电脑,因沟通中个人安全受到威胁后报警,民警到现场调解并明确指出滴滴支付公司不得扣押任何员工及员工私人物品,不得发生冲突损坏财物,证明U盘为滴滴支付公司发放,王x持滴滴支付公司U盘拷贝资料并未违反两家公司保密协议。为此王x提交了如下证据予以证明:1.对话录音,为王x与滴滴支付公司刘某、高某1、高某2等人的录音,内容显示王x与谈话对方就绩效考核结果、王x离职事宜进行了沟通;2.王x与人力资源部高某1、张某的D-chat截图,内容显示双方就王x变更工作岗位、签署协议事宜进行了沟通;3.派出所接报案回执,内容显示上地派出所于2019年11月9日向王x出具了接报案回执;4.王x与人力资源部张某于2019年10月24日的D-chat截图,内容显示有如下对话:张某:如电话沟通,因公司系统预警你有从工作电脑上拷贝文件的行为,现在离职流程已被相关部门叫停。请于明天(10月25日)10:30携带当时拷贝的移动设备到数字山谷1号楼(滴滴大厦)4层,配合设备检测,在此之前请不要做任何操作。王x:可以,那我这边不离职了,配合公司设备检测。不同意与公司协商主动离职,把所有事情解释清楚···;5.王x与张某于2029年10月28日的D-chat记录显示有如下对话:王x:张某,你好,我确认下11月30日之前我是否到公司,电脑已经被收走了,公司发放的U盘也被收走了,我是否需要到公司上班?之前员工关怀的同事说不用去公司,等结果,请确认下,谢谢。张某:王x,你好!请你还是正常递交年假,完成年假清理。如需要你返回公司,公司会电话/D-chat通知你。谢谢!王x:张某,你好!我已签署协商离职协议,正如之前沟通,11月30日是我办理离职日期,公司按照协议赔偿,年假我会在此之前按照协议约定清理。我已经配合公司调查反馈,且在现场跟高某1和HR关怀组确认过电脑和公司U盘已交到公司,目前不用到公司上班,如有问题可以与高某1确认,如需我再返回公司,请及时通知,谢谢,签署的赔偿协议流程请你协调,如有变动请及时通知···;6.王x与刘某某的D-chat记录显示:“刘某某:您好,您的线上离职审批已完成,还需要在最后工作日下午(2点-6点)至员工服务大厅办理线下离职手续(提交工卡、电脑及其他资产、核实安全信息等)。若未按时完成离职手续办理,将会影响您的工资发放。若您已在最后工作日前离开公司,不方便现场办理,请发送邮件给XXX邮箱请求办理协助离职手续,谢谢。员工服务大厅联系方式:XXX北京市海淀区东北旺路8号院尚东·数字山谷滴滴大厦B1号楼2层[员工服务大厅-EEC]。王x:你好,我的最后离职时间是几月几号?与公司协商离职的协议什么时候返还给我。刘某某:抱歉哈,您的离职日还没到,等待后续通知就行。”另显示双方就王x工卡问题进行过沟通;7.王x与蔡某的录音,内容显示双方就王x绩效评分、休年假以及使用U盘拷贝文件事宜进行了沟通;8.王x与坚锐、黄某某、刘某1、张某、葛某的录音,内容显示各方就王x使用U盘拷贝数据是否违反了员工手册规定发生了争执;9.滴滴支付公司、嘀嘀无限公司与王x分别签署的《保密、知识产权归属、反商业贿赂及禁止招揽协议书》滴滴支付公司对上述证据的真实性认可,但主张公司不存在诱导逼迫王x离职的行为,只能证明双方存在沟通和接洽,最终没有达成一致。为此滴滴支付公司提交了如下证据予以证明:1.王x与嘀嘀无限公司、滴滴支付公司签署的劳动合同书2.《诚信&廉洁自律协议书》3.王x与滴滴支付公司、嘀嘀无限公司签署的《保密、知识产权归属、反商业贿赂及禁止招揽协议书》4.员工确认函5.公司主要制度公示及签收公告、6.员工系统截图7.王xIT资产出库单,内容系王x领用的IT资产品牌型号、数量等;8.王x与风控合规部谈话录像。内容显示:王x与滴滴支付公司白某某、葛某、吴某、高某1、刘某2等的谈话内容,内容显示各方就王x使用U盘拷贝文件资料事宜进行了沟通、争执,在长达三个多小时的对话中,最初王x告知白某某其拷贝后将U盘放在工位的抽屉未带出公司,十点左右从抽屉拿给公司。后葛某对U盘的修改时间提出质疑“我想问一下,如果U盘没有带出,为什么修改时间是昨天下午11点或10点43分?”,紧接着对王x是否将U盘带出公司提出质疑后,王x才承认其头一天将U盘带回家。而且在录像中,白某某、葛某、刘某2与王x还有如下几段对话:白某某:“所以我们会问您,同学为什么您把这么大量的文档,包括这么多手机号,总共有近1000条。本身这几年,对于咱们互联网行业,用户的个人隐私和整体的商业秘密,监测的是比较严格的,包括咱们公司自己本身的监管。然后我们也在对于员工的要求上,无论是出于交接,还是出于自己的学习,拷贝了这么多、大量的数据,其实是不符合公司对于工作流程的规定的。如果您想学习,或者想做其他事情,如果不拷贝C4级的数据,是不会进行预警的。您毕竟也是做产品的,您很了解这个事情”。王x答复“嗯”;白某某:“是这样的同学,这个表单上是我们系统预警到的文件名称。虽然有二十多页,但您大概看一下,就是这个里面,讲实话我们也考虑到您工作的行业和本身的文件内容,那么有一部分我们打开看了是包含咱们这些信息级数据的。所以昨天晚上紧急地把您叫回来了。”王x:“没问题”;白某某:“我们本身流程也是这样的,优先把C4、C3的数据删除,关于一些名称不太确认的,需要打开看。如果是您个人的就会保留,这个没问题”。葛某:“这个也是C4级的,这是···”。王x:“这个我没有拷贝啊”。葛某边展示电脑边说:“不是,这在你U盘里的。在你U盘里的。”王x:“啊?是吗?”葛某:“是你U盘里的”。王x:“那你可以删除啊”;白某某:“您当时是想做一个文件的备份是吗?”王x答复“不是文件备份,是我个人的资料,学习还有工作的这个资料,就是产品设计的”。白某某:“所以您当时没有意识到我拷贝了部分公司相对来说比较保密的数据”。王x答复“对。像其他什么司机的这些数据,我是从来都没有拷贝的···”。白某某:“但其实,其中这一部分文件是我们所关注的,那它恰好就在U盘上,才有了系统当中的预警”;王x:“我是不会动这个C4级的数据的。司机的数据我也没有拷贝的,这个事我很清楚。”白某某:“你1000多份文件都在这边,唯独少了几份。这个完全不是说技术上我们不能看到的”。王x:“你们可以查呀,我就是没有拷贝,我很清楚这些数据不能拷贝的。我拷贝的全都是我自己学习的一些产品的资料呀,那这些文件也都在呀。司机数据是运营活动的时候获得了,我就下载看了一下也没有外传啊。”白某某:“那您昨晚是对U盘做了操作了是吗?”王x:“我昨晚是查看了资料了”;王x:“对所以我从工作到现在我没有拷贝过公司的资料,只有在HR跟我谈离职的时候我才拷贝了自己的产品设计,我不知道我自己的产品设计是属于公司的资产,这个我觉得我···”。刘某2:“这涉及到公司的数据,这不仅仅是文档的问题。你看都是公司的机密数据啊,对吧。单量,这是公司最在意的东西了,还有人员的名册单啊之类的”。王x:“像运营啊、支付的这些数据,在培训的时候发给大家的。这也不是我单独要拷贝的”。刘某2:“这也是发给公司内部人员的”。王x:“那我也是公司内部人员啊”。刘某2:“对,但是你带走,这个动作是不可以的,对吧?你放在公司的电脑上没有问题。然后拷贝到第三方,不管是线上的,还是线下的,这都是绝对不允许的”;9.情况说明,内容显示王楠手写其身份证号、岗位名称、主要工作内容等信息,事实经过显示:“法院认为本院认为,关于劳动合同解除一节。双方争议焦点在于滴滴支付公司的解除行为是否合法。首先,从制度依据看,一方面滴滴支付公司规章制度对个人使用U盘拷贝资料进行了规定,另一方面滴滴支付公司及关联公司作为网约车行业和支付行业的企业,根据行业监管要求,负有极高的保密义务和信息安全保护责任,故相关工作人员亦应严格遵守保密和信息安全的相关规章制度。其次,从事实依据看,王x亲手所写的情况说明载明了王x于2019年10月22日使用公司活动发放的纪念U盘拷贝了其工作电脑桌面的文件。王x主张使用滴滴支付公司发放的U盘进行工作,滴滴支付公司未对该U盘进行加密是滴滴支付公司的责任,且公司员工均有使用未经加密U盘或者个人U盘进行工作的事实,即使该U盘认定系王楠的私人物品,王x在工作期间使用,滴滴支付公司系统从未报警提示,滴滴支付公司并未因使用此U盘向王x本人提出异议。对此本院认为,王x签收了滴滴支付公司的规章制度,其应当知晓不得拷贝公司数据的相关规定,且通过王x与风控合规部谈话录像内容显示其了解不能拷贝C4级的数据,滴滴支付公司员工表示不拷贝C4级的数据,系统不会进行预警。因此王x的上述理由均不能成立。关于U盘拷贝的具体数据,王x虽不认可司法鉴定意见书,并主张其交回U盘后滴滴支付公司对文件进行了改动,但其不申请鉴定,亦知晓不申请鉴定的相应法律后果,再结合王x与风控合规部谈话录像,在王x未提出相反的证据予以反驳的情况下,法院对滴滴支付公司所持的王x拷贝过鉴定意见书中数据的主张予以采信,其中很多数据并非王x所称的其个人资料。综上,王x使用个人设备拷贝公司数据的行为已经违反了滴滴支付公司的相关规章制度,滴滴支付公司据此与王x解除劳动合同并无不当,王x要求滴滴支付公司支付违法解除劳动合同赔偿金的上诉请求,缺乏事实与法律依据,本院不予支持。裁判结果驳回上诉,维持原判。来源:互联网坊间八卦程序员技术交流群有同学鸭哥说,现在进大厂太难了!鸭哥特意邀请了华为、腾讯、阿里的朋友进群,与大家一起交流经验,一起成长技术。有兴趣入群的同学,可以长扫描点击区域二维码,一定要注意:城市+昵称+技术方向,根据格式,可以更快地通过选择内容进入群。▲长按扫描最近技术热文2021
2021年10月10日
被用户删除
其他

SpringBoot+EasyExcel导入导出,好用到爆!

大家好,我是鸭哥。EasyExcel是阿里巴巴开源poi插件之一,主要解决了poi框架使用复杂,sax解析模式不容易操作,数据量大起来容易OOM,解决了POI并发造成的报错。主要解决方式:通过解压文件的方式加载,一行一行的加载,并且抛弃样式字体等不重要的数据,降低内存的占用。EasyExcel优势注解式自定义操作。输入输出简单,提供输入输出过程的接口支持一定程度的单元格合并等灵活化操作常用注解@ExcelProperty
2021年10月9日
被用户删除
其他

Java生成、解析二维码(附源码)

循环依赖,写得太好了!华为鸿蒙系统OpenHarmony源码库终于在Github正式上线点击世界公众号回复关键字【666】领取资料我就知道你会点赞+“在看”
2021年10月8日
被用户删除
其他

租“一日男友”:几百块可陪逛街牵手接吻,甚至... 网友:我有副业了~

大家好,我是鸭哥。放假回家最怕什么?长辈逼婚、催婚恐怕是不少年轻人最大的恐惧。为了面对父母的逼婚,网上很早便开始流行起租女友、男友回家的方式。最近,青年群体中再度流行起一种“一日男友/女友”的情感体验类服务,这种服务,再次将当代年轻人的恋爱观体现得淋漓尽致。通俗来讲,“一日男友”就是你花钱租来的一个为期一天的男友,他的价格从几元、几十元一小时到30分钟190不等。他可以陪你逛街、陪你聊天、陪你做任何恋人会做的事情,有的还能陪你牵手、接吻……小狼狗、小奶狗、柴犬......只要有钱,什么样的都能给你找到。在一些视频平台搜索关键词“一日男友”,可以看到许多博主在线下门店租一日男友的体验视频。直接在某些购物平台搜索“一日男友”,很多购买介绍及购买链接也会出现在你眼前,部分商家还会打着“给闺蜜生日送礼的最佳礼物”的旗号进行宣传。比起语音陪玩,“一日男友”最大的区别就是,不仅支持线上服务,还可以线下服务。顾客根据图片和声音就可以挑选“对象”,单纯语音聊天,价格是10块钱一小时,如有其它要求则需要另外加钱。且线下服务价格不菲,有的30分钟就要收费190元。还有些则直接明说:“牵手是要另外收费的,一次100元。”这些平台下面,还有很多购买过“一日男友”的用户晒出的购买评价,不少人都对买到的“一日男友”非常的满意。甚至还有些店里面的评论称:“不知不觉已经让他陪了我一周了,打算再给他下个‘包月’”。“一日男友”为什么会这么火?有专家称,“一日男友”的爆火的其中一个原因还是离不开父母对子女的逼婚,但更大可能还是受我国单身人口太多的影响导致的。有数据表明,在2018年我国单身成年人口达2.4亿,超过7700万人独居,到了2021年,单身人数会可能会上升到9200万人。有很多单身人士都表示:结不起、找不到、不想结。《2019年民政事业发展统计公报》数据显示,自2015年-2019年,结婚率连年下降。虽然“一日男友”或许真的会让人短暂地体验到爱情的感觉,但它并没有想象中的那么安全。这种新型的“体验式经济”游走在法律底线的边缘,不仅存在价格和人员管理混乱的情况,而且还会对消费者构成身体或者财产方面的危害。所以,无论是好奇也好,还是真的想体验恋爱的感觉,作为消费者的我们还是要把自己的安全保障放在第一位。那你对这种“一日男友”的“体验式经济”是怎么看呢?来源:扩展迷EXTFANS程序员技术交流群有不少同学给鸭哥说,现在进大厂太难了!赚钱太难!因此,鸭哥特意邀请了华为、腾讯、阿里的朋友进群,与大家一起交流经验,一起增长技术。有兴趣入群的同学,可长按扫描下方二维码,一定要备注:城市+昵称+技术方向,根据格式备注,可更快被通过且邀请进群。▲长按扫描近期技术热文华为鸿蒙系统OpenHarmony源码库终于在Github正式上线Win11
2021年10月7日
被用户删除
其他

图解 Spring 循环依赖,写得太好了!

大家好,我是鸭哥。前言Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。其实笔者本人对这类框架源码题还是持一定的怀疑态度的。如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。正文通常来说,如果问Spring内部如何解决循环依赖,一定是单默认的单例Bean中,属性互相引用的场景。比如几个Bean之间的互相引用:甚至自己“循环”依赖自己:先说明前提:原型(Prototype)的场景是不支持循环依赖的,通常会走到AbstractBeanFactory类中下面的判断,抛出异常。if
2021年10月7日
被用户删除
其他

华为鸿蒙系统OpenHarmony源码库终于在Github正式上线

是如何实现线程间通信的吗?2021年工业互联网50佳榜单:浪潮云6位、阿里云9位、华为11位、腾讯云13位、紫光云14位点击下方公众号回复关键字【666】领取资料我就知道你会点赞+“在看”
2021年10月6日