面试题
async function async1() {
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2() {
console.log('async2');
}
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0)
async1();
new Promise(function(resolve) {
console.log('promise1');
resolve();
}).then(function() {
console.log('promise2');
});
请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。
实现 LRUCache 类:
LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存
int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。
void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;
如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字。
函数 get 和 put 必须以 O(1) 的平均时间复杂度运行。
反问:
React 、Vue 都有。
Coding能力还可以,计网的基础知识不够扎实,需要保持刨根问底的心态学习,一些记不牢的知识尝试实现一下。
总结:
面试了近一个半点,面完口干舌燥。
第一次处女面很紧张,面试难度不算特别高,但是表现一般,有时甚至还会出现卡壳现象,丢死人了。
面试官基本就是照着简历里面的项目技术点切入然后展开。
复盘一遍后发现很多问题其实都整理过,但没有深刻理解。每个切入点的前几个问题还能招架住,再深一点就不行了。
自己准备的也欠妥,一直在搞项目胡乱背了几天八股就匆匆上阵了。
投递是个意外,约面算是惊喜,挂了也在意料之中。
这次面试也清楚了自己的实力(就是没有实力),认识到了八股的重要性,需要知其然也要知其所以然。
打算沉淀一段时间再投,希望下次别再像现在这么菜。
#如何判断面试是否凉了##0offer打卡#