当前位置: 首页 > 面试经验 >

图森前端实习一面

优质
小牛编辑
166浏览
2023-03-28

图森前端实习一面

面试题

  1. 自我介绍✅
  2. 项目介绍,两个项目都介绍了一遍✅
  3. 项目拖拽怎么实现的?✅
  4. 讲解群聊和私聊怎么实现的?✅
  5. 讲讲 Websocket?✅
  6. Websock 为什么是长连接的?✅
  7. 说说心跳续约是什么✅
  8. 心跳续约的原理?❌
  9. 怎么判断对方在不在线?❌
  10. 哪一方判断?客户端还是浏览器?❌
  11. 场景题:如果自己不用事件监听实现滚动条自动更新到最新位置,应该怎么做?❌
  12. 说说 rem 与 em 的区别?✅
  13. 有没有根据不同的设备调整 html 的 font-size?❌
  14. 登录怎么做的?✅
  15. 为什么不用Cooke?✅
  16. 为什么Cooke会增加服务器开销?❌
  17. 什么是 JWT?✅
  18. token是怎么生成的?✅
  19. 非对称加密流程❌ (之前整理过很详细的流程,面试时怎么也想不起来了,紫砂了)
  20. 非对称加密为什么安全?❌
  21. 跨域是怎么做的,有没有其他方法?✅
  22. 讲讲CORS原理?✅
  23. 其中的响应头、请求头叫什么?✅
  24. 讲讲反向代理解决跨域的原理?❌
  25. 说说XSS攻击,如何防御,防御原理?✅❌❌
  26. 了解过Cookie吗,说一下Cookie的属性?✅
  27. localstorage 和 sessionstorage 区别?✅❌
  28. sessionstorage 在多个窗口之间会共享吗?❌
  29. 什么是深拷贝?和浅拷贝有啥区别?✅
  30. 说说 Promise 有哪些API?✅
  31. 说说 Promise.race✅
  32. Promise输出题,详细说说具体流程?✅

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 缓存✅

请你设计并实现一个满足 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打卡#
 类似资料: