字节二面:什么是伪共享?又该怎么避免伪共享的问题?

前言大家好,我是小林。周末的时候,有个读者跟我说,面试字节的时候被问到:「什么是伪共享?又该怎么避免伪共享的问题?」 这个其实是考察 CPU 缓存的问题,我之前的图解系统也有提到过。 今天,我再跟大家讲一下。正文CPU 如何读写数据的? 先来认识 CPU 的架构,只有理解了 CPU 的 架构,才能更好地理解 CPU 是如何读写数据的,对于现代 CPU 的架构图如下:​可以看到,一个 CPU 里通常会有多个 CPU 核心是,比如上图中的 1 号和 2 号 CPU 核心,并且每个
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

OCTO作为美团的高性能服务通信框架,究竟能不能称得上是杀手锏呢?

OCTO 是美团千亿调用量的分布式服务通信框架及服务治理的系统,可实现服务注册、服务自动发现、服务管理、容错处理、数据可视化、服务监控报警、服务分组等。本文总结了 OCTO 架构原理、Java 应用的集成方法、以其控制台的使用。1 概述OCTO 是 octopus(章鱼) 的缩写。是美团公司级基础设施,为公司所有业务提供统一的高性能服务通信框架,使业务具备良好的服务运营能力,轻松实现服务注册、服务自动发现、负载均衡、容错、灰度发布、数据可视化、监控告警等功能,提升服务开放效率、可用性及服务运维效率。
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

记一次难忘的面试体验,差一点没抗住面试官的连环Q

记录一次面试的题和自己的一些理解,通常一般都是自我介绍,项目介绍,问问业务以及后面就是吧拉吧拉的技术细节,反正一句话 “面试过程都是一连串的连环 Q”。如果大家觉得这些问题都能够游刃有余的回答大家出去拿一个高级的 title 问题不大。分布式锁部分redis 分布式锁超时后,第二个线程进入过后会有什么影响?无法保证幂等,可能发生未知问题。分布式锁锁超时如何实现?主线程中,增加延迟队线程池实现。2000 个线程持有锁如何续期呢?框架实现:应该是一个定时任务。 redisson 使用的是
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

大厂面经:四轮字节面试究竟问了些什么?

最近这段时间,身边的一个朋友刚刚拿到字节跳动的offer,一起来复盘一下他的offer之路,希望能给正在看机会的你有所帮助。这次面试总共经历了四轮,这四轮面试都是视频面试,其中前三轮是技术面试,最后一轮是hr面试。前三轮技术面试都有一个手动写代码的环节,在牛客网上写。情况也不完全一样,有的是先写代码后面试,有的是先聊一会儿再写代码。首轮面试1.1 算法题开始首先一道算法题,题目是链表上的数字相加。题目类似下面这道leetcode题。https://leetcode-cn.com..
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

SpringBoot很难?这样学可以省下你很多的功夫

SpringBoot 以其轻量级、内嵌 Web 容器、一键启动、方便调试等特点被越来越多的微服务实践者所采用。然而知其然还要知其所以然,本 Chat 就来讲解 SpringBoot 核心模块的实现原理,在面试的时候也是会被经常问到的,核心内容主要包括: spring-boot-load 模块,正常情况下一个类加载器只能找到加载路径的 jar 包里面当前目录或者文件类里面的 *.class 文件,SpringBoot 允许我们使用 java -jar archive.jar 运行包含嵌套依赖 jar .
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

JavaNIO编程模型详解:懂了这个更好懂Netty?

一、Java NIO 基本介绍Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的NIO 相关类都被放在 java.nio 包及子包下,并且对原 java.io 包中的很多类进行改写。NIO是面向缓冲区 ,或者面向 快 编程的。数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区中前后移动,这就增加了处理过程中的灵活性..
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

面试官问你关于JVM性能调优那些事儿,你要怎样优雅回答?

对于工作3年左右的Java程序员来说,在面试大厂的过程中,面试官可能不会太关注你做了多少个项目、你的CRUD水平如何。更多的是关注你对某项技术点的理解深度,所以说,工作3年左右的小伙伴一定要把自己的重心放到技术的深度上来。今天,我们先一起聊聊关于JVM性能调优的话题,本文的主要结构如下所示。常见面试题关于JVM,一道常见的面试题就是:Java中创建的对象是存储在JVM中的哪个区域的?例如,这里,我们简单的列举一行代码,如下所示。User user = new User();
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

2022年最新Java 后端开发面试总结,没有之一

前言​我分享的这份春招 Java 后端开发面试总结包含了 JavaOOP、Java 集合容器、Java 异常、并发编程、Java 反射、Java 序列化、JVM、Redis、Spring MVC、MyBatis、MySQL 数据库、消息中间件 MQ、Dubbo、Linux、ZooKeeper、 分布式 &数据结构与算法等 25 个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份 PDF 拿下众多大厂的 offer,今天在这里总结分享给到大家!我这篇分享篇幅可能有
分类: 业界资讯 发布时间: 05-14 00:05 阅读次数: 0

张三吃饭——竟吃出了HTTP中GET和POST的区别?

一文读懂并记住!!!记住!!!Http中GET和POST的区别!!!
分类: 企业开发 发布时间: 05-14 00:05 阅读次数: 0

Cisco Packet Tracer路由器配置、路由聚合实例

详细介绍了Cisco Packet Tracer中路由的运作机制,说明了路由聚合的原理并且通过实例验证计算的准确性
分类: 企业开发 发布时间: 05-14 00:05 阅读次数: 0

5分钟学会制作自动化脚本——自动化脚本辅助开发IDE——Selenium IDE介绍(测试工程师必备)

本文介绍了自动化测试的辅助工具,Selenium IDE的基本使用,有助于自动化工程师辅助编辑自动化脚本,新手初步建立简单自动化脚本
分类: 企业开发 发布时间: 05-14 00:05 阅读次数: 0

Selenium.Webdriver最新语法教程(附Chrome实例演示)

最新版Selenium语法教程,可供初学者学习使用、老手快速查询调库使用
分类: 企业开发 发布时间: 05-14 00:05 阅读次数: 0

Unittest自动化测试框架教程(一)——Python中测试用例基本框架介绍(附实例演示)

介绍了Python自动化测试工具unittest的基本使用框架,并通过实例解析相关语法
分类: 企业开发 发布时间: 05-14 00:05 阅读次数: 0

Unittest自动化测试框架教程(二)——Python中Fixture测试夹具的使用和setUp方法相关参数传递

介绍Unittest自动化测试框架中Fixture夹具的使用,并通过复习Python关键知识辅助理解setUp方法相关参数传递,并通过例子说明了全局实例属性和当局实例属性的生命周期问题。
分类: 企业开发 发布时间: 05-14 00:05 阅读次数: 0

第七章-mapreduce编程实战实验

实验的推进模式先配置好eclipse for hadoop直接借用WordCount去测试利用WordCount的基本程序框架,编写自己的代码要点:map/reduce的所在的类和方法的数据类型(Text,intWritable,NullWritable,LongWritable以及自定义的…)map和reduce程序主体的编写…建议 尽量自行去编写一个样例程序(如连接运算)差不多...
分类: 企业开发 发布时间: 05-14 00:04 阅读次数: 0

Hadoop再探讨

Hadoop的优化与发展HDFS2.0的新特性新一代资源管理调度框架YARNHadoop生态系统中具有代表性的功能组件Hadoop的优化与发展Hadoop1.0的核心组件(仅指MapReduce和HDFS,不包括Hadoop生态系统内的Pig、Hive、HBase等其他组件),主要存在以下不足:抽象层次低,需人工编码表达能力有限开发者自己管理作业(Job)之间的依赖关...
分类: 企业开发 发布时间: 05-14 00:04 阅读次数: 0

2020团体程序设计天梯赛

L1-1 嫑废话上代码 (5分)Linux 之父 Linus Torvalds 的名言是:“Talk is cheap. Show me the code.”(嫑废话,上代码)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出 Talk is cheap. Show me the code.。输入样例:无输出样例:Talk is cheap. Show me the code.#include<bits/stdc++.h>using
分类: 企业开发 发布时间: 05-14 00:04 阅读次数: 0

numpy和pandas学习

参考视频:【莫烦Python】Numpy & Pandas (数据处理教程)Numpy & Pandas 简介运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, 是 numpy 的升级版本。消耗资源少:采用的是矩阵运算,会比 python 自带的字典或者列表快好多NumpyNumpy 属性ndim:维度shape:行数和列数size:元素个数import numpy as np #为了方便使用numpy 采用np
分类: 企业开发 发布时间: 05-14 00:04 阅读次数: 0

1.PyTorch环境的配置及安装(Configuration and Installation of PyTorch)

参考PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】安装anaconda官网视频中所用python版本为3.6,因此需要到anaconda历史版本中找到适配相应版本的安装包对应地址文件地址可以自己设置,其余选项默认即可显卡准备查看显卡驱动是否正确安装了打开任务管理器如果能显示显卡型号则说明显卡驱动已经正确安装了如果没有则需要去官网下载管理环境conda create -n pytorch python=3.6创建专门的虚拟环境conda acti
分类: 企业开发 发布时间: 05-14 00:04 阅读次数: 0

2. Python编辑器的选择、安装及配置(PyCharm、Jupyter安装)

参考PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】P2~5PyCharm安装pyCharm官网这里安装的是专业版其他一路默认安装即可PyCharm配置创建好项目后在Python Console内分别输入import torch和torch.cuda.is_available()进行测试在Python Console内输入代码,在右边可以看到相应的属性jupyter配置安装了anaconda就已经安装了jupyter,但是此时在pytorch虚拟环境中是无法使
分类: 企业开发 发布时间: 05-14 00:04 阅读次数: 0