如何做一件事

最近发现自己做事,有头无尾,有始无终。比如说健身,看了一些视频,买了一堆装备,去了几次,就慢慢频率减少,直到不去了;准备看看机会,做了简历,制定了复习计划,又慢慢没有了下文了;还有好多事,也是类似。

于是思考可能的原因,推测,是对要完成的事情没有一个清晰的认识,没有想清楚这件事做成之后,我是一个什么样的状态,周围的事物是一个什么样的状态,周围的人会是一个什么样的状态。

技术名词积累

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