一、算法和数据结构
1.实现一个函数,
要求输入:[
{id:'10', des:'品种',type:['藏獒','柴犬','哈士奇']},
{id:'11', des:'颜色',type:['黑色','黄色']},
{id:'12', des:'体型',type:['小型','大型']}
]
输出:[
{'10':'藏獒','11':'黑色','12':'小型'},
{'10':'藏獒','11':'黑色','12':'大型'},
{'10':'藏獒','11':'黄色','12':'小型'},
{'10':'藏獒','11':'黄色','12':'大型'},
{'10':'柴犬','11':'黑色','12':'小型'},
{'10':'柴犬','11':'黑色','12':'大型'},
{'10':'柴犬','11':'黄色','12':'小型'},
{'10':'柴犬','11':'黄色','12':'大型'},
{'10':'哈士奇','11':'黑色','12':'小型'},
{'10':'哈士奇','11':'黑色','12':'大型'},
{'10':'哈士奇','11':'黄色','12':'小型'},
{'10':'哈士奇','11':'黄色','12':'大型'}
]
2.这道题是lettcode 腾讯面试题的一道:无重复字符中的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为3
示例2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为3
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串 。
二、正则
1.实现一个函数function split(address)
省级地名,以“省”/“市”/“自治区”结尾,例如:江苏省,北京市,内蒙古自治区
市级地名,以“市”/“区”/“自治州”/“盟”结尾,例如:苏州市,朝阳区,临夏回族自治州,锡林郭勒盟
县级地名,以“县”/“市”/“区”/“旗”结尾
具体地名
例如:
输入
'江西省赣州市兴国县长岗乡长冈村15号'
输出
['江西省','赣州市','兴国县','长岗乡长冈村15号']
其它测试输入用例
// 输入
'广西壮族自治区南宁市新市区三工街道2号'
'青海省海西蒙古族藏族自治州乌兰县城管镇河东村1号'
'河北省廊坊市三河市燕郊镇燕郊阳光小区15号'
// 输出
['青海省','海西蒙古族藏族自治州','乌兰县', '城管镇河东村1号']
['广西自治区','南宁市','新市区','三工街道2号']
['河北省','廊坊市','三河市','燕郊镇燕郊阳光小区15号']
假设:
每个输入的字符串都必定符合上述内容格式,对不符合要求的字符串,函数可以抛出异常
每个地名中不包含结尾的关键字,例如不会有“市荆南区”, '区三工街道2号'这样的地名
2.实现一个函数 function SimplePassword(str),需遵循:
1.必须包含大写字母
2.必须包含特殊字符
3.必须包含数字
4.字符串不能包含“password”
5.字符串长度必须大于7,小于31
三、消息队列、事件循环
1.实现一个消息队列,满足如下功能:
可以添加任务,任务包含任务数据,任务延迟触发的等待时间。
队列中任务保持先进先出原则:假设`A` 任务的触发等待时间为`X`,`B` 任务的触发等待时间为`Y`,`B`
在`A` 之后被添加入队列,则`A` 的前驱任务执行完成后等待时间`X` 后,
才执行`A`,同理在`A` 执行完成后,等待时间`Y`,才执行`B
2.请讲述一下事件循环。
3.宏任务、微任务,执行顺序是什么?每种各举例。
四、数据库、缓存技术
1.mysql有几种索引?有什么区别?
2.mongodb分片了解吗?请讲述。
3.redis中有几种数据类型。
4.mysql和mongodb有什么区别?项目中是如何选用的?
5.遇到过redis雪崩吗?
6.了解redis的持久化机制吗?
五、前端框架
1.讲述vue的虚拟dom
六、后端框架
1.对node多进程的开发有了解吗?
2.koa和express的区别?
目前在整理面试:
一、算法与数据结构
二、正则表达式
三、Js**、es基础**
四、Nodejs****常用框架与底层原理
五、常用数据库及缓存技术
六、消息队列
七、高并发、多进程、分布式
八、前端主流框架
九、Linux****运维部署知识,持续集成
十、网络编程、协议与安全知识
十一**、设计模式**