自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农田小齐

微信搜:码农田小齐

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

原创 10 张图聊聊线程的生命周期和常用 APIs

上一篇文章我们聊了多线程的基础内容,比如为什么要使用多线程,线程和进程之间的不同,以及创建线程的 4 种方式。本文已收录至我的 Github: https://github.com/xiaoqi6666/NYCSDE今天我们来说一下线程的生命周期和常用 APIs:我们需要非常清楚的知道线程的各种状态,比如排查程序运行慢的原因时,就需要看下是不是哪里被阻塞了;另外它也是面试时非常喜欢问的,如果基础内容都答不好,恐怕直接就挂了。本文分为两大部分,线程的 6 大状态;多线程常用的 APIs:join(

2020-11-23 07:41:52 178

原创 不想做科技第一的金融公司,不是好的养老去处

这里是《齐姐聊大厂》系列的第 15 篇每周五早上 8 点,与你唠唠大厂的那些事小齐说:大家周五好~今天是《齐姐聊大厂》系列的最后一篇了。可能大家并不清楚这一篇文章的制作成本和来源,今天先和大家叨叨两句。大家有没有想过这些文章是怎么来的?我本身不是 CS 科班出身,身边的朋友在互联网公司的很少,而这半年来疫情宅家也没有社交活动,接触的人也很少。为了这个系列,我更多的是要去联系一些陌生人,比如去 Linkedin 上加人,然后问人家是否愿意参与,答应之后我还需要和他聊天,引导的问些问题,最后再整理

2020-11-20 09:44:11 2705 3

原创 新手一看就懂的线程池!

经过前几篇文章的学习,大家对多线程应该有些了解了吧,这里附上前三篇文章的链接,还没有看过的小伙伴快去复习吧~~多线程基础篇入门线程的生命周期和常用 APIs生产者消费者问题那相信大家也能感受到,其实用多线程是很麻烦的,包括线程的创建、销毁和调度等等,而且我们平时工作时好像也并没有这样来 new 一个线程,其实是因为很多框架的底层都用到了线程池。线程池是帮助我们管理线程的工具,它维护了多个线程,可以降低资源的消耗,提高系统的性能。并且通过使用线程池,我们开发人员可以更好的把精力放在任务代码上,而不

2020-11-19 10:21:34 426

原创 一文带你玩转设计模式之「责任链」

微信搜索????「码农田小齐」,关注这个在纽约的程序媛,回复「01-05」可以获取计算机精选书籍、个人刷题笔记、大厂面经、面试资料等资源,么么哒~前言对于已经工作了的小伙伴,你应该是见过"责任链"这种面向对象的设计模式的,还在上学的小伙伴也不用着急,你迟早会接触到的。本文旨在让小白同学和不太熟悉责任链的朋友能够迅速对这一设计模式有一个大致的了解。在我们的工农业生产中,经常有这样的场景:一个任务、事务、流程等都需要很多不同的步骤,来完成不同的计算或者收集不同的数据。为了维护一个比较复杂,有时甚至是对

2020-11-17 09:13:57 362 7

原创 看了齐姐这篇文章,再也不怕面试问树了

微信搜索????「码农田小齐」,关注这个在纽约的程序媛,回复「01-05」可以获取计算机精选书籍、个人刷题笔记、大厂面经、面试资料等资源,么么哒~在写完了所有线性数据结构之后,今天开启非线性数据结构系列。我们今天先来看,什么是“树”。树是由顶点和边组成的且不存在环的数据结构。作为一个应用非常广的数据结构,不仅在工作中常用,在面试中也非常常考。一是因为树的结构天然决定了它和递归联系紧密,很多树相关的算法题都非常适合用递归来解;二是因为它的难度介于链表和图之间,非常适合在 45 分钟的面试里进行考察

2020-11-16 08:42:46 307 5

原创 Facebook 的神仙组长什么样?

这里是《齐姐聊大厂》系列的第 14 篇每周五早上 8 点,与你唠唠大厂的那些事号外号外!前 12 篇已出 PDF:公粽号后台回复「大厂」即可获得!❝小齐说:这篇文章是来自阿米粥的分享,他今年暑假在 Facebook 实习,跟大家完整的分享从申请面试到实习结束的整个过程,让我们一起来感受下吧~❞时间线我是 2019 年 9 月底找朋友内推的 facebook software engineer summer internship 岗位,fb 的 hr 工作效率很高,3 个工作日之内就有了邮件

2020-11-13 08:04:12 569 1

原创 哈希冲突详解

微信搜索????「码农田小齐」,关注这个在纽约的程序媛,回复「01-05」可以获取计算机精选书籍、个人刷题笔记、大厂面经、面试资料等资源,么么哒~哈希冲突详解一般来说哈希冲突有两大类解决方式[1]Separate chainingOpen addressingJava 中采用的是第一种 Separate chaining,即在发生碰撞的那个桶后面再加一条“链”来存储,那么这个“链”使用的具体是什么数据结构,不同的版本稍有不同:在 JDK1.6 和 1.7 中,是用链表存储的,这样如果碰撞

2020-11-12 10:46:05 733 4

原创 为什么重写 equals() 方法,一定要重写 hashCode() 呢?| HashMap

微信搜索????「码农田小齐」,关注这个在纽约的程序媛,回复「01-05」可以获取计算机精选书籍、个人刷题笔记、大厂面经、面试资料等资源,么么哒~首先我们有一个假设:任何两个 object 的 hashCode 都是不同的。那么在这个条件下,有两个 object 是相等的,那如果不重写 hashCode(),算出来的哈希值都不一样,就会去到不同的 buckets 了,就迷失在茫茫人海中了,再也无法相认,就和 equals() 条件矛盾了,证毕。撒花~~????????????接下来我们再对这两个方

2020-11-11 08:36:02 445

原创 刷题到底有什么用?你这么刷题还真没用

关于刷题,上一篇文章讲了 How,今天我们来聊聊 Why —— 为什么要刷题?或许很多人没考虑过这个问题,或者会说因为面试要考啊,没错,就是这个原因,就这一个理由足以让我们去刷题。但今天我们来聊点不一样的,希望给你新的启发。算法之前,面试考什么?我曾在这篇文章《从 LRU Cache 带你看面试的本质》中提到过部分,美国大厂面试 80% 都是在考算法,这其实是最近 5-10 年以谷歌、雅虎为首才兴起的;国内大厂对于算法的考察虽然没有这么狂热,但也越来越重视了。那为什么会形成这种局面?在考算法之前它们

2020-11-10 08:59:26 597 1

原创 彩虹排序 | 荷兰旗问题

微信搜索????「码农田小齐」,关注这个在纽约的程序媛,回复「01-05」可以获取计算机精选书籍、个人刷题笔记、大厂面经、面试资料等资源,么么哒~荷兰旗问题又称三色排序,或者彩虹排序,因为荷兰旗就三种颜色嘛,那这道题的问题就是给你三种颜色,按照给定的顺序排好。当然了,题目的问法各种各样,有的给数字,有的给字母,但本质都是一样的。比如给你一个只含有三个数字的数组:312312312231111122113,要求按照 1 2 3 的顺序排好,即:111111111222222222223333

2020-11-09 08:26:04 524

原创 百万年薪,国内工作6年的前辈想和你分享这四点

这里是《齐姐聊大厂》系列的第 13 篇每周五早上 8 点,与你唠唠大厂的那些事号外号外!前 12 篇已出 PDF:公众号后台回复「大厂」即可获得!大厂小齐说:上一篇文章有小伙伴留言说要看国内的公司,今天邀请到一位在国内一线互联网大厂工作了 6 年的前辈,聊聊几点大家都关心的话题。如果你喜欢这个系列,欢迎你转发分享,这对我很有帮助,谢谢大家~先说下个人背景:国内 985 硕,在国内一线互联网公司工作近 6 年了。其中待得最久的算是目前国内企业中发展最快的公司之一。目前基本工资税后 100 万

2020-11-06 08:59:55 832 2

原创 快速排序为什么这么快?

快速排序首先选一个基准 pivot,然后过一遍数组,把小于 pivot 的都挪到 pivot 的左边,把大于 pivot 的都挪到 pivot 的右边。这样一来,这个 pivot 的位置就确定了,也就是排好了 1 个元素。然后对 pivot 左边 ???? 的数排序,对 pivot 右边 ???? 的数排序,就完成了。那怎么排左边和右边?答:同样的方法。所以快排也是用的分治法的思想。「分」选择一个 pivot,就把问题分成了pivot 左边pivot 右边这两个问题。「治」

2020-11-05 09:26:32 492

原创 从小白到 6 个 offer,我究竟是怎么刷题的?

最近自习室里又兴起了一阵刷题潮,大家相约刷题~今天和大家系统分享下我去年转行时的一个刷题过程和方法,希望对你有所帮助。首先介绍下我的编程基础,我学的是金融工程专业,硕士时学过 C++ 的课,这也是我的编程入门课(但我个人非常不推荐用 C++ 入门)。这门课的重点是 C++ 在金融领域的应用,比如给 Option 定价,基本不涉及算法和数据结构。所以我是有一定编程基础的,但是对算法和数据结构是小白,也不懂空间复杂度和时间复杂度为何物。另外说明一下我的时间,我是在工作后才开始刷题,所以是晚上和周末来

2020-11-04 09:26:45 9353 22

空空如也

空空如也

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

TA关注的人

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