首页 > 【字节前端】暑期实习提前批一二面面经
头像
Elylicery
编辑于 2021-04-16 14:57
+ 关注

【字节前端】暑期实习提前批一二面面经

2021.2

一面


1. 先聊职业发展规划(10min)
* 为什么选前端?
* 平常怎么自学前端?
* 最近的学习过程中遇到了哪些印象深刻的知识?(
2. 项目相关(这一块很混乱,建议多整理下表达)
* 如何协调和沟通需求?
* 得到产品原型后如何进行开发工作的划分?
* 什么是组件化开发?
* 项目如何部署?
3. TCP/UDP区别
* 我说TCP是按序到达的,被质疑了?我也没答出来原理
* 正确答案:https://blog.csdn.net/jiujiu372/article/details/76855199
4. 了解HTTPS吗?说说
5. script defer和async的区别
6. 跨域 jsonp/CROS
7. CSS盒模型
8. CommonJS require/import,只是知道,具体区别不清楚。
9. 异步相关
* 无具体问题,自己聊聊异步
* 浏览器的事件执行机制(Event Loop),我说的很混乱,最好还是整理一个标准化的流畅答案
* Promise和Async
* 说说Promise,项目中哪里用了
* 实现一个Promise,只说了PromiseA+决议程序,具体不了解。
10. 闭包相关
* 什么是闭包?
* 什么是自由变量?
* 你在工作中有没有用过闭包?用过,模拟私有变量的实现。
11. 题目1:说结果,讲原理

```js
console.log('begin')
setTimeout(() => {
console.log('setTimeout 1')
Promise.resolve().then(() => {
console.log('promise 1')
setTimeout(() => {
console.log('setTimeout2 between promise1&2')
})
}).then(() => {
console.log('promise 2')
})
}, 0)
console.log('end')
```

```js
begin
end
setTimeout 1
promise 1
promise 2
setTimeout2 between promise1&2
```

12. 题目2:算法题,两数之和。

> 标题:在数组中找出和值为给定值的两个数 2
> 描述信息
> 输入一维数组array和n,找出和值为n的任意两个元素。例如:
> array = [2, 3, 1, 10, 4, 30]
> n = 31
> 则结果应该输出1, 30 顺序不重要
> 如果有多个满足条件的,返回任意一对即可

**思路1:使用字典**

说了思路。问我如何改进优化?我说不用map改用object(换汤不换药)

不让用额外的空间,空间复杂度O(1)

**思路2:穷举**

暴力求解,时间换空间

面试官给提示,如果这个数组排序了呢?

**思路3:双向指针**

头尾向中间遍历,最后写了如下代码:

```js
//两数之和
var twoSum = function(array,n){
let i = 0;
let j = array.length-1;
const res  = [];

while(i!==j){
let num1 = array[i];
let num2 = array[j];
if(num1+num2 === n){
res.push(num1);
res.push(num2);
return res;
}else if(num1+num2< n){
//左侧指针右移
i +=1;
}else{
j-=1;
}
}

return res;
}

var testArray = [1,2,3,4,10,30];
var n = 13;
console.log(twoSum(testArray,n))//[3,10]
```

二面

二面后觉得自己凉了,就没整理面经,但其实过了。

三面没面,签了别的offer,就没有继续走流程了。

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐