移动互联网终端

前端面经(待整理)

ぐ巨炮叔叔 提交于 2019-11-27 13:57:07
http http相关没有特别难的,常见的了解下就没问题。 介绍Http2,优点和存在什么坑或问题(必考) HTTP报文的请求和返回会有几个部分(请求行、请求头、请求体);每部分具体都有什么(常见的请求头) GET和POST的区别 输入url到页面加载全过程(必考) 介绍HTTPS;HTTP和HTTPS的区别(必考) HTTPS加密过程 HTTP缓存控制(强缓存、弱缓存);缓存相关的HTTP请求头(必考) 对跨域的了解,跨域怎么解决(必考) cors的返回头、cors预请求,什么时候会出发预请求(必考) tcp的长连接和http2多路复用相关 tcp拥塞控制和流量控制 三次握手四次挥手,为什么三次和四次 前端性能优化(必考) css css最近问的越来越少了,只要会写常见的布局就ok,难点的答不出来也没事。相比移动端相关的会问题的比较多。 盒模型 positon的值,都是根据什么定位(注意下还有sticky) 栅格布局的原理 垂直居中布局 上中下布局,中间自适应 左中右布局,中间自适应 什么css可以减少重绘 动画相关属性 移动端适配方案(必考) 移动端适配1px的问题 lineheight属性1.5和150%区别 em和rem的区别 js 重中之重,没啥可说的刷题就完事了,而且像节流防抖、bind、promise之类的都要会手写。这里就不标必考了,因为大部分都是重点。

vue-cli + webpack 多页面实例应用

倾然丶 夕夏残阳落幕 提交于 2019-11-27 12:09:30
文章转载自: http://www.pythonheidong.com/blog/article/3054/ 常用学习资源 JS参考与基础学习系列 [MDN]JS标准参考 es6教程 JS标准参考教程 编程类中文书籍索引 深入理解JS系列 前端开发仓库 《JavaScript 闯关记》 JavaScript 初学者教程(指南) JS讲义 李炎恢JavaScript教程 第一季 逐行分析jQuery源码的奥秘 JS常用框架、库、插件 [vue] vue官网 [vue] 饿了么element UI [vue] vue-router路由 [vue] vuex状态管理 [vue] mint-ui移动端UI组件 [vue] VUX [vue] vue相关UI组件收集 [vue] Ant Design of Vue (UI组件) 报表UI组件viser-vue axios请求 ajax:Fetch jQuery中文文档 webpack中文文档 深入浅出 Webpack zeptojs中文版 bootstrap官网 echarts 微信组件weui weui github官网实例 推荐团队与博客 w3cplus w3school 前端观察 汤姆大叔博客 腾讯Web前端 Alloy 团队 Blog 张鑫旭博客 牧云云博客 qq前端月报 JS基础与技能 JS设计模式 腾讯全端 AlloyTeam

移动端

别来无恙 提交于 2019-11-27 11:14:03
前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试也不想在模拟器中调试,我想要在真机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的效果就是和 Charles学习(二)之使用Map local代理本地静态资源在Mac 上调试 移动端 中实现的效果相同,也就是说代码更改手机端页面实时更新,这个问题如何解决 呢? 方案 问题一解决方案:使用真机,需要一台iPhone和一台Android 问题二解决方案: 配置移动端代理 | 使用Map local代理本地静态资源 配置移动端代理 详情见 Charles学习(一)之macOS Charles 4.x版本的安装、激活、使用以及软件功能了解 Map local代理本地静态资源 详情见 Charles学习(二)之使用Map local代理本地静态资源在Mac 上调试 移动端 ,需要的配置全部相同。 结果 此时我们在真机里操作发起的请求都会被charles抓取到,并且我们更改代码,也可以在真机里实时查看。 来源: https://www.cnblogs.com/kunmomo/p/11359461.html

移动端

点点圈 提交于 2019-11-27 10:24:35
前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试,我想要在手机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的效果就是和 Charles学习(二)之使用Map local代理本地静态资源在Mac 上调试 移动端 中实现的效果相同,也就是说代码更改页面实时更新,这个问题如何解决呢? 方案 问题一解决方案:使用模拟器 问题二解决方案:使用Map local代理本地静态资源 使用模拟器 一、安装 通过xcode安装模拟器 二、使用 1、下载和xcode版本相对应的模拟器包 2、command + 空格 3、输入 Simulator 4、将下载的模拟器包拖入模拟器 5、安装完成 三、勾选项 勾选之后我们就可以在模拟器里操作了! Map local代理本地静态资源 详情见 Charles学习(二)之使用Map local代理本地静态资源在Mac 上调试 移动端 ,需要的配置全部相同。 结果 此时我们在模拟器里操作发起的请求都会被charles抓取到,并且我们更改代码,也可以在模拟器里实时查看。 来源: https://www.cnblogs.com/kunmomo/p/11359083.html

软件工程作业

ⅰ亾dé卋堺 提交于 2019-11-27 09:16:06
任高军 008 于谦  015 2012/12/15 首次提交作业 2012/12/16 根据老师指出的缺陷和错误进行修改(添加相关链接地址,重新查找一遍学术搜索的移动端应用产品) 作业题目博文地址: http://www.cnblogs.com/xinz/archive/2012/03/26/2417699.html 第一部分 我们用IE9和Chrome浏览器对系统介绍中的每一个功能进行了测试,仅发现一个较为影响使用的功能缺陷。 以co-author graph为例(其他如co-auther path和citation graph等也有该问题),当作者较多并且合作关系复杂时,图片叠在一起,无法看到之间的关系,如下图: http://academic.research.microsoft.com/VisualExplorer#28553 很自然的,用户会希望将图放大,也确实,右下角有缩放功能,但是放大后: 要知道用户并不是希望看到更大的图片,所以这一缩放功能的开发者未能明确该功能设计的需求依据。 修改建议:图片大小保持不变,调整两作者之间的距离。其实该系统的call for paper模块就有类似的实现: http://academic.research.microsoft.com/CFP#latest=180 第二部分 通过对开发流程描述 http://www.cnblogs

----移动端移动端调试神器vConsole----

倾然丶 夕夏残阳落幕 提交于 2019-11-27 08:52:32
我们在写webapp或者移动端网页需要嵌入到app时候,尤其是在APP内置的webView上加载我们的页面,想要查看手机浏览器信息是非常困难的事,当出现问题的时候,你又不能查看日志,一般会连接本地测试环境,然后在alert来打印日志(这种做法太蠢了),然后一遍一遍的定位bug,修改代码。使用eruda之后感觉爽爆了,解决了这个问题,这个工具就想电脑端的devtools,可以查看日志,网络,页面,Resources等 使用方法 多页面应用 在每个页面 <script src="path/to/vconsole.min.js"></script> <script> // init vConsole var vConsole = new VConsole(); console.log('Hello world'); </script> 单页应用 我们在项目的入口引用这个文件就可以 npm install vconsole var vConsole = new VConsole(); console.log('Hello world'); 来源: https://www.cnblogs.com/zjy850984598/p/11355654.html

移动UI库常用

☆樱花仙子☆ 提交于 2019-11-27 05:44:53
- PC端 https://iviewui.com/ https://element-cn.eleme.io/#/zh-CN https://vue.ant.design/docs/vue/introduce-cn/ https://vuetifyjs.com/zh-Hans/ 基于Material Design实现 https://www.heyui.top/ 一个妹子写的组件库 - 移动端 https://youzan.github.io/vant/#/zh-CN/intro 有赞-vant https://didi.github.io/cube-ui/#/zh-CN/example 滴滴Web 移动端组件库cube-ui https://github.com/airyland/vux vux https://github.com/aidenZou/vue-weui 针对 Vue 框架移植的 We UI 框架的适配 https://github.com/tianyong90/we-vue 使用 Vue2.x + weui1.x 开发的组件 https://mand-mobile.github.io/2x-doc/#/zh-CN/docs/introduce 面向金融场景的Vue移动端UI组件库 https://nutui.jd.com/#/intro

细数移动IM开发中的那些坑

血红的双手。 提交于 2019-11-27 04:06:51
移动互联网时代的来临促使我们所有的开发者都要从用户视角出发,基于某一特定场景来创建应用,满足用户需求。通常,在这些应用中,沟通环节都是必不可少的。这就要求创业者不仅要花时间和精力来琢磨用户在某一特定场景下有何痛点需求,琢磨如何解决这一需求,并且可能还要花费更多的精力和时间来解决产品中“沟通”这一技术节点。而要解决沟通问题,就需要一套IM系统,这并不容易。当然,假设你有100个用户,什么都是容易的,但是假设你有了100万、1000万甚至1亿的用户,再简单的技术节点解决不好,都会成为灾难,何况IM系统还是存在许多技术难点和坑点的。今天,我们就来梳理一下IM开发中那些可能遇到的难点及坑点。 首先,来看服务端需要考虑的问题。 1.连接器的设计:连接器主要用来管理客户端的长连接。目前最好的连接器单台8G8核的服务器可以做到70万—100万的连接,而某些开发者只能做到4000左右的连接,相差好几个数量级。这里的奥妙在哪里呢? 2.中间件的设计:是否采用通讯中间件?通讯中间件的好处有哪些?如果不采用中间件,连接器和逻辑服务器的连接关系如何管理呢? 3.逻辑服务器:逻辑服务器通常简单一点,主要是根据业务逻辑进行最小粒度的划分即可。但是即便如此,还是有很多的开发者把看似相关实则不相关的逻辑放在一起,如把鉴权和message服务器放在一起。 4.状态服务器:状态服务器主要管理用户在线、离线的相关状态

JavaScript 移动端触发事件

ぐ巨炮叔叔 提交于 2019-11-27 01:32:49
一、移动端常用的触发事件 touchstart 开始触摸事件 touchmove 开始滑动事件 touchend 触摸结束事件 touchcancel 触摸意外中断事件 二、添加事件的方式 在移动端添加 touch 事件的时候,我们可以采用 DOM 为我们提供的方法,即 addEventListener。 <script type="text/javascript"> // 1,获取dom元素 var div=document.querySelector('div'); // 2,添加事件 // 添加开始触摸事件: 当手指触摸到屏幕时触发 div.addEventListener('touchstart',function(){ console.log('touchstart'); }) // 添加手指滑动事件,当手指在屏幕上滑动时触发: move事件是持续触发 div.addEventListener('touchmove',function(){ console.log('touchmove'); }) // 添加触摸结束事件: 当手指离开屏幕时触发 div.addEventListener('touchend',function(){ console.log('touchend'); }) // 添加触摸以外中断事件 div.addEventListener(

JavaScript 移动端的tap事件

爱⌒轻易说出口 提交于 2019-11-27 01:32:36
一、移动端的 tap 事件 移动端的单击事件,我们称为 tap 事件,也就是由手指单击所触发的事件。 二、单击事件的特征 单击事件的话,我们的 changedTouches.length = 1,即: TouchList {0: Touch, length: 1} 如果 changedTouches.length > 1,那就说明不止一根手指,进行触摸了。 三、获取触摸位置 我们在获取触摸开始事件的位置时,可以使用 targetTouches ,但我们在获取触摸结束事件的时候,就不能采用这种的方式。那是因为当手指松开的时候会触发 touchend 事件,此时当前元素已经没有手指对象了,所有无法通过 targetTouches 来获取手指的坐标,此时我们可以通过 changedTouches 来获取手指的坐标。 四、处理 Touch 事件能让你跟踪用户的每一根手指的位置,可以绑定以下四种Touch事件 touchstart: // 手指放到屏幕上的时候触发 touchmove: // 手指在屏幕上移动的时候触发 touchend: // 手指从屏幕上拿起的时候触发 touchcancel: // 系统取消touch事件的时候触发。至于系统什么时候会取消,不详 //属性 client / clientY:// 触摸点相对于浏览器窗口viewport的位置 pageX / pageY:/