国际化中台事业部,三轮技术面+一轮HR面,11.15一面,11.22二面,11.30三面,127HR面,12.9意向
书,1.4offer,base杭州西溪园区一面(65min,P7):
1.项目介绍
2项目技术难点,怎么调研技术方案,怎么从用户层考虑优化方案
3场景题:前端给页面加水印,说说各种编码的特点,说说数字签名的特点

4场景题:实现协同编辑,说说你认为的技术关键点

5js数据类型,怎么区别array和object
6.原型链,es6class怎么设置原型、静态、实列方法
7letconst区别,const声明了数组,还能push元素吗,为什么?
8.说说你经常使用到的array方法,类数组怎么转换为数组,说说你知道的所有方法
9.DOM怎么添加事件
10.cookielocalstorage的区别,哪些情况和设置,请求不会携带cookie11.说说fetch,优缺点?怎么做polvfill
12Vuedata为什么是函数,深拷贝、浅拷贝
13Vue使用nextTick的原因和作用,项目哪些场景用到了nextTick

答案解析

1. 略

2. 略

3.     a主要利用创建div 然后 循环 后 append到页面最后 利用定位 旋转等属性 做成水印特效

b 编码特点 不太了解

c 数字签名  https://www.iteye.com/blog/justjavac-1144151  这个文章想到清晰的解释了这问题。

4. 协同编辑 比较好的文章。  关键点(socket通信 Quill编辑器 ot记录操作 处理中文输入 保存作者等等) 具体可以看下面的文章  从零开始设计一个Web端多人协同编辑器 - 知乎

5. 这种题 第一反应 typeof 肯定不行 返回的都是object

js其他2种  A. Object.prototype.toString.call()  B.instanceof  C.Array.isArray

const arr = [6,6,6]
const obj = {sex:1}
Array.isArray(arr) // true
Array.isArray(obj) // falseconst arr = [7,7,7]
const obj = {sex: 2}
Object.prototype.toString.call(obj)==="[object Array]" // false
Object.prototype.toString.call(arr)==="[object Array]" // trueconst arr = [8,8,8]
const obj = {sex: 2}
arr instanceof Array // true
obj instanceof Array // falseconst arr = [8,8,8]
const obj = {sex: 2}
Array.prototype.isPrototypeOf(arr) // true
Array.prototype.isPrototypeOf(obj) // false

6. 比较清晰的2个文章。

https://segmentfault.com/a/1190000010275040

es6中class类的静态方法、实例方法、实例属性、(静态属性) - 古墩古墩 - 博客园

7.

let与const都是只在声明所在的块级作用域内有效。

let声明的变量可以改变,值和类型都可以改变,没有限制。

const 声明的变量 只要不改变内存地址,就可以修改内容, push是可以的,通过索引改变值也是可以的, 因为没有改变指向地址,但是赋值是不行的,

8. 数组的方法 https://www.runoob.com/jsref/jsref-push.html

类数组:

A.概念:

  • 拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解)
  • 不具有数组所具有的方法

B.例子: var a = {'1':'a','2':'b','4':'c',length:4};

C.类数组转成数组:

var toArray = function(s){  try{  // 方法1return Array.prototype.slice.call(s);  // 方法2 // return Array.prototype.splice.call(s,0);  } catch(e){  // 方法3var arr = [];  for(var i = 0,len = s.length; i < len; i++){   arr[i] = s[i]; }  return arr;  }
}

1 js类数组转数组的方法 - 简书

2 js类数组转数组的方法(ArrayLike) - gq_orange - 博客园

3 参考文章中多看了个 isFinit 方法   JavaScript isFinite() 函数 | 菜鸟教程

isFinite() 函数用于检查其参数是否是无穷大,也可以理解为是否为一个有限数值(finite number)。

提示: 如果参数是 NaN,正无穷大或者负无穷大,会返回 false,其他返回 true。

9. addeventlistener和on 吧 感觉问的不会那么简单 这里 就说一下 这2个添加事件的区别吧

on 当多次绑定的时候 后面的会覆盖前面的

addeventlistener 可以实现多次绑定依次执行

10.  cookie 是html4 时代的东西  每次请求都会自动带上 大小4k 可操作 可禁止操作 生命周期如果不设置就是网页打开和关闭 如设置 可保存到硬盘 操作 麻烦 存储的都是字符串 切每次要自己进行切割啥的  很费劲(之前写的如何操作cookie) 等等  上文章链接 读一下 学习即可 cookies、sessionStorage和localStorage解释及区别 - pengc - 博客园

如何操作 可以不携带cookie 就是设置   默认的ajax 是不带cookie的

想带cookie 这么设置。

$.ajax({url: 'www.baidu.com',type: 'post',data: '',//  默认情况下,标准的跨域请求是不会发送cookie的xhrFields: {withCredentials: true},success: (rs) {}})

网上的文章都是不带cookie。然后想携带cookie 然后各显神通 这个问题是不携带 很奇怪 发一个 处理不带cookie的文章链接 前台请求不带cookie的问题解决方案大汇总_u013282737的博客-CSDN博客_请求头没有cookie

11.  优缺点 链接。fetch和axios的优缺点_维多利亚少年-的博客-CSDN博客_fetch和axios

如何polyfill 看这篇  讲的不要太好 fetch使用的常见问题及解决办法 - wonyun - 博客园

12.data是函数的目的是为了隔离 各个页面的data 控制作用域 防止变成全局被复用 被影响

深拷贝和前拷贝。js浅拷贝与深拷贝的区别和实现方式 - 简书

13. 上2个文章

​​​​​​https://segmentfault.com/a/1190000012861862

vue.nextTick有什么用途 - 知乎

我在项目中的使用场景   其实nexttick作用就是页面渲染完做点什么。比如 隐藏的显示后 要做什么

比如我的项目 视频源切换后 的自动播放。比如 一个文章的滚动列表  进到第3个文章 右侧的 列表要渲染完 定位到第三个 再比如做一个2个人的聊天页面 页面要一直滚动到某个位置 都是在dom渲染完后 在去定位到某个位置的

上图就是我说的 那个场景。还有更多场景 记不住了 比如app更新滚动条走到100后 进行页面修改等等

整个文章就算是答完了 希望可以帮助更多的人

面试总结系列(一)------ 国际化中台事业部相关推荐

  1. 阿里钉钉、ICBU、CBU、蚂蚁、国际化中台Java后台面经

    阿里提前批面了很多部门,除了淘系一面其他都过了,最终点了国际化中台的内推,在焦急等hr面中,分享面经,希望能帮到大家,都能拿到满意的offer~ 3.3阿里CBU一面 项目30分钟(流程+项目难点+部 ...

  2. 面试准备系列01----面试中的链表题目汇总

                                               面试准备系列01----面试中的链表题目汇总 九月份立即就要校招了,感觉时间非常是捉急啊~~~~白天要实习,就仅仅 ...

  3. “约见“面试官系列之各系列目录汇总(建议学习收藏)

    目录 2020六月系列 Oracle从小白到大牛的刷题之路(建议收藏学习) 2020七月系列 "睡服"面试官系列第一篇之let和const命令(建议收藏学习) "睡服&q ...

  4. “约见”面试官系列之常见面试题之第九十五篇之vue-router的组件组成(建议收藏)

    <router-link :to='' class='active-class'> //路由声明式跳转 ,active-class是标签被点击时的样式<router-view> ...

  5. “约见”面试官系列之常见面试题之第九十四篇之MVVM框架(建议收藏)

    目录 一句话总结:vm层(视图模型层)通过接口从后台m层(model层)请求数据,vm层继而和v(view层)实现数据的双向绑定. 1.我大前端应该不应该做复杂的数据处理的工作? 2.mvc和mvvm ...

  6. “约见”面试官系列之常见面试题之第九十三篇之vue获取数据在哪个周期函数(建议收藏)

    然后必须知道一点,vue是数据驱动的(只关心data即可),换句话说,就是,只要我能操作到 data中的数据即可. 所以,根据上面的生命周期,其实你放到 mounted中完全可以,因为这个阶段data ...

  7. “约见”面试官系列之常见面试题之第九十二篇之created和mounted区别(建议收藏)

    beforeCreate 创建之前:已经完成了 初始化事件和生命周期 created 创建完成:已经完成了 初始化注册和响应 beforeMount 挂载之前:已经完成了模板渲染 mounted :挂 ...

  8. “约见”面试官系列之常见面试题之第九十一篇之简述Vue的生命周期适用于哪些场景(建议收藏)

    答:beforeCreate:在new一个vue实例后,只有一些默认的生命周期钩子和默认事件,其他的东西都还没创建.在beforeCreate生命周期执行的时候,data和methods中的数据都还没 ...

  9. “约见”面试官系列之常见面试题之第九十篇之页面加载触发函数(建议收藏)

    第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子 本面试题为前端常考面试题,后续有机会继续完善.我是歌谣,一个沉迷于故事的讲述 ...

  10. “约见”面试官系列之常见面试题之第八十九篇之vue生命周期作用(建议收藏)

    那么vue 生命周期有哪些阶段呢 一.创建 1.beforeCreate:这个阶段实例已经初始化,只是数据观察与事件机制尚未形成,不能获取DOM节点(没有data,没有el) 使用场景:因为此时dat ...

最新文章

  1. 你们网购遇到过这种店铺吗?我吓得第二天就退货了
  2. UVA 12034 Race
  3. 成功解决Ubuntu下的make: gcc: Command not found Makefile:85: recipe for target 'obj/gemm.o' failed make: **
  4. 挖洞经验 | 看我如何发现“小火车托马斯”智能玩具APP聊天应用漏洞
  5. How is SAP UI5 Aggregation designed
  6. php上传大文件时,服务器端php.ini文件中需要额外修改的选项
  7. ajax 提交 .net ispostback不执行,ASP.NET基于Ajax的Enter键提交问题分析
  8. Pyqt 打开外部链接的几种方法
  9. 3.2 为超参数选择合适的范围
  10. linux登录后出现_bash-4.1#终端提示符异常
  11. 用于 Domino Web Access 的 Notes.ini 变量
  12. paip.提升性能---jvm java 工具使用.
  13. jaxen.jar下载地址
  14. matlab画图线形
  15. java bitset javadoc_Java数据结构: java.util.BitSet源码学习
  16. 360度评估中的问题示范:如何提问
  17. vin接口车架号vin查询车型
  18. 最长的英文单词十大排行榜
  19. 时间戳是什么?JS中时间戳的展示
  20. beforeRouteEnter中的this和与created的执行顺序

热门文章

  1. Import “github.com/gogo/protobuf/gogoproto/gogo.proto“ was not found or had errors.
  2. 固化来自哈佛,创新来自斯坦福
  3. 关于前端直播(videoJS与百度云web播放器:Cyberplayer3.0试用)
  4. C语言条件运算符详解
  5. LeetCode:459.重复的子字符串 Python3 | 判断输入的字符串是不是可以由子串多次重复构成
  6. 大学教师晋升正教授职称需要多久
  7. linux 路由器 限速,Linux服务器限速WonderShaper使用方法 | 陌小九
  8. Halcon学习之缺陷检测-凸点检测
  9. java duplicate_Duplicate spring bean id
  10. 从年薪1万到年薪100万的日子