• avatar 小牛油1号 2022-01-14 12:19:08

    题解 | #简单密码#

    Java public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); String str = in.nextLine();

    来自 小牛油1号
    10
  • avatar 罅隙· 2022-01-14 12:29:50

    题解 | #旋转数组的最小数字# 左闭右开型,图解生动形象,C语言实现 [罅隙]

    目录名称 解题思路 最终代码 解题思路 1)为什么想到二分查找? 二分查找的本质的本质是二段性,只要满足二段性的问题都可以使用二分查找求解。在本题中二分查找的二段性体现在:最小值左边的单调增,最小值右边的单调增。且左边的元素都大于右边的元素。 2)如何解决分段单调的问题? 很简单,我们

    来自 罅隙·
    52
  • avatar tonyjxc 2022-01-14 12:35:12

    题解 | #旋转数组的最小数字#

    第三十六题 看到logn 就应该想到用二分法 找到变化的位置 也就是最小值 那么判断条件是什么? 就看middle和最右边谁大 如果说middle比右边大, 1.假设数组是这样:456123  middle是6 right是3 那么显然 变化的值在右边middle和r

    来自 tonyjxc
    00
  • avatar 君无颜 2022-01-14 12:37:07

    题解 | #判断一个链表是否为回文结构#

    要验证回文结构,核心就是正序和倒序是否相同,那第一时间想到的就是拿第一个和最后一个比,循环比较。 所以思想最简单的实现流程: 构建一个新链表,用来存倒序 然后正序链表和倒序链表进行对比即可。 /** * struct ListNode { * int val; * struct ListN

    来自 君无颜
    00
  • avatar 猫波波 2022-01-14 12:43:51

    题解 | 应该是对的吧

    SELECT uid, nick_name, achievement FROM user_info WHERE nick_name LIKE '牛客%号' AND achievement BETWEEN 1200 AND 2500 AND uid IN (

    来自 猫波波
    00
  • avatar 牛客367694306号 2022-01-14 12:47:13

    题解 | #尼科彻斯定理#

    我好傻啊,遍历了奇数序列 #include <string.h> #include <stdlib.h> int main() { int r=1; while(scanf("%d",&r)!=EOF) { int sum=0; int *n

  • avatar tonyjxc 2022-01-14 13:04:23

    题解 | #字符串的排列#

    第三十七题 c++的string、char不想折腾了 用python写了。利用递归的算法 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # #  # @param str string字符串  # @return string字

    来自 tonyjxc
    10
  • avatar 牛客946522264号 2022-01-14 13:14:09

    题解 | #统计每个月兔子的总数#

    #include <stdio.h> #include <string.h> //斐波那契递归 int f(int n); int main() { int n; while ((scanf("%d", &n)) != EOF) pri

  • avatar 牛客761929002号 2022-01-14 13:14:15

    题解 | #公务员面试#

    测试用例多组输入,计算平均数封装成函数,直接调用,每一次调用之后,将数组的地址传入函数即可,循环结束的条件是i==0的时候 #include<stdio.h> void Aver(int *a, int n){ int sum = a[0]; int max = a[0]

  • avatar 等待完善 2022-01-14 13:23:04

    题解 | #质数因子#

    Scan接收整数和Scanf("%d",&i)接收整数有什么区别? 用Scanf有一个用例无法通过: 10 2000 1999 1998 1997 1996 1995 1994 1993 1992&nb

    来自 等待完善
    00
  • avatar xqxls 2022-01-14 13:32:45

    题解 | #分割等和子集#

    题意整理 给定一个只包含正整数的数组nums。 问是否能从这个数组取出若干个数使得取出的数之和和剩下的数之和相同。 方法一(动态规划) 1.解题思路 可以转化为0-1背包问题。只要从数组中找出若干个数,使得这些数的和等于所有数之和的一半即可。假设数组所有数的累加和为sum,则背包的容量为sum/

    来自 xqxls
    00
  • avatar 牛客481234670号 2022-01-14 13:37:21

    题解 | #浙大不同难度题目的正确率#

    select qd.difficult_level,sum(case when qpd.result='right' then 1 else 0 end)/count(qpd.result) as correct_rate from user_profile as up inner join que

  • avatar 鲸鱼不是鱼🐳 2022-01-14 13:38:53

    2022年新鲜面经-字节跳动-已offer

    首发于 介绍 17 年毕业双非一本。面试抖音社区安全部门,以 java 进行面试。 字节一面 先进行自我介绍 问:数据库,中间件用了什么?答:mysql+postgres+kafka+redis 问:有用过 ThreadLocal 吗?使用的场景是什么?答:用过,在登录的时候记录用户的登录信息。

  • avatar 牛客859999193号 2022-01-14 13:40:13

    自媒体素材采集工具有哪些?这3个非常实用

    作为一个自媒体人,想写好文章,不光要会写,懂写,更应该知道的是自媒体如何去找素材。毕竟巧妇难为无米之炊,素材作为创作基础,相当重要。今天给大家分享一些自媒体素材搜集工具,你值得拥有: 01 热点素材——即时热榜 经常网上冲浪的小伙伴们都知道,一个热门的话题就是几百万的搜索量。这你

  • avatar 天乔巴夏、 2022-01-14 13:40:28

    题解 | #字符串内排序#

    #include<iostream> #include<algorithm> #include<string> using namespace std; int main() { string s; while(cin >> s)

    来自 天乔巴夏、
    00
  • avatar 牛客761929002号 2022-01-14 13:40:38

    题解 | #计算一元二次方程#

    注意一个点,4 0 0 测试用例,最后得到-0的原因是t==0的时候直接使用了-b,所以得到-0,正确写法应该还是规规矩矩的让他加0。-0+0 = 0 ">#include<math.h> int main(){ float a = 0; float b = 0;

  • avatar Huangyna 2022-01-14 13:42:01

    题解 | #计算商场折扣#

    import java.util.*; public class Main { public static void main(String[] args) { Scanner console = new Scanner(System.in); int price = console.nextInt

    来自 Huangyna
    00
  • avatar 天乔巴夏、 2022-01-14 13:46:33

    题解 | #后缀子串排序#

    #include<iostream> #include<string> #include<algorithm> #include<vector> using namespace std; int main() { string s;

    来自 天乔巴夏、
    00
  • avatar 青笙 2022-01-14 13:48:15

    题解 | #牛牛玩平板#

    欲解此题,首先要明白题目的意思。其实无论n个图形怎么排列,牛牛获得的最大的分数都是不变的。那我们就不需要对n个图形的大小进行排列了,我们直接用一个数组将n个大小的图形装入数组中,接下来通过算法来求得。它的算法机制其实也很简单,用一个循环遍历,遍历1~n-2索引(也可以是其他的,具体的以个人思路决定)

    来自 青笙
    00
  • avatar 士裕 2022-01-14 13:49:25

    题解 | #对称平方数1#

    王道书上的分析: 本题的本质是,求[0 * 0, 256 * 256]之间的反序数。由于反序数Reverse函数在例题2.2中已证,本题的枚举次数为256 * 256 = 65536,可以使用枚举法。 C++ #include <iostream> #include <math.

    来自 士裕
    00
  • avatar Huangyna 2022-01-14 13:52:59

    题解 | #判断学生成绩等级#

    import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String grade =scanner

    来自 Huangyna
    00
  • avatar fred-coder 2022-01-14 13:54:41

    题解 | #最小生成树#

    最小生成树算法 Kruskal,对所有边按照权重排序,利用并查集确定连通性,最终得出最小生成树的值 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 返回最小的花费代价使得这n户人家连接起来 # @param n int整型 n户人家的村庄 # @param

    来自 fred-coder
    00
  • avatar nullccxsy 2022-01-14 13:57:31

    Codeforces Round #765 (Div. 2)

    这场的难度梯度有点大,题面比较长,然后就可能大家花了很多时间读题,但其实cf的样例解释很详细,看不懂题面的话看看样例解释就懂了 A.Ancient Civilization 就是给我们n个数,给出一个上限l,要我们求一个数x使得∑1n\sum_{1}^{n}∑1n​|aia_{i}ai​ - x|最

    来自 nullccxsy
    10
  • avatar 倔强的皮卡丘啊 2022-01-14 13:57:56

    力扣 48. 旋转图像

    给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 解析: 情况一:顺时针转 90 度:先转置再左右镜像 1  2  3    7  4

  • avatar Java老程 2022-01-14 13:58:14

    INSERT语句引发的死锁

    两条一样的INSERT语句竟然引发了死锁,这究竟是人性的扭曲,还是道德的沦丧,让我们不禁感叹一句:卧槽!这也能死锁,然后眼中含着悲催的泪水无奈的改起了业务代码。 好的,在深入分析为啥两条一样的INSERT语句也会产生死锁之前,我们先介绍一些基础知识。 准备一下环境 为了故事的顺利发展,我们新建

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 13:58:38

    为何要配置环境变量?带你一探究竟

    一、前言 干了这么多年Java,配置环境变量都是第一步要做的,但是为什么要配置环境变量呢,又有什么用呢,今天哪吒就带你一探究竟。 二、百度百科 有事没事找百度,百度解释名词这一块做的是真的好。 1、环境变量简介 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,如临时文件夹位

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 13:59:02

    JVM调优的几种场景(这不收藏)

    最近很多小伙伴跟我说,自己学了不少JVM的调优知识,但是在实际工作中却不知道何时对JVM进行调优。今天,冰河就为大家介绍在阅读本文时,冰河假定大家已经了解了运行时的数据区域和常用的垃圾回收算法,也了解了Hotspot支持的垃圾回收器。 cpu占用过高 cpu占用过高要分情况讨论,是不是业务上在搞

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 13:59:25

    如何创建高性能的索引

    如何创建高性能的索引 EXPLAIN 类型分析 explain 指令可以帮助我们查看查询优化器 处理 执行计划 的一些细节信息 语法: explain + 执行计划 假如我们有这样的两张表(分类表和商品表),我们将结合explain 字段进行说明: #分类 CREATE TABLE c

    来自 Java老程
    00
  • avatar JLOONG 2022-01-14 13:59:37

    题解 | #获取每个部门中当前员工薪水最高的相关信息#

    核心思路就是两张特殊表: 表一(aaa):用来将部门表和薪水表数据整合到一张表上 表二(bbb):用来计算每个部门最高的薪水和对应部门编号 最后就是同时查询表一和表二,添加限制条件:部门必须对的上,而且薪水也对的上; 还有别忘了,部门编号排序。 SELE

    来自 JLOONG
    10
  • avatar Java老程 2022-01-14 13:59:56

    卧槽~ 一文搞懂 Redis 挖矿原理及如何防范

      笔者也曾经被挖矿病毒侵袭过,灰常难受,但是其实你只要了解入侵的手段就非常好防范了,今天我们就演示一下如果通过Redis进行提权获取远程服务器的Root用户。 1、首先我们需要一些先决条件 条件一:你首先要有一个Redis,并且我们要知道他的端口【默认6379】; 条件二:Red

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:00:16

    阿里P6、P7、P8、级别需要多少年的工作经验,还是因能力而定?

    阿里的职级系统设计是比较科学的,正在被很多大厂小厂在效仿。具体来说,每一级都是有明确的能力要求的。 层级 能力标准 P5 1. 在专业领域中,对公司职位的标准要求、政策、流程等从业所必需了解的知识基本了解,对于本岗位的任务和产出很了解,能独立完成复杂

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:00:39

    面试官:Netty中的缓冲区为什么比原生NIO更高效

    Netty自己的ByteBuf ByteBuf是为了解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的. JDK中ByteBuffer的缺点: 无法动态扩容 长度是固定的,不能动态扩展和收缩,当数据大于ByteBuffer容量时,会发生索引越界异常. A

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:01:00

    Why?Mybatis的一级和二级缓存都不建议使用?

    缓存是在哪起作用的? 个人认为mybatis一级缓存和二级缓存并不是一个很好的设计,工作中我基本上也不会使用一级缓存和二级缓存,因为一旦使用不当会造成很多问题,所以我们今天就来看看到底会有什么问题? 上一节我们介绍了Executor会调用StatementHandler执行sql,起一个承上启下

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:01:27

    Java规则引擎easy-rules详细介绍

    最近在思考一个基于规则进行挑选的技术重构,想通过规则引擎进行实现,借着这个机会正好可以详细了解一下规则引擎。本篇文章将会详细介绍规则引擎easy-rules的使用。 Easy Rules是一个简单但功能强大的Java规则引擎,提供以下特性: 轻量级框架和易于学习的API 基于POJO的开发

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:01:48

    10次面试9次被刷?吃透这500道大厂Java高频面试题后,怒斩offer

    很多Java工程师的技术不错,但是一面试就头疼,10次面试9次都是被刷,过的那次还是去了家不知名的小公司。 问题就在于:面试有技巧,而你不会把自己的能力表达给面试官。 应届生:你该如何准备简历,面试项目和面试说辞?Spring底层逻辑是什么? 1-3年经验的程序员:面试中你该讲哪些值钱的技

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:02:15

    这份Java面试八股文让300余人上岸大厂,2021都卷成这样了,眨眼迎来2022还不赶紧动起来?

    前言 2021即将过去,迎来2022春招将近,很多同学会问Java面试八股文有必要背吗?  我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。 国内的互联网面试,恐怕是现存的、最接近科举考试的制度。 而且,我国的八股文确实是独树一帜。以美国为例,北美工程师

    来自 Java老程
    01
  • avatar Java老程 2022-01-14 14:02:47

    看完这篇 Linux 权限后,通透了

    我们在使用 Linux 的过程中,或多或少都会遇到一些关于使用者和群组的问题,比如最常见的你想要在某个路径下执行某个指令,会经常出现这个错误提示 。 permission denied 复制代码 反正我大概率见到这个错误都是在使用 FTP 传输文件的时候,等了半天传输百分比还是零,我说网络这么慢

    来自 Java老程
    00
  • avatar Fatufo 2022-01-14 14:03:05

    题解 | #牛客每个人最近的登录日期(三)#

    联合查询 思路:当期登入用户与时间段后用户联合查询,找出都登入的用户,然后除以总用户数 1、建一个自增一天的用户表,date_add(date, interval 1 day),题解也有用自连接的; 2、对当天登入和几天后还有登入的用户去重计数; 3、总用户数,COUNT( DISTINCT lg.

    来自 Fatufo
    00
  • avatar Java老程 2022-01-14 14:03:11

    spring-cloud-gateway 入门使用

    1. 基本介绍 网关开发中一般指的是: 应用的统一流量入口,负责转发请求到指定服务; spring-cloud-gateway : 基于spring5.0, spring boot 2.0 , project reactor 等技术开发的网关,目的是为 微服务架构提供一种简单有效的统一的API路

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:03:32

    分布式接口幂等性、分布式限流(Guava 、nginx和lua限流)

    一、接口幂等性 接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:03:54

    字节是如何成为腾讯最可怕的对手的?张一鸣一语道破~

    说到互联网巨头,很多人都已经将字节跳动纳入其中,可是要知道其他大佬,经过了20余年的时间,才有如今的地位,而字节跳动成立至今仅仅7年。 如今,字节跳动时常被拿来与腾讯比较,因为他们的正面竞争几乎是注定的。腾讯从连接“人”出发,再连接“内容”,到连接一切;而字节跳动则从“内容”出发,触达用户情感,再

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:04:20

    微服务架构整体分析:优势与挑战

    微服务优势与挑战 1.1 微服务的优势 1.1.1 单一职责 微服务架构中的每个节点高度服务化,都是具有业务逻辑的,符合高内聚、低耦合原则以及单一职责原则的单元,包括数据库和数据模型; 不同的服务通过“管道”的方式灵活组合,从而构建出庞大的系统。 1.1.2 轻量级通信 通过REST

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:04:44

    腾讯二面:你们线程池是怎么做监控的?

    大部分情况下,线程池的运行情况对于使用者来说是个黑盒 运行情况不可知,会导致 生产出现事故问题排查困难,以及线程池参数难以定义 文章围绕线程池监控展开,讨论 线程池如何监控、监控的指标以及监控数据的存储展示 01 如何监控运行数据 设想一下,如果想监控线程池的运行数据,你会怎么操作

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:05:05

    微服务架构整体分析:优势与挑战

    1.1 微服务的优势 1.1.1 单一职责 微服务架构中的每个节点高度服务化,都是具有业务逻辑的,符合高内聚、低耦合原则以及单一职责原则的单元,包括数据库和数据模型; 不同的服务通过“管道”的方式灵活组合,从而构建出庞大的系统。 1.1.2 轻量级通信 通过REST API模式或者RPC框

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:05:29

    Java锁与非阻塞算法的性能比较与分析+原子变量类的应用

    15. 原子变量与非阻塞同步机制 在java.util.concurrent 包中的许多类, 比如Semaphore 和ConcurrentLinkedQueue, 都提供了比使用Synchronized 更好的性能和可伸缩性. 本部分将介绍这种性能提升的利器:原子变量和非阻塞的同步机制.

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:05:50

    腾讯二面:你们线程池是怎么做监控的?

    大部分情况下,线程池的运行情况对于使用者来说是个黑盒 运行情况不可知,会导致 生产出现事故问题排查困难,以及线程池参数难以定义 文章围绕线程池监控展开,讨论 线程池如何监控、监控的指标以及监控数据的存储展示 01 如何监控运行数据 设想一下,如果想监控线程池的运行数据,你会怎么操作

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:06:12

    掌握这篇SpringBoot薪资直涨40%,还怕进不了大厂?

    前言: SpringBoot的好处是把Java2EE的各项技术的整合变得非常的简单,但是也有它的缺点,它的封装性太强,如果你想了解SpringBoot底层的原理,你必须对SpringMvc、Spring注解等比较了解,你才能更好的去了解SpringBoot底层原理。 同时它在阿里也是一种非常重要

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:06:35

    阿里大咖打造的(DDD)领域驱动设计:核心对应之道,直登GitHub榜首~

    虽然身为架构师,设计一个高质量的架构依然是复杂与困难的。 简单来说,动用大量的资源只为了一套优质的三高架构并不正确,而是该在了解当前业务现状的情况下,创造出灵活、可维护、健硕能成长的。 就拿近两年程序员行业饱受争议的DDD(领域驱动设计)来说,事实上,领域驱动设计的思维可以很好的解决企业的大型架

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:07:07

    微服务架构整体分析:优势与挑战

    微服务优势与挑战 1.1 微服务的优势 1.1.1 单一职责 微服务架构中的每个节点高度服务化,都是具有业务逻辑的,符合高内聚、低耦合原则以及单一职责原则的单元,包括数据库和数据模型; 不同的服务通过“管道”的方式灵活组合,从而构建出庞大的系统。 1.1.2 轻量级通信 通过REST

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:07:30

    效率神器~ 阿里P8大咖手写Spring cloud Alibaba(实战派)终级手册

    前两天,一位前同事告诉我一个好消息:他进阿里了。 很为他感到高兴,但同时也觉得这很正常,当年我部门内的小伙伴,有不少人去了阿里、京东 、小米的。 我们当时算是国内第一批使用微服务架构的团队了,小伙伴们都积累了很多 Spring Boot/Cloud 的使用经验,这些经验可能会对他们面试有

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:08:05

    不是说Spring三级缓存可以解决循环依赖吗?怎么我写的就GG了

    大家都知道Spring 通过三级缓存来解决循环依赖问题,但是我今天写出来个循环依赖,直接报错,难受啊,三级缓存并没有被关闭,本篇文章我们就来深入分析一下三级缓存,以及为啥我的项目启动不了,罪魁祸首就是@Async。 1. 什么是循环依赖? 上代码! @Service class Servi

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:08:28

    架构师才需要知道的知识:如何做容量预估和调优

    为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。 1、QPS保障目标 一开始就要明确定义QPS保障目标,以此来推算所需的服务、存储资源。可根据历史同期QPS,或者平时峰值的2到3倍估算。

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:08:50

    「技术原理」Spring Security的核心功能和加载运行流程的原理分析

    SpringSecurity的架构总览 Spring Security的简介说明 Spring Security对认证、授权和常见漏洞保护提供了全方位支持。使用的版本为:Spring Security 5.5.2。 概念释义 认证(Authentication):认证就是对试图访问

    来自 Java老程
    01
  • avatar Java老程 2022-01-14 14:09:15

    Java高级:条件队列与同步器Synchronizer的原理+AQS的应用

    14. 构建自定义的同步工具 类库中包含了许多存在状态依赖性的类,例如 FutureTask , Semaphore和 BlockingQueue等。在这些类中的一些操作中有着基于状态的前提条件,例如,不能从一个空的队列中删除元素,或者获取一个尚未结束的任务的计算结果,在这些操作可以执行之前,必须

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:09:36

    Redis系列之主从复制

    主从复制 基本介绍 Redis支持主从复制功能,可以通过执行slaveof(Redis5版本以后改成replicaof)或者在配置文件中设置slaveof(Redis5版本以后改成replicaof)来开启复制功能。 一主两丛 一主多从 主从基本配置

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:10:01

    背事故?分享 6 种常见的 Go 致命错误场景

    有一次事故现场,在紧急恢复后,他正在排查代码,查了好一会。我回头一看,这错误提醒很明显就是致命错误,较好定位。 但此时,他竟然在查 panic-recover 是不是哪里漏了,我表示大受震惊... 今天就由煎鱼给大家分享一下错误类型有哪几种,又在什么场景下会触发。 错误类型 error 第

    来自 Java老程
    00
  • avatar 线宝 2022-01-14 14:10:02

    关于SAS多个数据集 用 proc export 导出到一张EXCEL的细节

    整体思路是运用宏循环 形式1: data _null_; %do i=1 %to &varsum;     proc export data=outputcd.&&varname&i out

    来自 线宝
    00
  • avatar Java老程 2022-01-14 14:10:22

    面试官问我TCP三次握手和四次挥手,我真的是

    候选者:面试官你好,请问面试可以开始了吗 面试官:嗯,开始吧 面试官:今天来聊聊TCP吧,TCP的各个状态还有印象吗? 候选者:还有些许印象的,要不我就来简单说下TCP的三次握手和四次挥手的流程吧 候选者:说完这两个流程,就能把TCP的状态给涵盖上了 面试官:可以吧 候选者:在说TCP的

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:10:46

    名震GitHub,字节跳动内部顶级数据结构刷题学习笔记根本停不下来~~

     前段时间字节跳动发布了年前再招1万人的消息,从大部分的字节招聘岗位来说的话,Java研发岗位位居榜首! 这个消息一经发布就让大部分的程序员蠢蠢欲动,毕竟字节谁不想去? 字节跳动的岗位大多数看中的都是算法,所以说在算法部分不在强的小伙伴可以开始刷题了,今天给大家带来的就是一份来自字节内部的《排序

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:11:16

    Mac地址会不会重复?怎么做到全球唯一的?

    问大家一个计算机的基础知识:IP 地址和 Mac 地址为什么会产生?相信很多小伙伴都知道:IP 地址和 Mac 地址产生的目的是方便别人找到自己 Mac 地址有点像身份证号码,而 IP 地址就像门牌号码。在茫茫大海中仅凭一个身份证号码找到一颗别样的沙粒很难,但如果先找到具体的沙滩,沙滩划分很小的网

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:11:39

    Rust 社区 RFC 导读 | 构建安全的 I/O

    动机 最近Rust官方合并了一个RFC,通过引入I/O安全的概念和一套新的类型和特征,为AsRawFd和相关特质的用户提供关于其原始资源句柄的保证,从而弥补Rust中封装边界的漏洞。 Rust 标准库提供了 I/O 安全性,保证程序持有私有的原始句柄(raw handle),其他部分无法访问它。

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:11:59

    Redis系列之Redis持久化机制

    Redis持久化机制 为什么要持久化 如果Redis再次访问时,发现Redis的数据是空的,就会形成缓存穿透。更重要的是,因为Redis的数据是空的,所以客户端想要访问的key都没有,就会造成大量的请求就会瞬间打到数据库上,造成缓存雪崩(少量的key是穿透,大量的key是雪崩)。这个时候,数据库

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:12:22

    103收藏分享点赞破百万~ 字节算法大咖亲撰30W字数据算法笔记:GitHub标星93K~~

     数据结构与算法 什么是数据结构?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或者多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效果。数据结构往往同高效的检索算法和索引技术有关。 数据结构和算法思维导图 任何被明

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:12:54

    Redis系列之缓存原理&设计

    Redis系列之缓存原理&设计 缓存基本思想 缓存的使用场景 DB缓存,减轻服务器压力 一般情况下数据存在数据库中,应用程序直接操作数据库。当应用程序访问量上万,数据库压力突然增大,如果需要减轻数据库服务器的压力,有以下方法: 数据库读写分离 数据库分库分表

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:13:16

    如何设计一个高并发的秒杀架构?

    写在前面 高并发下如何设计秒杀系统?这是一个高频面试题。 这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。 秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:13:45

    不是很理解“零拷贝原理详解”? 没关系,带你一文解析~

    前言 零拷贝是老生常谈的问题啦,大厂非常喜欢问。比如Kafka为什么快,RocketMQ为什么快等,都涉及到零拷贝知识点。最近技术讨论群几个伙伴分享了阿里、虾皮的面试真题,也都涉及到零拷贝。因此本文将跟大家一起来学习零拷贝原理。 什么是零拷贝 传统的IO执行流程 零拷贝相关的知识点回顾

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:14:29

    SpringBoot启动流程

    本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类类图,来分析其启动逻辑和自动化配置原理。 一、SpringBoot启动流程图 二、SpringBoot启动入口 @EnableScheduling @EnableAsync @SpringBootApplication

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:14:54

    倍受关注的 Cilium Service Mesh 到底怎么玩? - 上手实践

    Cilium 是一个基于 eBPF 技术,用于为容器工作负载间提供安全且具备可观测性的网络连接的开源软件。 最近 Cilium v1.11.0 正式发布了,增加 Open Telemetry 的支持以及其他一些增强特性。同时,也宣布了 Cilium Service Mesh 的计划。当前 Cili

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:15:17

    深入浅出Mysql索引优化专题分享|面试怪圈

    文章纲要 该文章结合18张手绘图例,21个SQL经典案例、近10000字,将Mysql索引优化经验予以总结,你可以根据纲要来决定是否继续阅读,完成这篇文章大概需要25-30分钟,相信你的坚持是不负时光的: 前言 开篇小例子 单索引性能最优? 索引越多越好? 常用术语 主键索引(聚簇索引)

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:15:44

    一文搞懂,java中常用的定时任务框架-单体

    一、阅读收获 ✔️1. 了解常用的单体应用定时任务框架 ✔️2. 掌握定时任务在单体中如何使用 二、Timer+TimerTask 这是jdk自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。 使用这种方式可以让你的程序按照某一个频

    来自 Java老程
    00
  • avatar 芒果不是程序员 2022-01-14 14:15:49

    大厂面试分享(三面美团,四面百度)--测开面经

    百度 一面--------一个小时左右 1.自我介绍 2.开始讲项目,画项目的相关架构图,边画边讲解(当时脑子特别清晰,感觉我讲的面试官都懂了) 3.讲自己主要做的部分,面试官会根据你负责的部分进行提问,我当时做的数据库,面试官让我讲表结构,然后举个例子写

  • avatar Java老程 2022-01-14 14:16:05

    Redis不常用操作指南(基于SpringBoot2.3.2代码实现)

    1 前言 通常程序员在学习Redis的安装到使用是非常快速的,因为Redis的大部分操作都等同于Map的操作逻辑,只要了解大部分api结合百度能够快速的投入到CRUD的工作中去,所以今天来一期Redis不常用操作指南,当然这里的不常用更多是不会天天用,但是在项目中还是会有应用到的地方。

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:16:26

    来~ 手写一个spring-boot-starter

    前言 我们都知道,Spring Boot最大的特点就是自动装配,简化依赖,可以让我们快速的搭建项目。使用Spring Boot之后,我们要想在项目中使用一些其他框架,只需要引入对应的Starter依赖就可以了。 那么你在实际开发中是否也开发过一些基础功能,这些功能需要在你们的Spring B

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:16:48

    Java中List排序的3种方法

    在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作。比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进行排序,这个时候,我们就需要对 List 集合进行自定义排序操作了。​ List 排序的常见方法有

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:17:13

    炸锅了 Apache Log4j2 核弹级漏洞公开

    近日,Apache Log4j2 的远程代码执行漏洞刷爆朋友圈,该漏洞一旦被攻击者利用会造成严重危害。而且此次漏洞影响巨大,很多网站如百度等都是此次 Log4j 远程代码执行漏洞的受害者,很多互联网企业也都连夜做了应急措施。 漏洞详情: Apache Log4j 远程代码执行漏洞  严重程度:

    来自 Java老程
    00
  • avatar 旧梦一场雨 2022-01-14 14:17:17

    递归(dfs)自写全排列

    每一次递归结束之后生成一个全排列,且排列最初一定是有序的,结果也是 ">using namespace std; int a[20] = { 1,2,3,4,5,6,7,8,9,10,11,12,13 }; bool vis[20]; //记录第i个数是否用过 int b[20]; //生成的

    来自 旧梦一场雨
    00
  • avatar Java老程 2022-01-14 14:17:34

    看了我才明白实际性能调优是要这样,给大家奉上好不容易得来的这份阿里P7 写的,性能优化手册

    最近跟一些粉丝交流,发现很多程序员对一些基础问题只停留在“听说过”或者“使用过”,没有深入到技术细节里。很多现成的技术非常容易上手,会让我们产生自己很“厉害”的错觉,但是却忽略了其底层原理。这个其实是很危险的,技术的高低和掌握程度决定了我们的工资以及是否会被公司“优化”。 在我的上一家公司,系统研

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:17:59

    腾讯推出的这份 Netty 权威手册,完美的诠释 Netty~

     Netty 作为一个学 Java 的,如果没有研究过 Netty,那么你只能算一个初等 Java 程序员。如果你想知道 Nginx 是怎么写出来的,如果你想知道 Tomcat 和 Jetty 是如何实现的,如果你想实现一个简单的 Redis 服务器,那都应该好好理解一下 Netty,如果你要进阶

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:18:34

    分布式一致性协议之 2PC 和 3PC

    分布式系统的一致性协议之 2PC 和 3PC 在分布式系统领域,有一个理论,对于分布式系统的设计影响非常大,那就是 CAP 理论,即对于一个分布式系统而言,它是无法同时满足 Consistency(强一致性)、Availability(可用性) 和 Partition tolerance(分区容忍

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:18:56

    想做Java大咖?那就带你盘点一下最常用的类库

    想做Java界的大咖,那不得来看一看一个Java程序员要学多少东西才能走的更加长远。 昨天下载下来Java16尝尝鲜。一看,好家伙,足足有176MB大。即使把jmc和jvisualvm给搞了出去,依然还是这么大,真的是让人震惊不已。 但即使JDK足够庞大,它的功能也已经不够用了。我们需要借助于第

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:19:21

    请问你能自己实现一个AOP吗?

    包装一个切面通知信息 什么是切面通知信息,他是做什么的? 说白了就是将我们AOP中所需要的目标对象,方法匹配器,方法拦截器,同一整合到一个类中。这样我们后续实现代理类的时候,就可以通过关联关系(通俗的理解就是作为代理类的一个成员变量)使用这个切面通知信息类。 切面通知信息成员属性介绍 我们首

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:19:45

    她问我:为什么 MySQL 喜欢 B+ 树?我笑着画了 20 张图

    「为什么 MySQL 采用 B+ 树作为索引?」这句话,是不是在面试时经常出现。 要解释这个问题,其实不单单要从数据结构的角度出发,还要考虑磁盘 I/O 操作次数,因为 MySQL 的数据是存储在磁盘中的嘛。 这次,就跟大家一层一层的分析这个问题,图中包含大量的动图来帮助大家理解,相信看完你就拿

    来自 Java老程
    00
  • avatar 牛客487200401号 2022-01-14 14:20:10

    题解 | #二叉树中和为某一值的路径(三)#

    # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 #

  • avatar Java老程 2022-01-14 14:20:10

    直到认识他让我见识到什么才是“精通高并发与调优”,真不愧是阿里P8

    前言 前段时间聚会,经朋友介绍认识了个阿里P8的大佬,加了微信也聊了很多,向他请教了很多问题,他不仅仅回答了问题他可以举一反三,还介绍了他用过的高并发设计方案还有压测、流量控制等等等,好吧,我承认我被吊打了。 他说在他们阿里团队内部有一份由P9编写的《亿级并发设计》工作手册,目的就是让所有的成员

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:20:36

    iOS文本的多语言适配和实践

    背景 产品被多个国家使用,产品方希望产品拥有更好的多语言使用体验,所以设计师提供多种字体来适配指定的语言。基于以上背景,客户端需要快速给出解决方案并且上线。 字体包的多语言适配和实践 需求分析 首先,在了解产品需求和设计方案之后,结合业务研发人员的痛点,整理出以下需求。 产品和设计的需

    来自 Java老程
    00
  • avatar 王冠与高跟鞋 2022-01-14 14:21:00

    题解 | #图像相似度#

    本代码超过百分之2 #include<stdio.h> int main() {     int a=0,b=0,arr1[100][100],arr2[100][100]; //长宽和两个用来储存 1 0 的二

  • avatar Java老程 2022-01-14 14:21:01

    太可了~ 字节技术官DDD(领域驱动设计)手册,拆解业务代码首选

    前 言 至少20年前,一些顶尖的软件设计人员就已经认识到领域建模和设计的重要性,但令人惊讶的是,这么长时间以来几乎没有人写出点儿什么,告诉大家应该做哪些工作或如何去做。尽管这些工作还没有被清楚地表述出来,但一种新的思潮已经形成,它像一股暗流一样在对象社区中涌动,我把这种思潮称为领域驱动设计(dom

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:21:38

    Java安全——JVM类加载器

    Java类加载机制在Java安全知识体系中有着非常重要的地位,早在之前分析Shiro反序列化漏洞利用,以及学习蚁剑Java马,都和Java ClassLoader打过交道。笔者打算从把ClassLoader的原理、使用场景、自定义方式等多个方面剖析类加载器在Java安全中设计到的知识。 0x01

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:22:01

    阿里出品的全栈 GC 面试小册,上线仅 3 天 Github 获赞 85.9K,我爱了~

    Java 垃圾回收 我们都知道 Java 在运行时内存分为了五个部分:程序计数器、虚拟机栈、本地方法栈、堆、方法区。其中程序计数器、虚拟机栈、本地方法栈所占用的内存是不需要垃圾收集的,这三个区域的内存随着线程生,随着线程死,我们需要关注的其实只有堆和方法区这两块内存的垃圾收集。这时候就需要用到 G

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:22:33

    长文 字节跳动面试高频算法题(先码再看)

    今天给大家带来一篇面试高频算法题之栈&队列的详细解析,全文包含9道大厂笔试面试算法真题,一举拿下栈和队列这个知识点,让算法不在成为进入大厂的绊脚石。 1栈和队列 全文概览 基础知识 栈 栈是一种先进后出的数据结构。这里有一个非常典型的例子,就是堆叠盘子。我们在放盘子的时

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:23:03

    收好这份武林秘籍,让你分库分表再无烦恼

    互联网发展至今,各个公司企业的数据量都大幅增长,分库分表越来越多的被我们用到,那么我们应该如何针对我们自己的业务场景,对数据进行合理的划分,用最小的代价解决掉性能瓶颈。 1 分库分表的介绍 1.1 什么是分库分表? 分库分表其实是两个词 分库: 将一个库里的数据,分开放在多个库里 分表

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:23:24

    新提案:Go 泛型玩出花来了,switch type 登场

    新提案 新的提案内容是希望增加一个新的变种语句,允许在 switch 语句中使用泛型时,能够进一步便捷的约束其类型参数。 例如: switch type T { case A1: case A2, A3: ... } 复制代码 也就是 switch-type 语句的 T 类型可以是一个

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:23:45

    Servlet 原来是这个玩意儿,看完恍然大悟 ~

    1. 什么是 Servlet? 先让时间回到 25 年前,我国刚刚接入互联网不到两年时间。那时候的电脑长这个样子: 当时的网页技术还不是很发达,大家打开浏览器只能浏览一些静态的页面,例如图片、文本信息等。  随着时间的发展,静态页面已经不能满足于大部分用户的需求了。 用户打开浏览器不

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:24:27

    别告诉我你连线程池都不会用~ 一文搞懂线程池

    线程池作用 降低资源消耗:通过池化技术重复利用已创建的线程,降低线程创建和销毁造成的损耗。 提高响应速度:任务到达时,无需等待线程创建即可立即执行。 提高线程的可管理性:线程是稀缺资源,如果无限制创建,不仅会消耗系统资源,还会因为线程的不合理分布导致资源调度失衡,降低系统的稳定性。使用线程

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:24:48

    用 Go + Redis 实现分布式锁

    为什么需要分布式锁 用户下单 锁住 uid,防止重复下单。 库存扣减 锁住库存,防止超卖。 余额扣减 锁住账户,防止并发操作。分布式系统***享同一个资源时往往需要分布式锁来保证变更资源一致性。 分布式锁需要具备特性 排他性 锁的基本特性,并

    来自 Java老程
    00
  • avatar 外焦兔 2022-01-14 14:25:02

    扩展欧拉定理(应用)4@亿万星辰 洛谷P5091

    #include <stdio.h> int qpow(int b, int e,int s)//快速幂 {     int a = 1,c;     for(int i=e;i;i>>=1)//简化计算次数将1,2

    来自 外焦兔
    00
  • avatar Java老程 2022-01-14 14:25:09

    华为资深工程师总结的这本435页的书,居然把网络协议给趣谈了

    苦且绕不过去。经过多次放弃之后,我发现在我的职业生涯中,网络这一关无论如何也绕不过去。本来觉得写Java程序时可以依赖别人的库,所以就不用关心这么多底层的技术了,但是到后来才发现,服务数量一多,吞吐量一大,我们关心的不再仅仅是某个Java应用,而是要提升整个集群的性能,这时网络问题就会出现。而且大规

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:25:39

    项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?

    存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵经验,为什么不用? 随着现在后端编程标准化程度越来越高,各种编程模型层出不穷。作为Java开发人员,大部分人不免要接触VO,BO,PO,

    来自 Java老程
    00
  • avatar Java老程 2022-01-14 14:26:00

    JAVA泛型的定义理解以及类型形参的上限

    一、引子 List list = new ArrayList(); list.add(1); list.add(2); list.add("String"); System.out.println(list); List <String> lt1 = new Arr

    来自 Java老程
    00