热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

记一道腾讯前端笔试题

我今年4月投递了腾讯前端开发岗位,很可惜笔试题没通过,48小时内给出答案回复面试官,我的答案太过于简单,所以后面面试官估计也就懒得回我这个菜鸡来(嘤嘤嘤)。当然以我现在的眼光来重新

我今年4月投递了腾讯前端开发岗位,很可惜笔试题没通过,48小时内给出答案回复面试官,我的答案太过于简单,所以后面面试官估计也就懒得回我这个菜鸡来(嘤嘤嘤)。当然以我现在的眼光来重新看那份答案,都觉得那不应该是一个一年的前端开发工作者给出的答案。

话不多说,下面给出面试题吧

一、腾讯线上面试原题和附带材料

1. 面试原题截图

《记一道腾讯前端笔试题》

2. 附件

《记一道腾讯前端笔试题》

具体的psd文件点击前往
谷歌云盘获取

二、题目分析

首先我目前只针对前端做题目分析,当然全栈大佬们还会顺带实现切图,用户体验设计,后台,运维等等

2.1 高精度还原

考察
ps工具的使用,因为附件中面试官给的材料是psd格式文件。需要自己去切图、取色、取间隔大小

2.2 使用Vue,合理规划组件

考察你对
框架的理解和运用能力。这个框架的选择无大碍,大概是因为当初我简历上Vue的项目比较多,所以面试官选择让我用Vue实现。当然,你用React或者其他也行

2.3 支持手势滑动和左右切换Tab

对我这种初级前端工程师,更多考察我对第三方库的运用,而不是让我造轮子。

2.4 下载态的更换和小动效

考察异步和css基本能力

2.5 48小时内回复

这应该是最难的一点。毕竟大公司,追求速度效率,谁能在规定时间内交出一份令人更满意的答案,谁更能得到青睐。

三、项目分析

这道题看起来很简单,应该很多人会直接上手撸代码,边做边改。

这时候我们不妨放慢脚步,慢慢欣赏这张UI设计图。

忽略头部,专注主体

红框内是手机浏览器自带可忽略,硬要说考虑,那就只有“游戏分类”这4个字了= =

《记一道腾讯前端笔试题》

Tab部分

  • 重点在于这部分要配合底部列表的滑动切换,从项目结构来看,就是涉及到Tab组件与List组件之间的通信
  • 从用户体验上来看,我们还喜欢在切换的时候,底下的Tab滑动条不是瞬变的,而是随着页面一起滑动。
  • 从程序涉及的可延伸性来看,我们还希望,Tab组件不应该是6个固定值,而应该是可配置的,如果超过6个,Tab也可以滑动。

《记一道腾讯前端笔试题》

列表部分

  • 重点在于长列表处理,考察懒加载下拉加载
  • 如果还注重细节,那还要考虑切换Tab的再次回来的时候,原先的Tab页面是否需要缓存位置;各种边界情况的处理,比如说空数据,网络错误等等;上拉刷新页面;左右切换实现过渡效果

《记一道腾讯前端笔试题》

四、答题前的准备

1. react配合webpack

思否上也有从0开始webpack配置react脚手架的详细教程

我自己按流程搭建的脚手架git地址

2. 脚手架准备好了,那么接下来我们需要分析页面结构

  • 头部Tab组件,这个实现比较简单,那我们就原生实现
  • 可左右滑动,上拉刷新,下拉加载的列表页。下滑列表采用第三方库better-scroll再次封装出一个组件
  • 2个组件之间要相互通信,这样左右滑动的时候,导航栏可以跟着滑动。通信方式我们采用redux
  • 暂时先用mock数据模拟数据

目录结构

├── src
│ ├── pages // 页面
│ ├── components // 组件
│ ├── store // redux数据源

推荐阅读
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 前端技术分享——利用Canvas绘制鼠标轨迹
    作为一名前端开发者,我已经积累了Vue、React、正则表达式、算法以及小程序等方面的技能,但Canvas一直是我的盲区。因此,我在2018年为自己设定了一个新的学习目标:掌握Canvas,特别是如何使用它来创建CSS3难以实现的动态效果。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 本文详细介绍了在企业级项目中如何优化 Webpack 配置,特别是在 React 移动端项目中的最佳实践。涵盖资源压缩、代码分割、构建范围缩小、缓存机制以及性能优化等多个方面。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 本文将指导如何向ReactJS计算器应用添加必要的功能,使其能够响应用户操作并正确计算数学表达式。 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
author-avatar
手机用户2502907701
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有