自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

快乐的工程师的博客

让更多的人体会到编程的乐趣

  • 博客(134)
  • 收藏
  • 关注

原创 Spring Boot + Vue + MySQL 技术背后的智能学习体验 毕业设计

Spring Boot + Vue + MySQL 技术背后的智能学习体验 毕业设计

2023-11-28 17:56:04 68

原创 Spring Boot + Vue仿知乎项目介绍 毕业设计

这个项目是一个综合性的在线平台,旨在为本科大学生提供一个展示和分享自己专业知识的空间。采用了Spring Boot和Vue这两个流行的技术框架,确保了项目的高效、稳定和可扩展性。在这个充满挑战和机遇的时代,不断学习新技能是非常重要的。通过参与这个项目,你将锻炼编码能力,积累项目经验,为自己的职业生涯打下坚实的基础。如果对项目有任何疑问或建议,请在评论区留言,我们将尽力解答。

2023-11-28 17:20:36 76

原创 【本科毕业设计】健身房管理系统介绍 Springboot+vue 前后端分离

健身房管理系统介绍 Springboot+vue 前后端分离项目

2023-11-27 14:03:29 180

原创 如何解决国内mac下载缓慢的问题——Mac版

如何解决国内mac下载缓慢的问题——Mac版

2023-11-05 22:34:59 306

原创 学会系统设计,轻松拿下大厂offer 第一天

我们通常从简单的事情开始,但是当系统的一个或多个部件出现瓶颈时,就需要新的设计。本课程的重点是让自己沉浸在精心挑选的系统设计工作中,使自己能够解决任何新的设计问题,无论是在系统设计面试中还是在办公室的任务中。本课程旨在设计能够随着用户数量的增加而扩展的系统,即使在不同的故障下也能保持可用,并以良好的性能实现功能目标。实际的系统构建是一个迭代过程,我们从相当好的设计开始,衡量其性能,并在下一次迭代中改进设计。真正的系统是复杂的,通常,我们可能需要做出适当的假设来正确地确定问题的范围。本课程由四十章组成。

2023-11-03 15:36:07 47

原创 Swift vs. Kotlin 漫谈系列之接口

Swift vs. Kotlin 漫谈系列之接口Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),「Kotlin vs. Swift」系列就是他们在互相切磋时的语录。内容会由简及深,慢慢深入。技术漫谈Swift:Hi, Kotlin 君, Swift 4 发布了,我们今天就基于 Swift 4 的新语法来讨论一下接口吧...

2020-03-29 09:11:44 412

原创 Swift Protocol 详解 - 协议&面向协议编程

Swift Protocol 详解 - 协议&面向协议编程之前一个帖子我总结了自己秋招面试经历,作为一个Swift开发者,有一个非常高频的问题就是:你觉得Swift相比于其他语言(或者OC来说)的特点和优势是什么?作为一个见识短浅的小白来说,这个问题实在是不知如何下手啊。这篇文章,也只是从一个小的角度切入,谈一谈Swift中的协议Protocol 和 Protocol Oriented ...

2020-03-29 09:11:11 1979

原创 Swift vs. Kotlin 漫谈系列之接口

Swift vs. Kotlin 漫谈系列之接口Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),「Kotlin vs. Swift」系列就是他们在互相切磋时的语录。内容会由简及深,慢慢深入。技术漫谈Swift:Hi, Kotlin 君, Swift 4 发布了,我们今天就基于 Swift 4 的新语法来讨论一下接口吧...

2020-03-29 09:10:18 310

原创 如何从大量数据中找出高频词?

如何从大量数据中找出高频词?题目描述有一个 1GB 大小的文件,文件里每一行是一个词,每个词的大小不超过 16B,内存大小限制是 1MB,要求返回频数最高的 100 个词(Top 100)。解答思路由于内存限制,我们依然无法直接将大文件的所有词一次读到内存中。因此,同样可以采用分治策略,把一个大文件分解成多个小文件,保证每个文件的大小小于 1MB,进而直接将单个小文件读取到内存中进行处理。...

2020-03-10 22:48:40 2520 2

原创 如何在大量的数据中找出不重复的整数?

如何在大量的数据中找出不重复的整数?题目描述在 2.5 亿个整数中找出不重复的整数。注意:内存不足以容纳这 2.5 亿个整数。解答思路方法一:分治法与前面的题目方法类似,先将 2.5 亿个数划分到多个小文件,用 HashSet/HashMap 找出每个小文件中不重复的整数,再合并每个子结果,即为最终结果。方法二:位图法位图,就是用一个或多个 bit 来标记某个元素对应的值,而键就是该...

2020-03-10 22:47:13 430

原创 如何在大量的数据中找出不重复的整数?

如何在大量的数据中找出不重复的整数?题目描述在 2.5 亿个整数中找出不重复的整数。注意:内存不足以容纳这 2.5 亿个整数。解答思路方法一:分治法与前面的题目方法类似,先将 2.5 亿个数划分到多个小文件,用 HashSet/HashMap 找出每个小文件中不重复的整数,再合并每个子结果,即为最终结果。方法二:位图法位图,就是用一个或多个 bit 来标记某个元素对应的值,而键就是该...

2020-03-10 22:47:04 508

原创 如何从 5 亿个数中找出中位数?

如何从 5 亿个数中找出中位数?题目描述从 5 亿个数中找出中位数。数据排序后,位置在最中间的数就是中位数。当样本数为奇数时,中位数为 第 (N+1)/2 个数;当样本数为偶数时,中位数为 第 N/2 个数与第 1+N/2 个数的均值。解答思路如果这道题没有内存大小限制,则可以把所有数读到内存中排序后找出中位数。但是最好的排序算法的时间复杂度都为 O(NlogN)。这里使用其他方法。方法...

2020-03-10 22:40:04 1257 1

原创 如何查询最热门的查询串?

如何查询最热门的查询串?题目描述搜索引擎会通过日志文件把用户每次检索使用的所有查询串都记录下来,每个查询串的长度不超过 255 字节。假设目前有 1000w 个记录(这些查询串的重复度比较高,虽然总数是 1000w,但如果除去重复后,则不超过 300w 个)。请统计最热门的 10 个查询串,要求使用的内存不能超过 1G。(一个查询串的重复度越高,说明查询它的用户越多,也就越热门。)解答思路...

2020-03-10 22:39:33 256

原创 如何在面试中介绍自己的项目经验 - hsm_computer - 博客园

如何在面试中介绍自己的项目经验在面试时,经过寒暄后,一般面试官会让介绍项目经验 。常见的问法是,说下你最近的(或最拿得出手的)一个项目。根据我们的面试经验,发现有不少候选人对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段或技术等方面和简历上的不匹配,这样就会造成如下的后果。1 第一印象就不好了,至少会感觉该候选人表述能力不强。2 一般来说,面试官会根据候选人介绍的项目背景来提问题,...

2020-03-07 17:19:34 219

原创 如何用 Python 快速开发一个网站

如何用 Python 快速开发一个网站Python 用来开发网站的框架很多,本次 Chat 选用 Django 来带大家开发一个简单的网站。网站开发需要掌握的知识比较多,但是我们是用开源框架可以大大减少我们的工作量,对底层实现原理也不需要完全了解。一、开发环境的搭建Django 是 Python 用来开发 Web 应用程序的一个框架,采用的 MTV 模式,实际上 MTV 模式和 MVC 模式...

2020-03-05 23:09:41 30849 5

原创 Go 工程师,月薪一万起

7 天从 Java 工程师转型为 Go 工程师为什么要舍弃 Java,投奔 Go?我从 2014 年开始接触 Java,对 Java 这门语言有着一种母语情结。相比于 C,Java 拥有面向对象、支持跨平台、垃圾回收等优秀特性。且 Java 的强大而成熟的生态体系、丰富的工具类等使 Java 能够支持了无数大型的系统架构。所以被国内以阿里为代表的广大企业用作编程主语言。那么既然 Java 这...

2020-03-01 21:57:26 767

原创 多线程,设计模式,Netty 实战,带你手写一个分布式消息队列

多线程,设计模式,Netty 实战,带你手写一个分布式消息队列开题什么是 MQ ?MQ 就是 Message Queue 的简写,消息队列中间件。用过 MQ 的同学应该都知道,MQ 的主要作用是应用程序的解藕和异步。如果我们在更高的层面去想,MQ 是不是可以理解为一种应用层的通信协议,它实现了多个应用之间的异步通信,同时 MQ 对于用户屏蔽了底层通信协议的实现,我们不管它的 HTTP,TC...

2020-03-01 21:56:19 618

原创 如何快速准备面试中的算法,获得 Offer?

如何快速准备面试中的算法,获得 Offer?现如今越来越多的公司在面试过程中会考察数据结构和算法。在最近几年,难度颇有上升趋势。因此作为求职者,在面试前刷刷题似乎已经成为准备过程中必不可少的环节了。在 5 年前,Leetcode 只有 200 道左右的题目,不仅数量少,而且题目种类也不全面。求职者为了刷算法,除了“泡” Leetcode 以外,还需要去看《剑指 offer》、《编程之美》、《编...

2020-03-01 21:55:13 925

原创 微服务架构深度解析与最佳实践

微服务架构深度解析与最佳实践微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?遗留的老系统需要如何考虑重构改造?有哪些坑需要我们注意?系统怎么在分布式服务...

2020-03-01 21:52:39 3297 1

原创 京东必考JVM 问题诊断快速入门

JVM 问题诊断快速入门JVM 全称为 Java Virtual Machine,翻译为中文 “Java 虚拟机”。本文中的JVM主要指 Oracle 公司的 HotSpot VM, 版本是 Java8(JDK8、JDK1.8 是同样的版本)。如今关于 JVM 的文章、书籍有很多。 有基础的,也有深入的。本文主要介绍各种简单工具的使用,穿插一些基本的知识点。 目的是为了让初学者快速上手,先实现...

2020-03-01 21:50:52 1175

原创 7天 Spring Boot从入门到精通

Spring Boot 工程化最佳实践Spring Boot 已经成为 Java 后端事实上的标准开发框架,目前已经演进到了 2.1.5 版本。在项目开发过程中,也逐渐形成了一些公认的不错的做法或者规范,本文试图将其沉淀总结为最佳实践,供后来人学习和使用。这些实践包含实际项目开发中的方方面面,包含但不限于工程实践、技术细节、规范流程、技术选型等,希望能让读者少走弯路,同时能在团队中形成相对统一的...

2020-03-01 21:49:54 396

原创 面试阿里必知的SQL面试题 100讲

SQL 常见面试题解析内容简介本文介绍并分析了 100 道常见 SQL 面试题,主要分为三个模块:SQL 初级查询、SQL 高级查询以及数据库设计与开发。文章内容结构如下图所示:本文主要使用三个示例表:员工表(employee)、部门表(department)和职位表(job)。下面是这些示例表的结构图:部门表(department),包含部门编号(dept_id)和部门名称(dept_n...

2020-03-01 21:48:23 12834

原创 如何系统有效地准备一场面试

如何系统有效地准备一场面试1. 澄清阶段澄清阶段的任务,是理清我们有什么、想要什么,明确自己的求职目标。这个阶段的工作,可以分为下面 6 部分:明确自己的职业价值观盘点自我价值筛选公司分析职位寻找亮点设定期望1.1 明确自己的职业价值观职业价值观是个人追求与工作有关的目标,从事满足自己内在寻求的活动时所追求的工作特质或属性,它是个体价值观在职业问题上的反映。换句简单的话讲...

2020-02-27 11:25:20 2462

原创 Node + TypeScript 实战肺炎疫情实时动态数据爬虫

Node + TypeScript 实战肺炎疫情实时动态数据爬虫爬虫来自维基百科:爬虫,网络爬虫(英语:Web Crawler),也叫网络蜘蛛(Spider)。通俗一点讲,就是一段自动化的代码,它会模拟人的行为,去浏览一些网站,然后把需要的、有价值的信息拿回来。我们这篇文章的目标是把全国新冠肺炎疫情实时动态:https://ncov.dxy.cn/ncovh5/view/pneumo...

2020-02-26 20:25:31 1089 1

原创 铁总在用的高性能分布式缓存计算框架 Geode

铁总在用的高性能分布式缓存计算框架 Geode什么是 Geode,有哪些特性官网定义Apache Geode 是一个数据管理平台,可在广泛分布的云架构中提供对数据密集型应用程序的实时、一致的访问。Geode 跨多个进程汇集内存、CPU、网络资源和可选的本地磁盘,以管理应用程序对象和行为。它使用动态复制和数据分区技术来实现高可用性、改进的性能、可伸缩性和容错性。除了作为分布式数据容器之外,Ge...

2020-02-26 20:25:03 2051 2

原创 三种新姿势帮你写出精美简历

Markdown 内容生成简历准备工作掌握 Markdown 基本语法。标题、内容强调、段落、代码块、图片链接等。掌握 HTML、CSS 基本语法,因为 Markdown 编辑器支持 HTML 内容。写简历Markdown 基本语法标题,使用 # 可代表 1~6 级标题。例如:### 表示三级标题。内容强调,在强调内容两侧分别加上 * 或者 _。例如:*斜体*、_斜体_ 表示斜...

2020-02-26 20:24:26 458

原创 企业 Maven 依赖管理层次结构设计

企业 Maven 依赖管理层次结构设计准备工作既然是企业使用,那么一定要有企业的 Nexus 私服,通过私服可以加快公司内部常用第三方依赖的下载速度,最重要的还是可以将企业内部的项目 deploy 到私服供企业内部项目使用。关于搭建 Nexus 以及简单的配置等内容可以参考:《企业 Maven 依赖管理层次结构设计 - 附录》中的 1 和 3 节内容。本文是直接使用 Nexus,所以...

2020-02-26 20:22:58 484 1

原创 带你逐行分析 HashMap 源码

带你逐行分析 HashMap 源码一、写在前面相信读者也看过了不少讲解 HashMap 源码的文章了,笔者认为,一切脱离源码去讲原理的都是泛泛而谈。一些所谓的原理大都是阅读源码之后的个人概括,这些概括参差不齐,再加上没有阅读源码,读者们是很难有切身体会的。正因如此,笔者逐行分析了 HashMap 的源码后,开启了本场 Chat。笔者在阅读 HashMap 源码的时候,曾对每个内部属性,每个内...

2020-02-26 20:21:07 274 1

原创 SwiftUI 学习笔记 01 - PlusOneSecond

核心要点如何通过Buttom按钮触发事件来改变Text的显示内容Text控件通过onApper绑定函数触发事件代码struct ContentView: View { @State var timeCount:Double = 0.0 @State var checkOut: Int = 0 var timer: Timer { Tim...

2020-02-25 10:58:01 184

原创 Java 集合底层原理剖析(List、Set、Map、Queue)

Java 集合底层原理剖析(List、Set、Map、Queue)温馨提示:下面是以 Java 8 版本进行讲解,除非有特定说明。一、Java 集合介绍Java 集合是一个存储相同类型数据的容器,类似数组,集合可以不指定长度,但是数组必须指定长度。集合类主要从 Collection 和 Map 两个根接口派生出来,比如常用的 ArrayList、LinkedList、HashMap、Hash...

2020-02-19 15:52:00 6297

原创 Java 工程师核心基础修炼

Java 工程师核心基础修炼1 Java 的异常分类及处理1.1 异常分类Throwable 是 Java 语言中所有错误或异常的超类。下一层分为 Error 和 Exception。 Error 类是指 java 运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全的终止。Exception 又有两个分支,一个是运行时...

2020-02-19 15:51:16 140

原创 Go 实战 :抽奖系统核心技术点实现

Go 实战 :抽奖系统核心技术点实现考验系统并发能力最常见的无非是秒杀、抽奖等业务场景。我们不妨以一个支持高并发的抽奖系统的设计和实现为例来进行 Go 语言的实战学习。要实现一个抽奖系统,我们首先需要一个比较合理的抽奖算法,保证每个人抽到奖品的概率是一致的,同时又需要避免奖品被很快抽完的情况。所以本文的第一部分会用三种思路来讲解如何去实现一个合理的抽奖算法。要具备高并发的能力,Go 的 ht...

2020-02-19 15:50:18 1623

原创 聊聊 Java String 源码的排序算法

聊聊 Java String 源码的排序算法前言Q:什么是选择问题? 选择问题,是假设一组 N 个数,要确定其中第 K 个最大值者。比如 A 与 B 对象需要哪个更大?又比如:要考虑从一些数组中找出最大项?解决选择问题,需要对象有个能力,即比较任意两个对象,并确定哪个大,哪个小或者相等。找出最大项问题的解决方法,只要依次用对象的比较(Comparable)能力,循环对象列表,一次就能解决。...

2020-02-19 15:49:48 109

原创 带你全面了解高级 Java 面试中需要掌握的 JVM 知识点

带你全面了解高级 Java 面试中需要掌握的 JVM 知识点JVM 内存划分与内存溢出异常概述如果在大学里学过或者在工作中使用过 C 或者 C++ 的读者一定会发现这两门语言的内存管理机制与 Java 的不同。在使用 C 或者 C++ 编程时,程序员需要手动的去管理和维护内存,就是说需要手动的清除那些不需要的对象,否则就会出现内存泄漏与内存溢出的问题。如果你使用 Java 语言去开发,你就...

2020-02-19 15:49:17 245

原创 JDK8 新特性最全讲解,囊括面试高频知识点

JDK8 新特性最全讲解,囊括面试高频知识点序言JDK 8 日渐成为项目开发中的主流。但平时在和很多小伙伴的交流和面试中,发现很多人仍停留在 JDK 7 及以前的认知层面,Lambda 表达式、方法引用、Stream 流、default 关键字,很少使用,甚至还有不少小伙伴不知道怎么用!!不客气地说,不掌握 JDK 8 的新特性,面试通过基本很难很难。换位思考,若不掌握,你面试不慌吗?本...

2020-02-19 15:17:05 1150

原创 Golang Web 实战

Golang Web 实战1. 前言在开发一个应用,也就是我们俗称 App 时,最低的配置是需要一个前端和一个后端。由前端技术人员为用户开发接触到的页面,由后端为前端的各类用户事件提供处理和数据响应。比较常见的,如手机 App 应用(QQ、微信),网页 Web 应用(GitChat、CSDN 页面),桌面应用(YY、QQ 游戏)…… 不管是什么应用,都需要有后端技术与之匹配。而我们今天介绍的,...

2020-02-19 15:16:38 1665

原创 多线程,设计模式,Netty 实战,带你手写一个分布式消息队列

多线程,设计模式,Netty 实战,带你手写一个分布式消息队列开题什么是 MQ ?MQ 就是 Message Queue 的简写,消息队列中间件。用过 MQ 的同学应该都知道,MQ 的主要作用是应用程序的解藕和异步。如果我们在更高的层面去想,MQ 是不是可以理解为一种应用层的通信协议,它实现了多个应用之间的异步通信,同时 MQ 对于用户屏蔽了底层通信协议的实现,我们不管它的 HTTP,TC...

2020-02-19 15:16:01 541

原创 并发编程解惑之线程

并发编程解惑之线程一、线程与进程​进程是资源分配的最小单位,每个进程都有独立的代码和数据空间,一个进程包含 1 到 n 个线程。线程是 CPU 调度的最小单位,每个线程有独立的运行栈和程序计数器,线程切换开销小。​Java 程序总是从主类的 main 方法开始执行,main 方法就是 ​Java 程序默认的主线程,而在 main 方法中再创建的线程就是其他线程。在 ​Java 中,每次程序...

2020-02-19 15:15:04 252

原创 面试:100 能落地的面试技巧,没用来砍我

面试:100% 能落地的面试技巧,没用来砍我前言这篇文章真的是鸽了很久了,起初是想蹭秋招的热度,现在连秋招末班车的尾灯都看不见了…当初想写这篇文章的原因是因为当时刚经历了一段时间的面试,总结出一些非常实用的经验,于是迫不及待的想要分享,但是后来却因为事情太多就耽搁了。不过,在这段时间里,也对这些经验进行了不断地验证和优化,于是就总结出了这篇文章。关于标题: 虽然标题有点夸张,但是这么起标题...

2020-02-12 08:14:24 274

原创 程序员跳槽时,如何高效地准备面试?

程序员跳槽时,如何高效地准备面试?今天和大家分享的主题是「程序员跳槽时,如何高效地准备面试?」,但其实今天主要涉及到的是 HR 在面试时有哪些套路,这样可以见招拆招,斩获 offer!主要包括以下内容:一、程序员面试过程中,面试官想要从"自我介绍"获得什么信息?二、如何去提炼简历中的精华?如何在沟通中体现你的软技能?三、如何去解释简历中的瑕疵?四、HR通常喜欢问哪些与技术无关的问题?这...

2020-02-12 08:14:13 275

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除