介绍部门概况,自我介绍
JS
JS有哪些对象类型
JS垃圾回收机制
JS有几种继承方式
TS有哪些特点
Vue
Vuex是什么
v-for和v-if的含义
Vue如何实现双向绑定
操作系统
进程之间有哪些通信方式:
答了消息队列 信号量 信号 共享内存 套接字 忘了管道、具名管道
进程的调度策略:
答了 先到先服务 优先级 时间片轮转,承认自己是背的,没学过操作系统
还有 短作业优先 高响应比优先 多级队列 多级反馈队列
你知道I/O吗?
不知道
计算机网络
HTTP与HTTPS 区别
HTTP为什么要经过 TIME-WAIT
TCP拥塞处理
跨域有哪些方法
数据库
数据库用了什么数据结构:
B+ 树,但背的不太好,没说出来B+树通过链指针,方便进行范围查询
事务隔离级别有哪些:
承认数据库没背好,只说出来读提交
实际有读未提交 读提交 可重复读 串行化
手撕算法
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。
叶子节点 是指没有子节点的节点。
示例 :
输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22 输出:[[5,4,11,2],[5,8,4,5]]
选择DFS算法保存路径
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @param {number} sum * @return {number[][]} */ var pathSum = function(root, sum) { let res = []; let path = []; function dfs(root, sum) { if (!root) { return; } sum -= root.val; path.push(root.val); if (!root.left && !root.right) { if (sum == 0) res.push([...path]); } if (root.left) dfs(root.left, sum); if (root.right) dfs(root.right, sum); path.pop(); } dfs(root, sum); return res; };
全部评论
(2) 回帖