前端面试题积累

1.    什么时候用数组,什么时候用对象?

 

 

 

 

 

 

 

 

2.    你写的源代码到客户从浏览器能访问到,中间大体经过哪些步骤(从前端工程化角度)?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.    sourcemap有什么作用?

 

 

 

 

 

4.    写一个react组件实现从10秒开始倒计时

class Countdown extends React.Component {

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

5.    现学现用:

现有transfrom函数,第一个参数接收一个object,第二个参数接收一个callback迭代器,第三个参数接收初始值。callback的第一个参数result在第一轮迭代是初始值,后续是上一次迭代callback的返回值,第二、第三个参数value、key对应到当前迭代object一个键值对。

举例:

       scores = {'小明': {'数学': 95, '语文': 78}, '小红': {'数学': 85, '语文': 86}}

sanhaoFilter = score => score['数学'] > 80 && score['语文'] > 80;

sanhaoStudents = transform(scores, (result, value, key) => {

  sanhaoFilter(value) && result.push(key);

  return result;

}, []); // 求得三好学生的结果是:[‘小红’]

求解:

likes = {'小红': '香蕉', '小明': '桃子', '小胖': '香蕉'}

1、 求出每一种水果,分别都有谁爱吃:{'香蕉': ['小红', '小胖'], '桃子': ['小明']}

fruits = transform(likes, (result, value, key) => {

 

 

 

 

 

 

 

 

 

 

}, {});

2、 求出是否有人喜欢吃桃子:true

isAnyoneLikePeach = transform(likes, (result, value, key) => {

 

 

 

 

 

 

 

 

 

 

},               );

3、 类比数组原生的reduce方法,你认为reduce可以替代实现其他哪些原生的方法?

 

 

6.    简要写出代码,原生html、js实现一个仅支持输入手机号的PhoneBox的react组件

class PhoneBox extends React.Component {

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

7.    一句话简要说明react技术栈与jquery开发思路的不同

 

 

 

 

8.    redux的reducer中为什么不能有异步逻辑?为什么不可以直接修改state的引用?

 

 

 

 

 

 

 

 

 

 

 

 

9.    从url如 http://baidu.com?key1=val1&key2=val2中,求出key1对应的值

 

 

 

 

 

 

 

 

 

 

 

 

 

10. 简要说出如何解决客户在短时间内多次提交同一表单?

 

 

 

 

 

11. 简要说出hash从首页的#/home切换到详情页的#/detail&id=1 react技术栈如何实现页面变化的

 

 

 

 

 

 

 

12. 要实现如下react公共组件,props、state和handler设计:

 

如果对于这种包含子节点的树形结构hold不住,也可以简化为非树形的设计

props: {

 

 

 

 

 

}

state: {

 

 

 

}

handleXXX: 

posted @   Sameen  阅读(51)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示