绝命Coding
码龄9年
关注
提问 私信
  • 博客:71,120
    动态:16,262
    87,382
    总访问量
  • 58
    原创
  • 50,842
    排名
  • 1,471
    粉丝

个人简介:专注于前端和后端的技术和经验分享,“粉白二人组“分别在24校招中斩获多家头部大厂sp,ssp! --致敬《绝命毒师》(公众号:绝命Coding)

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2015-12-20
博客简介:

qq_33445788的博客

查看详细资料
  • 原力等级
    当前等级
    4
    当前总分
    729
    当月
    5
个人成就
  • 获得1,683次点赞
  • 内容获得214次评论
  • 获得1,078次收藏
创作历程
  • 58篇
    2024年
成就勋章
TA的专栏
  • 就业经验分享
    14篇
  • 后端技术分享
    24篇
  • 力扣算法解析
    2篇
  • Python爬虫之路
    8篇
  • 前端技术分享
    5篇
  • 大厂资讯
    1篇
  • 大厂薪资福利
    5篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

大厂面试官问我:为什么 Object 有 wait ,为什么不全在 Thread 类上写?【后端八股文十六:Java基础合集】

对象锁的概念Java 的并发控制机制是建立在对象锁的概念之上的。每个 Java 对象都有一个相关联的监视器(monitor),用于线程间的同步和通信。当一个线程需要访问一个对象时,它必须先获取该对象的锁。因此,线程的等待和通知操作都是针对特定对象的,而不是线程本身。可重用性将这些方法定义在Object类中,使得所有的对象都具有这些等待和通知的能力,提高了代码的可重用性。如果放在Thread类中,则每个线程对象才拥有这些能力,使用起来会更加不方便。线程状态与对象状态的关系wait()
原创
发布博客 2024.08.26 ·
1119 阅读 ·
42 点赞 ·
8 评论 ·
24 收藏

大厂面试官问我:ConcurrentHashMap底层原理?【后端八股文十五:Java集合合集】

ConcurrentHashMap的key值能否为nullkey值不能为null在ConcurrentHashMap中,每个键值对都被保存在一个Entry对象中,而每个Entry对象都被保存在一个数组中,这个数组被称为Segment。ConcurrentHashMap中的每个Segment都是一个独立的哈希表,它具有自己的锁,因此不同的Segment可以被不同的线程同时访问。在ConcurrentHashMap中,键值对的键不能为null。这是因为在ConcurrentHashMap中,每个键值
原创
发布博客 2024.07.27 ·
1492 阅读 ·
51 点赞 ·
6 评论 ·
31 收藏

大厂面试官问我:两个1亿行的文件怎么求交集?【后端八股文十五:场景题合集】

任务分批: 将任务分成多个批次,每次从任务列表中取出一部分任务交给线程池处理。这样可以避免一次性将大量任务提交给线程池,减少系统资源竞争。线程池大小调优: 根据系统资源和任务的性质,合理设置线程池的大小。如果任务是 CPU 密集型的,可以设置较少的线程数;如果任务是 I/O 密集型的,可以适当增加线程数。避免线程数过多导致上下文切换频繁,影响性能。
原创
发布博客 2024.07.25 ·
1997 阅读 ·
37 点赞 ·
8 评论 ·
34 收藏

大厂面试官问我:Mysql B+树索引中B最后一层是双向链表还是单向链表?为什么这么设计?【后端八股文十四:Mysql索引八股文合集】

范围查询效率高:由于叶子节点之间有指针连接,可以通过顺序遍历叶子节点获取范围内的数据记录,避免了不必要的磁盘访问和索引的跳转。顺序访问优化:当进行顺序访问时,B+树可以通过双向链表进行高效的顺序遍历,减少磁盘IO次数,提高访问性能。如果 SQL 语句中用到了组合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个组合索引去进行匹配。当遇到范围查询(betweenlike)就会停止匹配,后面的字段不会用到索引。例子:对(a,b,c,d)建立索引,查询条件为。
原创
发布博客 2024.07.24 ·
1364 阅读 ·
38 点赞 ·
8 评论 ·
18 收藏

力扣题库合集(2):动态规划(1)

动态规划,是一种常用的解决优化问题的方法,它将问题分解为若干子问题,并通过存储子问题的解来避免重复计算,从而提高算法的效率。动态规划的核心思想是利用已经求解过的子问题的解来求解当前问题的解。它通常适用于具有最优子结构的问题,即问题的最优解可以通过一系列子问题的最优解推导得出。通过将问题划分为更小的子问题,并适当定义状态和状态转移方程,动态规划可以高效地解决各类问题。动态规划可以应用于各种计算机科学和数学问题,例如最短路径问题、背包问题、序列比对问题等。
原创
发布博客 2024.07.23 ·
1533 阅读 ·
31 点赞 ·
11 评论 ·
19 收藏

力扣题库合集(1):双指针

双指针算法是一种非常常见且实用的算法技巧,它使用两个指针同时在数据结构上移动,从而达到特定的目的。这种算法通常用于解决数组或链表等线性数据结构中的问题,比如寻找某个元素、删除某个元素、反转数组等。对撞指针(Two Pointers): 两个指针从不同的方向"对撞"而前进,直到满足某个条件为止。这种方法常用于解决数组或链表的查找、删除等问题。快慢指针(Slow and Fast Pointers): 两个指针以不同的速度移动,比如一个指针每次移动一步,另一个指针每次移动两步。
原创
发布博客 2024.07.22 ·
1726 阅读 ·
43 点赞 ·
7 评论 ·
17 收藏

Python爬虫速成之路(7):登录新浪微博(Selenium)

在这里xpath的获取可以借助浏览器的F12(F12——选择对应元素——右键复制——选择Xpath)来实现。不过大部分时候,css selector就可以解决,并且也比较容易理解。
原创
发布博客 2024.07.21 ·
625 阅读 ·
13 点赞 ·
6 评论 ·
13 收藏

Python爬虫速成之路(6):Selenium的使用

爬虫就三大种实现方式。第一种是获取网页源代码来获取数据,这种也只能在特定网站生效;第二种是直接get或者post提交数据,这种难度有时候会较大,因为接口往往有一些限制;第三种就是直接模拟浏览器点击操作,第三种就比较无脑,可以实现很多第一第二种实现不了,比如Boss海投工具等。本文介绍的就是Selenium的基本用法。Python3中使用Selenium进行Web自动化测试是一种非常常见的方法。
原创
发布博客 2024.07.20 ·
2023 阅读 ·
50 点赞 ·
15 评论 ·
32 收藏

Python爬虫速成之路(5):获取北京新闻的今日推荐

最后,我们通过循环遍历获取到的图片URL和标题,使用urlopen函数下载图片,并保存在之前创建的文件夹中。这里我们使用了标题作为图片的文件名,需要注意的是,标题中可能包含一些特殊字符,所以我们使用了re.sub函数将这些特殊字符替换成空字符。然后,我们定义了目标网站的URL,并创建了Request对象,设置了User-Agent头部信息以模拟浏览器行为。首先,我们需要导入必要的库。在本文中,我们将介绍如何使用Python的urllib和BeautifulSoup库来实现获取新闻推荐内容和对应图片的功能。
原创
发布博客 2024.07.19 ·
1008 阅读 ·
53 点赞 ·
28 评论 ·
34 收藏

大厂面试官问我:Redis为什么使用哈希槽的方式进行数据分片?为什么不适用一致性哈希的方式?【后端八股文十三:Redis 集群哈希八股文合集(1)】

为什么使用一致性哈希? 传统哈希算法(如取模)在节点变更时,会导致大量 key 的重新分布,引发大量的数据迁移和客户端路由更新,容易造成雪崩效应。 而一致性哈希算法通过将节点和 key 都映射到一个虚拟的哈希环上,在节点变更时只需要调整少量 key 的映射关系,减少了数据迁移和客户端路由的开销。
原创
发布博客 2024.07.18 ·
1308 阅读 ·
40 点赞 ·
18 评论 ·
33 收藏

大厂面试官问我:为什么Redis的rehash采用渐进式,而Java的hashmap是一次性rehash?【后端八股文十二:Redis hash八股文合集】

渐进式 rehash 的过程(空间换时间的渐进式哈希) Redis 会在处理每个请求时,顺带将主哈希表中的一个 entry 迁移到备用哈希表中。 这样可以将 rehash 过程分散到每个请求中,减少对服务的影响。 当备用哈希表的 entry 数量超过主哈希表的 50% 时,Redis 会切换到使用备用哈希表作为新的主哈希表。
原创
发布博客 2024.07.17 ·
1606 阅读 ·
61 点赞 ·
3 评论 ·
19 收藏

Python爬虫速成之路(4):BeautifulSoup

在本篇文章中,我们将介绍如何使用Python的BeautifulSoup库进行网页爬取。具体来说,我们将使用urllib库发送HTTP请求,然后使用BeautifulSoup解析HTTP响应的HTML内容。
原创
发布博客 2024.07.16 ·
479 阅读 ·
10 点赞 ·
2 评论 ·
12 收藏

【绝命Coding助力秋招】Python实现<实习僧>海投脚本

大家实习秋招应该都会投递简历的烦恼吧,海投脚本,就可以省去人力的麻烦,大家每天在选完自己想投的公司后,不妨使用脚本把每天可以沟通次数都投完。海投越多,机会越大。
原创
发布博客 2024.07.15 ·
909 阅读 ·
33 点赞 ·
2 评论 ·
7 收藏

Python爬虫速成之路(3):下载图片

在本教程中,我们将学习如何使用Python来下载网页中的图片。使用Python进行网页图片下载可以非常方便,只需要几行代码即可完成任务。接下来,我们需要指定想要下载的网页地址,可以是任何包含图片的网页。如果下载成功,就将其保存到指定的文件夹中。其实下载图片的本质就是创建一个对应文件,然后将数据写入。接下来,我们使用一个循环遍历所有的图片链接,并通过。然后,我们需要指定图片下载的保存路径,也就是。首先,我们需要导入所需的Python库,即。教程:使用Python下载网页中的图片。方法打开指定的网页,并使用。
原创
发布博客 2024.07.14 ·
679 阅读 ·
18 点赞 ·
2 评论 ·
13 收藏

Python爬虫速成之路(2):爬天气情况

(.*?):它可以匹配任意长度的字符串,比如abcde,正则表达式a(.*?)e,它就会匹配上bcd。这里re.findall里面要求传入的是str类型。从str到bytes:调用方法encode().从bytes到str:调用方法decode()方法发送HTTP请求,并通过。属性获取网页的源代码。
原创
发布博客 2024.07.12 ·
566 阅读 ·
9 点赞 ·
4 评论 ·
10 收藏

Python爬虫速成之路(1):获取网页源代码

教程内容: 在本教程中,我们将使用Python编写一个简单的爬虫项目,来爬取指定网页的HTML内容优化(推荐):
原创
发布博客 2024.07.11 ·
459 阅读 ·
6 点赞 ·
6 评论 ·
7 收藏

算法骗分技巧以及算法电子书

发布资源 2024.07.09 ·
zip

大厂面试:算法考前必看汇总(全)

大厂面试中的算法题大部分情况是力扣原题,并且难度可控,对于经常在力扣刷题的同学一般问题不大。而大厂笔试的算法题则往往是原创题,前几道难度稍微简单,后几道通常得刷题更多的或者有打算法的同学才能做出来。在笔试当中,在遇到不会的题,通常可以采取骗分的技巧(文末有总结),只有能通过部分案例骗到部分分数。在面试的算法题,流程如下:首先可以先思考,然后先告诉面试官算法思路(不用急着打代码),然后接下来就是打代码以及调试(这里注意要考虑好边界情况,体现自己的代码严谨;同时,也要注意一下代码规范)。
原创
发布博客 2024.07.09 ·
1608 阅读 ·
33 点赞 ·
5 评论 ·
22 收藏

大厂面试官问我:Redis缓存如果扛不住,该怎么办?【后端八股文十一:Redis缓存八股文合集(1)】

Redis优化缓存结构(1)使用Redis和Cache 多级缓存;(2)Caffine+Redis+ES 做三级缓存;(3)使用 Redis 实现分布式缓存,另外配合 Nginx 缓存 + 本地 Caffeine 缓存 + CDN 缓存 + 浏览器缓存共同实现多级缓存来保证系统的性能。(4)使用mq转发(来自京东技术:营销权益平台春晚技术探究):本地缓存的构建的两种方式: 一级缓存:本地+mysql+推模式更新。 两级缓存:本地+r2m+mysql+推模式更新。
原创
发布博客 2024.07.08 ·
1508 阅读 ·
46 点赞 ·
3 评论 ·
15 收藏

大厂面试官问我:Redis的分布式锁怎么解决死锁问题?【后端八股文十:Redis分布式锁八股文合集(2)】

Redisson在Redis的基础上,实现了可重入锁、公平锁、联锁等多种类型的分布式锁。可重入锁通过维护一个持有锁的线程ID和锁的持有次数来实现。公平锁通过维护一个等待队列,按照请求顺序依次获取锁。联锁允许同时获取多个锁,只有全部获取成功才算获取锁成功。
原创
发布博客 2024.07.07 ·
1878 阅读 ·
30 点赞 ·
7 评论 ·
39 收藏
加载更多