伴鱼前端面试(一面)

面谈环节

  • JS数据类型;
  • 判断数据类型的方式;
  • 原型链和集成;
  • HTTP缓存策略;
  • 页面性能优化策略;
  • APP和H5通信方式;
  • call/apply/bind区别;
  • new关键字实现过程;
  • 响应式开发方案;
  • 项目难点及成长点

    笔试环节

    1. 请写出下面代码的输出内容

console.log(1);
setTimeout(() => {
  console.log(2);
  Promise.resolve().then(data => {
    console.log(3);
  });
});
new Promise((resolve) => {
  resolve()
  console.log(4)
}).then(() => {
  console.log(5);
  setTimeout(() => {
    console.log(6);
  });
}).then(() => console.log(7))
console.log(8);

//输出 1 4 8 5 7 2 3 6  

2.请写出下面代码的输出内容

console.log(fish1,fish2,fish3);
// undefined undefined undefined   
var fish1 = function(){
  console.log('welcome to Palfish-1')
}

var fish1,fish2,fish3;

function fish2(){
  console.log('welcome to Palfish-2')
}
var fish3 = 'welcome to Palfish-3'
var fish1,fish2,fish3;
console.log(fish1,fish2,fish3);    
// f1() f2() 'welcome to Palfish-3'

3.请写出下面代码的输出内容

var nickname = "LiLei";
function Person(name){
  this.nickname = name;
  this.sayHi = function() {
    console.log(this.nickname);
    setTimeout(function(){
      console.log(this.nickname);
    }, 1000);
  }
}
var Male = {
  nickname: 'xiaofang',
  sayHi: () => {
    console.log(this.nickname);
  }
}
var person = new(Person.bind(Male, 'XiaoHong'));   
person.sayHi(); // ==> XiaoHong LiLei

4.请写出下面代码的输出内容

let object = {a:0};
function fun(obj) {
    obj.a=1;
    obj={a:2};
    obj.b=2;
}
fun(object);
console.log(object);  // ==> 输出:{a:1}

编程题(任选一)

5.实现一个LazyMan,可以按照以下方式调用:

LazyMan(“Hank”)输出:
Hi! This is Hank!

LazyMan(“Hank”).sleep(10).eat(“dinner”)输出
Hi! This is Hank!
//等待10秒..
Wake up after 10
Eat dinner~

LazyMan(“Hank”).eat(“dinner”).eat(“supper”)输出
Hi This is Hank!
Eat dinner~
Eat supper~

以此类推。

2. 找出二叉树中某两个节点的第一个共同祖先,不得将其他的节点存储在另外的数据结构中。

例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4],相应的树型结构为:

    3
   / \
  5   1
 / \ / \
6  2 0  8
  / \
 7   4
示例 1:
输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1
输出: 3
解释: 节点 5 和节点 1 的最近公共祖先是节点 3。
示例 2:
输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4
输出: 5
解释: 节点 5 和节点 4 的最近公共祖先是节点 5。因为根据定义最近公共祖先节点可以为节点本身。

说明:

  • 所有节点的值都是唯一的
  • p、q 为不同节点且均存在于给定的二叉树中。
// 二叉树数据结构:
function TreeNode(val) {
  this.val = val;
  this.left = this.right = null;
}
// your code here:
#面经##伴鱼少儿英语##前端工程师#
全部评论
原来还有笔试的
点赞 回复
分享
发布于 2021-03-25 17:46
可以问下大概面了多长时间吗
点赞 回复
分享
发布于 2021-03-30 16:38
阅文集团
校招火热招聘中
官网直投
一面还要写这么多吗?
点赞 回复
分享
发布于 2021-03-30 21:58
楼主你好,请问你是实习、校招还是社招?
点赞 回复
分享
发布于 2021-04-14 21:06

相关推荐

今天两个小公司面试先开帖👨🏻‍💻 3.26🕒 面试1/10.00 13min/预计20min1.😎就问了项目(小程序相关)2.防抖和节流反问技术栈:现在这个vue2,下一个vue3🤔 笔试感受怎么感觉好水,但本土实习很不错啊,通勤70min我也忍了,问了下到岗时间,还很平易近人的跟我说希望尽快到岗,但你有学业压力的话还是可以放宽的,我天哪,好温柔😭🕒 面试2/16.00  /预计30min可恶被鸽了,改到晚上七点了感觉要被拷打 准备直接开摆🕒 面试3/17.00短短二十分钟问了这么多题### CSS1. display属性值2. div居中布局(主轴和侧轴的属性)3. div隐藏属性(多几个)4. 相对布局和绝对布局的理解5. position6. CSS长度单位7. box-sizing### JS1. 数据类型2. 数组常用的方法3. 数组增加一个自定义的方法4. 原型链的理解5. var和let、const的区别6. ES6新增加的特性### Vue1. Vue2初始化在那个生命周期加载2. v-if和v-show3. v-model实现双向绑定的原理4. 组件多层嵌套如何通信5. Vue渲染一个列表的key值的作用6. 对其他框架有了解吗7. 举例说说实现的Vue封装的复杂的组件8. 页面加载比较慢,考虑什么方式进行优化### 其他1. 遇到问题怎么办2. 怎么学的前端3. 最近在学啥4. 项目为啥做电商平台5. 那些方面体现了对前端的热爱6. 最近看到的比较热门的开源项目### 反问1. 技术栈2. 到岗时间3. 有双休吗
点赞 评论 收藏
转发
4 8 评论
分享
牛客网
牛客企业服务