随笔分类 -  面试

面试知识点汇集
redis面经
摘要:1、Redis 为什么快? C 语言实现,虽然 C 对 Redis 的性能有助力,但语言并不是最核心因素。 纯内存 I/O,相较于其他基于磁盘的 DB,Redis 的纯内存操作有着天然的性能优势。 I/O 多路复用,基于 epoll/select/kqueue 等 I/O 多路复用技术,实现高吞吐的 阅读全文

posted @ 2021-11-01 23:12 wsw_seu 阅读(138) 评论(0) 推荐(0)

联合索引、索引下推
摘要:1、 覆盖索引:如果查询条件使用的是普通索引(或是联合索引的最左原则字段),查询结果是联合索引的字段或是主键,不用回表操作,直接返回结果,减少IO磁盘读写读取正行数据 2、最左前缀:联合索引的最左 N 个字段,也可以是字符串索引的最左 M 个字符 3、联合索引:根据创建联合索引的顺序,以最左原则进行 阅读全文

posted @ 2021-06-19 19:27 wsw_seu 阅读(428) 评论(0) 推荐(0)

sql update语句相关问题
摘要:1. redo log的概念是什么? 为什么会存在. 1. redo log是重做日志。主要用于MySQL异常重启后的一种数据恢复手段,确保了数据的一致性。归根到底是MySQL为了实现WAL机制的一种手段。因为MySQL进行更新操作,为了能够快速响应,所以采用了异步写回磁盘的技术,写入内存后就返回。 阅读全文

posted @ 2021-06-16 19:36 wsw_seu 阅读(114) 评论(0) 推荐(0)

深入剖析Linux IO原理和几种零拷贝机制的实现(转)
摘要:作者:零壹技术栈链接:https://zhuanlan.zhihu.com/p/83398714来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 前言 零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可 阅读全文

posted @ 2021-05-31 14:50 wsw_seu 阅读(141) 评论(0) 推荐(0)

SQL注入常见解决方式(转)
摘要:前言 在一个公共的分页功能中,排序字段作为入参,前端页面可以自定义。在分页sql的mybatis mapper.xml中,order by字段后面使用$符号动态接收计算后的排序参数,这样可以实现动态排序的功能。 但是,如果入参传入: id; select 1 -- 最终执行的sql会变成: sele 阅读全文

posted @ 2021-04-19 19:47 wsw_seu 阅读(1410) 评论(0) 推荐(1)

Sql注入基础原理介绍(转)
摘要:一、Sql 注入漏洞详解 1.1 Sql 注入产生原因及威胁: 当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句。这种网站内部直接发送的Sql请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 Sql 语句,如果用 阅读全文

posted @ 2021-04-19 19:43 wsw_seu 阅读(513) 评论(0) 推荐(0)

旋转数组的最小数字
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 class Solution { public: //3 4 5 1 2 int minNumberInRota 阅读全文

posted @ 2020-12-06 21:56 wsw_seu 阅读(82) 评论(0) 推荐(0)

一致性Hash算法(原创发布于慕课网)
摘要:一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布 阅读全文

posted @ 2020-11-22 10:03 wsw_seu 阅读(103) 评论(0) 推荐(0)

329. Longest Increasing Path in a Matrix(核心在于缓存遍历过程中的中间结果)
摘要:Given an integer matrix, find the length of the longest increasing path. From each cell, you can either move to four directions: left, right, up or do 阅读全文

posted @ 2020-11-08 11:58 wsw_seu 阅读(108) 评论(0) 推荐(0)

451. Sort Characters By Frequency(桶排序)
摘要:Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: "tree" Output: "eert" Explanation: 'e' appears twi 阅读全文

posted @ 2020-11-08 10:48 wsw_seu 阅读(86) 评论(0) 推荐(0)

leetcode bitmap系列问题整理
摘要:1、 题目: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 示例 : 输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011 示例 2: 输入: 11输出: 3解释: 整数 阅读全文

posted @ 2020-11-07 10:10 wsw_seu 阅读(295) 评论(0) 推荐(0)

334. Increasing Triplet Subsequence(也可以使用dp动态规划)
摘要:Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array. Formally the function should: Return true if 阅读全文

posted @ 2020-11-05 22:30 wsw_seu 阅读(90) 评论(0) 推荐(0)

37 Sudoku Solver
摘要:Write a program to solve a Sudoku puzzle by filling the empty cells. A sudoku solution must satisfy all of the following rules: Each of the digits 1-9 阅读全文

posted @ 2020-10-19 22:19 wsw_seu 阅读(67) 评论(0) 推荐(0)

36. Valid Sudoku
摘要:Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules: Each row must contain the dig 阅读全文

posted @ 2020-10-18 16:12 wsw_seu 阅读(107) 评论(0) 推荐(0)

差分数组(1109. 航班预订统计)
摘要:本文讲一个和前缀和思想非常类似的算法技巧「差分数组」,差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减。 比如说,我给你输入一个数组 nums,然后又要求给区间 nums[2..6] 全部加 1,再给 nums[3..9] 全部减 3,再给 nums[0..4] 全部加 2,再给... 阅读全文

posted @ 2020-10-07 15:04 wsw_seu 阅读(167) 评论(0) 推荐(0)

前缀和
摘要:一、什么是前缀和 前缀和的思路是这样的,对于一个给定的数组 nums,我们额外开辟一个前缀和数组进行预处理: int n = nums.length; // 前缀和数组 int[] preSum = new int[n + 1]; preSum[0] = 0; for (int i = 0; i < 阅读全文

posted @ 2020-10-07 14:59 wsw_seu 阅读(339) 评论(0) 推荐(0)

连续子数组的和的绝对值的最大值、最小值(非绝对值的话直接dp动态规划)
摘要:前缀和的思路: sum[i] = num[0]+num[1]+......+num[i-1] sum[j] = num[0]+num[1]+......+num[j-1] 那么:num[i]+num[i+1]+....num[j] = sum[j+1] - sum[i] 所以求连续子数组绝对值的最大 阅读全文

posted @ 2020-09-20 13:35 wsw_seu 阅读(830) 评论(0) 推荐(0)

找出数组中出现次数超过一半的数字(众数)
摘要:题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 法1:借助hashmap存储数组中每个数出现的次数,最后看是否有数字出现次数超 阅读全文

posted @ 2020-09-20 11:54 wsw_seu 阅读(325) 评论(0) 推荐(0)

消失的两个数字(1-N缺两个数)
摘要:给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。你能在 O(N) 时间内只用 O(1) 的空间找到它们吗? 以任意顺序返回这两个数字均可。 示例 1: 输入: [1]输出: [2,3]示例 2: 输入: [2,3]输出: [1,4]提示: nums.length <= 30000 阅读全文

posted @ 2020-09-19 18:06 wsw_seu 阅读(697) 评论(0) 推荐(0)

47. Permutations II
摘要:Given a collection of numbers that might contain duplicates, return all possible unique permutations. Example: Input: [1,1,2] Output: [ [1,1,2], [1,2, 阅读全文

posted @ 2020-09-19 16:52 wsw_seu 阅读(81) 评论(0) 推荐(0)

导航