热门标签 | 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数据源

推荐阅读
  • DOM事件大全
    1.事件:js与html的交互就是通过事件的,观察者模式2.事件流:从页面中接收事件的顺序IE::事件冒泡流,事件冒泡,事件从最具体的元素接收,然后逐级向上传播,主流浏览器都支持N ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了Cocos2dx学习笔记中的更新函数scheduleUpdate、进度计时器CCProgressTo和滚动视图CCScrollView的用法。详细介绍了scheduleUpdate函数的作用和使用方法,以及schedule函数的区别。同时,还提供了相关的代码示例。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
  • 我正在尝试使用scrapycrallsingle运行完美运行的scrapy蜘蛛,但我无法在python脚本中运行它.主要问题是从不执行SingleBlogSpider.parse方 ... [详细]
  • 用LGWR WORKER的例子介绍strace分析Oracle数据库行为的方法
    可观测性能力是IT运维的强有力的支撑。日志告警、指标是两种在运维中很常用的可观测性指标。 ... [详细]
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社区 版权所有