js常考的面试题重新整理
谢惠民小题并排排版习题样式
\usepackage{enumerate}%小题并排排版\usepackage{multicol}%小题并排排版 \begin{multicols}{2} \begin{enumerate}[(1)] \item $\left| \begin{matrix} a_{11}& 0& \cdots& ......
数据库基础面试第三弹
1. mysql数据库四种常见数据库引擎 1. MyISAM: MyISAM是MySQL最早的数据库引擎之一。它被设计成处理大量的插入和查询操作。MyISAM表格的数据存储在三个文件上:.frm文件存储表结构,.MYD文件存储数据,.MYI文件存储索引。MyISAM表格不支持事务处理和崩溃恢复,因此 ......
【JS】数组扁平化
递归和非递归版本 const arr = [ 123, 2, [ 2,3,4 ,[ 345, 34, [ 34,34,34 ] ] ] ] const flatten = (arr) => { return arr.reduce((acc, val) => Array.isArray(val) ? ......
【JS】手写Promise基本功能
https://github.com/zjy4fun/notes/tree/main/demos/js-promise 三个状态,两个回调队列,then 的时候针对不同状态进行处理 class MyPromise{ constructor(executor) { this.state = 'pend ......
UniApp是一款基于Vue.js开发框架的多端应用开发工具
UniApp是一款基于Vue.js开发框架的多端应用开发工具,它的目标是使开发者能在一次编写的代码基础上同时在多个平台上运行,包括iOS、Android、H5、小程序等。UniApp的出现极大地提升了开发效率和用户体验,下面通过一个具体的案例来介绍UniApp的强大功能。 以某家锁具品牌“”为例,月 ......
【JS】实现 instanceOf
https://github.com/zjy4fun/notes/tree/main/demos/js-instanceof 原型就是一个对象,instanceof 就是检查构造函数的原型是否在对象的原型链上 function myInstanceOf(obj, constructorFn) { c ......
【JS】实现new操作符
https://github.com/zjy4fun/notes/tree/main/demos/js-new const myNew = (constructorFn, ...args) => { const obj = Object.create(constructorFn.prototype) ......
面试手撕合集
一、设计模式 1.单例模式 2.观察者模式(信号与槽、智能指针?) 二、排序算法 1.简答排序 2.冒泡排序 3.快速排序 4.归并排序 5.堆排序 三、查找算法 1.二分查找 四、字符串题 1.实现strstr() 2.实现strcpy() 3.实现strcmp() 4. ......
js详细讲解放大镜的实现
实现放大镜的整体思路 1.当鼠标放在图片上的时候,出现蒙层。 2.出现蒙层,让鼠标在蒙层中心 3.限制蒙层移动的范围 4.放大镜移动 最终实现的效果 鼠标放上去的时候,出现一个蒙层。 蒙层的移动范围只能在图片里,不能超出范围。 移动蒙层时,右侧会出现图片的放大部分。 移除图片的范围,放大镜消失。 鼠 ......
js脚本加载失败重试
背景 当我们在运行某一个项目时,它的某些JavaScript脚本可能加载不出来,报错。 像现在单页界面应用基本上都是通过js来构建,一旦加载不出,这个项目就不能运行了,那怎么办?我们如何解决这个问题? 解决方案 这里采用的方案是,重新加载JavaScript脚本。那么什么时候去重新加载js,如何重新 ......
pixi.js 的头像制作功能【函数】
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="htt ......
Node.js+Express+Koa2开发接口学习笔记(二)
搭建开发环境 从0开始搭建,不适用任何框架 使用nodemon监测文件变化,自动重启node 使用cross-env设置环境变量,兼容max linux和windows 创建项目文件夹blog-1,在终端输入命令 npm init -y 在根目录下创建bin => www.js文件,将初次运行的文件 ......
【大厂面试题】如何设计一个秒杀系统?
学习:https://www.bilibili.com/video/BV1KS4y147Yc/?spm_id_from=333.788.recommend_more_video.-1&vd_source=46d50b5d646b50dcb2a208d3946b1598 ......
Leetcode刷题本地debug框架搭建
思路 1. 初版 cmake + 单一.cpp文件 参考:https://blog.songjiahao.com/archives/362 2. 改良版 cmake + 源文件、头文件(含List、Tree等数据结构)分离 + gtest 参考:https://github.com/Pokerpok ......
刷题记录(七)
buuctf-Think-Java 题目给了附件,是几个class文件,反编译以后查看内容 其中导入了swagger框架,该框架提供了一个可视化的UI页面展示web应用的接口。方便调用和测试。访问/swagger-ui.html页面,得到接口如下: 审计反编译的代码,发现采用字符串拼接的方式构造sq ......
2022年线下赛的一道流量分析题
题目给了一个where_is_password.pcapng binwalk看到里面有个压缩包,利用foremost分离出来 压缩包需要密码 分析流量包,发现存在sql注入 提取出来进行url解码,可以看到利用二分法进行sql盲注 ascii有 128个所以从>64开始判断,返回用户名或密码错误,然 ......
Vue.js 官方脚手架 create-vue 是怎么实现的?
Vue.js 官方脚手架 create-vue 是怎么实现的? 摘要 本文共分为四个部分,系统解析了vue.js 官方脚手架 create-vue 的实现细节。 第一部分主要是一些准备工作,如源码下载、项目组织结构分析、依赖分析、功能点分析等; 第二部分分析了 create-vue 脚手架是如何执行 ......
iOS面试题九@synthesize和@dynamic分别有什么作用?
@synthesize和@dynamic分别有什么作用? @property有两个对应的词,一个是 @synthesize,一个是 @dynamic。如果 @synthesize和 @dynamic都没写,那么默认的就是@syntheszie var = _var; @synthesize 的语义是 ......
LeetCode刷题笔记
算法 1.差分数组+前缀和 1589. 所有排列中的最大和 - 力扣(LeetCode) 对于每一次遍历都有m个数需要加1,如果对这些数遍历,则需要O(m)复杂度,此时可以记录这m个数的差分数组: 这样就可以把时间复杂度缩小到O(1),之后求前缀和就可以得到原来的数组。 2.线性筛(欧拉筛)求素 ......
MySQL面试问题集锦
1、请简要说明一条SQL语句的执行过程。 参照:深度好文:MySQL架构 (baidu.com) 一文读懂MySQL查询语句的执行过程 (taodudu.cc) MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。 2、mysql有关权限的表都有哪几个 MySQ ......
代码随想录算法训练营第四天| 24. 两两交换链表中的节点, 19.删除链表的倒数第N个结点,面试题02.07.链表相交,142.环形链表Ⅱ
24. 两两交换链表中的节点 mydemo(超时) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullpt ......
几道思维题
1.舞会 A先生和他的太太参加了一场共有n对夫妻的舞会,已知夫妻之间不能握手,而且A先生之外的所有人握手次数都不相同。求A先生太太握几次手? 解析:一共有2n个人,而除去A先生共有2n-1个人。注意到一个人不能和自己和配偶握手,最多握手次数是2n-2,所以本题隐藏了一个条件即有一个人握手次数是0,并 ......
=_=_=js复习
// 数组 浅拷贝 let arr = [7, 2, 3] let cparr = []; arr.forEach((v, index) => { cparr[index] = v }) cparr[1] = 12 console.log(cparr, arr); let cparr2 = arr. ......
2023-09-09 刷题日记
leetcode 刷题笔记 88. 合并两个有序数组 题目链接 个人解题思路 建立一个新的长度为 \(m+n\) 长度的数组, 分别使用 point1 和 point2 两个指针 从头遍历 两个数组, 较小的放入新数组中, 直到两个数组遍历完成. 之后再将新数组中的数据复制到 nums1 中. 最优 ......
[刷题记录Day 23]Leetcode二叉树
No.1 题目 修剪二叉搜索树 思路 递归法 有点抽象,要对具体案例做模拟才好懂 递归分析 返回值:节点,参数:节点,[下界,上界] 终止条件:遇到空节点,返回空 单层递归逻辑:判断不在范围内的情况:当前节点小于下界/大于上界,直接返回右/左子树递归结果;若在范围内,则递归筛查左右子树,返回当前节点 ......
【JS】并发请求调度器实现演示
控制多个请求的并发度,演示请求的过程和用时结果 demo: https://scheduler-smoky.vercel.app/ github: https://github.com/zjy4fun/scheduler <script setup lang="ts"> import { ref } ......
Node.js+Express+Koa2开发接口学习笔记(一)
http请求概述 浏览器输入一个地址后,进行DNS解析(通过域名查找对应的IP地址),与server建立TCP连接(进行三次握手),发送http请求 server接收到http请求,处理,并返回 客户端(这里指浏览器)接收到返回数据,处理数据(如渲染页面,执行js) 客户端与服务器的三次握手大致可以 ......
文心一言 VS 讯飞星火 VS chatgpt (89)-- 算法导论8.3 2题
二、用go语言,下面的排序算法中哪些是稳定的:插入排序、归并排序、堆排序和快速排序?给出一个能使任何排序算法都稳定的方法。你所给出的方法带来的额外时间和空间开销是多少? 文心一言: 在Go语言中,以下排序算法是稳定的: 插入排序 归并排序 而以下的排序算法是不稳定的: 堆排序 快速排序 要使任何排序 ......
js json用法 转json字符串 json对象( 重点看最后)
js json:JSON.parse() //转为json对象。JSON.stringify() //转为JSON字符串。 举例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>js json举例</title> </head ......
【js】【统计次数】静态页面访问次数 js页面请求次数统计
效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>静态页面访问量统计</title> </head> <body> <script type="text/javascript"> var pg ......