技术名词积累

Fail-Fast机制

fail-fast 机制是Java集合(Collection)中的一种错误机制。 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的结构进行了修改(增加、删除),则会抛出Concurrent Modification Exception(并发修改异常)。

Java魔法类:Unsafe

img

如上图所示,Unsafe提供的API大致可分为内存操作、CAS、Class相关、对象操作、线程调度、系统信息获取、内存屏障、数组操作等几类,下面将对其相关方法和应用场景进行详细介绍。

解决线程同步问题的思路

  1. 互斥同步
    1. 加锁:synchronized 和 ReentrantLock。
  2. 非阻塞同步
    1. CAS
    2. AtomicInteger
  3. 无同步方案
    1. 要保证线程安全,并不是一定就要进行同步。如果一个方法本来就不涉及共享数据,那它自然就无须任何同步措施去保证正确性。

Java开发面试准备

软件开发工程师的技术面试,一般分为三个部分:编程语言基础知识(俗称八股)、编程题、项目经验。

这篇记录下如何准备面试。

一、八股

不错的资料1:

https://www.pdai.tech/

Java 全栈知识点问题汇总(上)

Java 全栈知识点问题汇总(下)

不错的资料2:

Java Guide:https://javaguide.cn/home.html
小林图解:https://xiaolincoding.com/
On Java 8:https://github.com/rocLv/OnJava8
cs-note:https://cyc2018.xyz/

其实上面这些资料都挺全的,从入门到架构,都很详细,选一个自己喜欢的风格,认真复习即可。

二、算法题

刷题有两个方向:

建议先按照知识点刷,先过一遍考点,整体复习一下,之后可以看看高频题。

三、项目经验

看看别人的面试经验,根据他的项目问题,思考自己的项目中遇到过什么问题,如何解决的。

(面经建议现搜索)

这里提供一些问题作参考:

  1. 讲项目
  2. 再讲个项目
  3. 平时读什么源码
  4. 对XX领域架构了解吗?(XX=电商、支付、物流)
  5. 常见的限流算法有哪些,你们系统中是如何应用的?
  6. 你的系统如何保障稳定性?

2024节后上班第二天

节后第二天,坐在工位不知道怎么开始干活,感觉要做的需求收益很低,但又不能不做;想看看机会,又不想在工位明目张胆,坐如针毡,非常难受。百无聊赖,写点东西,平复下心情。

读后感:个体崛起

这本书中,有对时间管理的认识,有对金钱的看法,有对职场经验的分享。整体上说,这本书还是对我有启发,尤其是在职场部分,例如《工资是职场最大的陷阱》。有时间的也可以看看,虽然这本书没有说明具体要如何做,但至少说了要做什么好。

没时间的话,可以抽空看看以几篇,这是我觉得还不错的文章(这些小章节均相互独立,百度即可搜到)。

  1. 《要赚未来的钱》
  2. 《你笑他们太low,他们笑你不懂》
  3. 《高收入都是睡出来的》
  4. 《摆脱低水平的勤奋陷阱,获得高水平的反思能力》
  5. 《为什么别人是高管,你至少员工》
  6. 《请警惕你的“弱者思维”》
  7. 《不忘初心?也许“初心”没那么重要》
  8. 《工资是职场最大的陷阱》
  9. 《你的收入为什么还没有指数增长?》

偶然翻到自己在5年前写的读后感,人的记忆确实不靠谱,因为要不是翻到这篇读后感,我忘记了自己读过这本书,即使现在翻到这篇读后感,也忘记了每篇的内容是什么了。^_^

Artificial Intelligence学习

面向初学者的生成式人工智能课程

课程简介:微软云技术布道师团队提供的十二章系列课程,了解构建生成式 AI 应用程序的基础知识。

image-20240123221656779

课程介绍和学习环境设置

代码资料:https://github.com/microsoft/generative-ai-for-beginners

第一章 : 生成式人工智能和 LLMs 介绍

学习目标,学习完本课程后,您将会了解到:

  • 什么是生成式人工智能以及 LLMs 如何工作。
  • 如何针对不同的使用 LLMs 的例子(这里我们重点关注教育场景)。

image-20240123223346855

image-20240123223553952

第二章 : 探索和比较不同的 LLMs

学习目标,完成本章学习后,您将会学习到:

  • 为您的应用场景选择合适的模型。
  • 了解如何测试、迭代和提高模型的性能。
  • 了解企业如何部署模型。

image-20240123224216206

第三章 : 负责任地使用生成式人工智能

学习目标,学完本章内容后您将了解到:

  • 构建生成式人工智能应用程序时负责任的人工智能的重要性。
  • 在构建生成式 AI 应用程序时何时思考和应用 Responsible AI 的核心原则。
  • 您可以使用哪些工具和策略来将 Responsible AI 的概念付诸实践。

第四章:提示工程基础

学习目标,在本章中,我们将了解什么是提示工程、为什么它很重要,以及如何针对给定的模型和应用程序目标制定更有效的提示。 我们将了解提示工程的核心概念和最佳实践,并了解交互式 Jupyter Notebooks“沙箱”环境,在 Notebooks 中我们可以看到这些概念应用于实际示例。

在本课结束时,我们将能够:

  1. 解释什么是提示工程及其重要性。
  2. 描述提示的组成部分及其使用方法。
  3. 学习提示工程的最佳实践和技术。
  4. 结合 OpenAI 将学到的技术应用于实际示例。

image-20240124173720763

image-20240124174432074

image-20240124174808494

本章值得反复看,尤其是提示词使用那块

第五章:创建高级的提示工程技巧

学习目标,完成本课程后,您将能够掌握:

  • 应用提示工程技术来改善提示结果。
  • 执行多样化或确定性的提示。

image-20240124180212124