java程序员
文章平均质量分 68
Java大厂面试君
入山问樵,入水问渔
展开
-
为写论文,华人学者向Linux提交200多条「恶意代码」,结果整个大学都被Linux封了
近日,国外学术圈出现了一件「新鲜事」,明尼苏达大学的两位华人研究者在写论文时尝试将坏补丁(bad patch)放入 Linux 内核中作为「测试」,用于研究开源社区的漏洞。但当他们继续贡献「带 bug 代码」的时候,却发现 Linux 内核管理员 Greg Kroah-Hartman 终结了他们的行为,并将整个明尼苏达大学拉入了 Linux 黑名单。事情究竟是怎样的呢?此前,明尼苏达大学计算机科学与工程系博士生 Qiushi Wu 及其导师助理教授 Kangjie Lu 合作写了一篇《On the F原创 2021-04-23 19:57:45 · 298 阅读 · 0 评论 -
SpringCloud Alibaba - Nacos注册中心
父项目创建一个maven项目l-cloud-alibaba,将src目录删除,修改pom.xml内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mav原创 2021-04-22 16:13:37 · 1591 阅读 · 4 评论 -
Java 微服务能像 Go 一样快吗?
背景介绍我们希望通过实验了解 Java 微服务在运行速度上能否达到 Go 微服务的水平。目前,软件行业普遍认为 Java 已经过于陈旧、缓慢且无聊。而 Go 则成了快速、崭新以及酷炫的代名词。真是这样吗?我们想从数据的角度看看这样的印象是否站得住脚。我们希望建立一个公平的测试,因此创建了一项非常简单的微服务,其中不含外部依赖项(例如数据库),而且代码路径非常短(仅处理字符串)。我们在其中包含有指标及日志记录,因为似乎一切微服务都或多或少包含这些内容。另外,我们使用了小型、轻量化的框架(Helidon f转载 2021-04-16 21:10:12 · 108 阅读 · 0 评论 -
蚂蚁财富事业部java工程师社招面经分享,希望对大家有帮助!
蚂蚁财富事业部java工程师一面:亿级ip地址过滤排序算法和适用场景数据库的事务有什么用数据库的悲观锁和乐观锁数据的索引有什么用,怎么实现联合索引的匹配原则数据库万级变成亿级,怎么处理。分库分表,分片规则hash和取余数。使用mycat中间件实现。redis这种nosql和mysql有什么区别,讲了一遍redisSpring了解不,用到了哪些设计模式,说了四个,单例,工厂,代理,观察者,模板其实也算。web请求的过程,讲了浏览器到http服务器的过程,再讲了mvc的请求处理过程。你原创 2021-04-16 15:16:32 · 1401 阅读 · 0 评论 -
JVM进程诊断利器——Arthas
Arthas是阿里开源的在线jvm诊断分析工具, 采用了命令行交互的方式进行jvm管理分析, 引用官方文档来说, 它能带给你解决以下几个问题:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实时运.原创 2021-04-08 14:59:26 · 1157 阅读 · 0 评论 -
缓存的使用姿势:缓存穿透了怎么办?
在低缓存命中率的系统中,大量查询商品信息的请求会穿透缓存到数据库,因为数据库对于并发的承受能力是比较脆弱的。一旦数据库承受不了用户大量刷新商品页面、定向搜索衣服信息,查询就会变慢,大量的请求也会阻塞在数据库查询上,造成应用服务器的连接和线程资源被占满,最终导致你的电商系统崩溃。一般来说,我们的核心缓存的命中率要保持在 99% 以上,非核心缓存的命中率也要尽量保证在 90%,如果低于这个标准你可能就需要优化缓存的使用方式了。既然缓存的穿透会带来如此大的影响,那么我们该如何减少它的发生呢?本节课我就带你全面原创 2021-04-02 14:17:41 · 886 阅读 · 0 评论 -
RESTful
一、什么是RESTful1.1来源REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。Roy Fielding是 HTTP 规范的主要编写者之一、Apache服务器软件的作者之一、Apache基金会的第一任主席。1.2名称解释REST,即Resource Representational State Transfer的缩写。意思是:“表现层状态转移”。Resource:资源,即"数据",你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI原创 2021-03-31 19:38:55 · 9468 阅读 · 3 评论 -
大学四年不努力,出社会后浑浑噩噩深感无力,辞去工作,从头开始
重回首,去时年,揽尽风雨苦亦甜。夜阑珊,读无眠,听尽春言,每天都是新的一片,不再清闲,望着洒满月光的星星一路向前。今天收获了今年来的第一个offer。背景18年毕业,二本。大学四年,也就将就混了毕业证和学位证。我的大学就是三个字,玩玩玩。所有上课时间下课时间都贡献给了手机,电视剧。动漫。由于佛脚抱的好没挂过科。但也仅此而已。没拿到什么奖,没学到什么东西,没交到什么朋友,没谈过恋爱,没掌握一门能够安身立命的技能,毕业了找不到合适的工作。最重要的是,浪费了四年人生最美好的青春。没有专业技能,毕业后没找到原创 2021-03-30 12:54:46 · 1382 阅读 · 4 评论 -
Redis缓存设计
缓存优点加速读写:缓存通常是全内存的(例如Redis、Memcache),而存储层通常读写性能不够强悍,通过缓存的使用可以有效地加速读写,优化用户体验;降低后端负载:帮助后端减少访问量和复杂计算(比如很复杂的sql逻辑),很大程度上降低了后端的负载。缓存缺点数据不一致性:缓存层和存储层的数据存在着一定时间窗口的不一致性,时间窗口跟更新策略有关;代码维护成本:加入缓存后,需要同时处理缓存层和存储层的逻辑,增大了开发者维护代码的成本;运维成本:比如Redis Cluster,加入后无形中增加了运维成原创 2021-03-29 20:54:21 · 144 阅读 · 0 评论 -
一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)
同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。一、 计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础1. TCP/IP 的具体含义1. TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就转载 2021-03-28 13:25:55 · 287 阅读 · 0 评论 -
这下你知道为什么程序员要和产品干架了吧?
原创 2021-03-25 14:22:03 · 96 阅读 · 0 评论 -
【Linux】你平时是怎么查看日志的?
Linux查看日志的命令有多种: tail、cat、tac、head、echo等,本文只介绍几种常用的方法。1、tail最常用的一种查看方式命令格式: tail[必要参数][选择参数][文件]-f 循环读取-q 不显示处理信息-v 显示详细的处理信息-c<数目> 显示的字节数-n<行数> 显示行数-q, --quiet, --silent 从不输出给出文件名的首部-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒例如:tai原创 2021-03-25 13:46:22 · 635 阅读 · 0 评论 -
【真题分享】跟谁学Java后台研发岗真实面试经历,2021年春招必备!
大家如果有收到面试,要提前做好相关准备,珍惜每次的面试机会,祝愿大家都能找到心仪的工作!一面:自我介绍项目介绍(项目的贡献,负责的模块,自己说了下自己负责模块部分重构的地方)mysql 索引mysql 最左前缀原则事务隔离级别事务引发的问题mysql 的 RR 级别实现(一致性视图)SQL 的部分调优Http 3次握手Redis 的基本数据结构与RedisObjectArrayList 与 LinkedList 的区别单例模式的实现的几种方式会 ES 不会 RocketMQ原创 2021-03-15 14:00:21 · 297 阅读 · 1 评论 -
【真题分享】2021京东春招java开发面试
1.问项目2.HashMap底层实现,扩容阈值,具体怎么扩容,扩容优化,抖动函数,集合大小为什么是2的幂,为什么阈值是8(源码里是8-1),jkd1.7,1.8具体优化的地方。3.线程安全集合,ConcurrentHashMap,具体实现,jdk1.7,jkd1.8区别,分段锁,锁粒度,好像答的不够多,然后又挤出来一个计数方法,1.8计数特别麻烦。4.多线程相关,volatile原理,JMM,synchronize优化(还讲了对象头markword 和类元指针),reentrantlock原理,AQS原创 2021-03-15 13:43:03 · 328 阅读 · 0 评论 -
【java面试分享】百度核心搜索二面、三面(2021)
二面1 项目2 docker和kubenetes的原理和了解程度3 docker的cgroup了解么4 kubenetes的架构,扩容是怎么完成的。5 Java的四种引用6 Java的线程通信方式7 Linux的进程通信方式8 Java的线程池9 算法1 - N 1这些数中取出N个,问剩下的是哪个。。我说加起来相减,面试官说取巧了,不能这样。我说比较数组下标,他还是说取巧。于是我让他提示我一下,他说了排序再找。。额然后想了两个空间换时间的办法,一个是用hashmap遍历两个数组。原创 2021-03-15 13:10:42 · 148 阅读 · 3 评论 -
Spring面试题(2021)
什么是spring?Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些原创 2021-03-12 15:15:36 · 724 阅读 · 0 评论 -
各大公司Java面试题超详细总结(一)
Java内存模型:Java虚拟机规范中将Java运行时数据分为六种。1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到正确的位置,每条线程都需要一个独立的程序计数器,互不影响,该区域为“线程私有”。2.Java虚拟机栈:线程私有的,与线程生命周期相同,用于存储局部变量表,操作栈,方法返回值。局部变量表放着基本数据类型,还有对象的引用。3.本地方法栈:跟虚拟机栈很像,不过它是为虚拟机使用到的N原创 2021-03-11 22:01:44 · 320 阅读 · 0 评论