参考 前端进阶面试题详细解答react-router4的核心路由变成了组件分散到各个页面,不需要配置 比如<link> <route></route>React 16中新生命周期有哪些关于 React16 <Link>做了3件事情:有onclick那就执行onclickclick的时候阻止a标签默认事件根据跳转href(即是to),用history (web前端路由两种方式之一,history & hash /> </React.Fragement> ); }}父组件重新渲染只要父组件重新渲染了,即使传入子组件的 props 未发生变化,那么子组件也会重新渲染,进而触发 render(2) Create React App 项目直接创建一个具有 typescript 的 Create React App 项目: npx create-react-app demo --typescript(2) '/getData', getInitTodoItemAction) // 发送函数类型的action时,该action的函数体会自动执行 store.dispatch(action)}(2)
前端面试之CSS ---- display: none; 与 visibility: hidden; 的区别 联系:它们都能让元素不可见 区别: display:none;会让元素完全从渲染树中消失 p:nth-child(2) 选择属于其父元素的第二个子元素的每个
元素。 :after 在元素之前添加内容,也可以用来做清除浮动。 #id1{ } /*权重为100+1=101*/ #id1 div{ } /*权重为10+1=11*/ .class1 div{ } /*权重为10+10+1=21*/ .class1 .class2 CSS可以拆分成2部分:公共CSS 和 业务CSS: 网站的配色,字体,交互提取出为公共CSS。这部分CSS命名不应涉及具体的业务 对于业务CSS,需要有统一的命名,使用公用的前缀。 一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度 方案1: .sub { height: calc(100%-100px); } 方案2: .container
2. 标签定义文档或者文档的一部分区域的页眉。元素应该作为介绍内容或者导航链接栏的容器。 六、表单控件,calendar、date、time、email、url、search 七、新的技术webworker, websocket, Geolocation 2 HTML为什么只需要写<! 区别2: link 引用 CSS 时,在页面载入时同时加载;@import 需要页面网页完全载入以后加载。
(1)hash 模式的实现原理早期的前端路由的实现就是基于 location.hash 来实现的。其实现原理很简单,location.hash 的值就是 URL 中 # 后面的内容。 (2)history 模式的实现原理HTML5 提供了 History API 来实现 URL 的变化。 有时候,可能遇到这样的情况,DOM1的数据发生了变化,而DOM2需要从DOM1中获取数据,那这时就会发现DOM2的视图并没有更新,这时就需要用到了nextTick了。 常用的2个属性 include/exclude,2个生命周期 activated, deactivated参考 前端进阶面试题详细解答Vue路由的钩子函数首页可以控制导航跳转,beforeEach,afterEach 利用自定义事件new Event()创建这两个事件,并全局监听:<body> <button onclick="goPage<em>2</em>()">去page2</button>
你好,我是前端岩家兴,很高兴以这种方式遇见你,废话不多说,直接发面试题吧,做完找我对答案,2333333333。 先做十题压压惊 这位选手,请问你对Javascript的垃圾回收机制有了解吗?
Create React App 项目直接创建一个具有 typescript 的 Create React App 项目: npx create-react-app demo --typescript(2) componentDidUpdate -- 常用于更新 DOM,响应 prop 或 state 的改变componentWillUnmount -- 在这你可以取消网络请求,或者移除所有与组件相关的事件监听器参考 前端进阶面试题详细解答何为 <Parent>
该meta标签的作用是让当前viewport的宽度等于设备的宽度,同时不允许用户手动缩放。当然maximum-scale=1.0, user-scalable=0不是必需的,是否允许用户手动播放根据网站的需求来定,但把width设为width-device基本是必须的,这样能保证不会出现横向滚动条。
/* 答: 微信小程序采用JavaScript、WXML、WXSS三种技术进行开发,从技术讲和现有的前端开发差不多,但深入挖掘的话却又有所不同。 // 4、xss与csrf两种攻击原理和前端的防护方法? var arr=[1,2,3,4,5,1,2,3]; // 8、使用正则验证前端录入的邮箱地址是否正确? [a-zA-Z0-9]{2,6}$/;//邮箱验证 // 9、简述ajax的原理,并说明如何实现跨域? 2XX系列:代表请求已成功被服务器接收、理解、并接受。这系列中最常见的有200、201状态码。
指向对象本身:var a = 1;var obj = { a:2, fn:function(){ console.log(this.a) }}obj.fn() //输出2 (3)构造函数 参考 前端进阶面试题详细解答10.如何改变this指针的指向?可以使用apply、call、bind方法改变this指向(并不会改变函数的作用域)。 (1,2,3))) //--apply 输出3 console.log(Math.max.call(null, 1,2,3)) //--call 输出3 console.log(Math.max.bind ,import则是导出值的引用; (4)require时运行时动态加载,import是静态编译; (5)require调用时默认不是严格模式,import则默认调用严格模式.前端面试指南系列传送门: 前端面试指南之Vue面试题总结前端面试指南之HTML面试题总结前端面试指南之CSS面试题总结
“全方位总结一下所遇到的面试题目,与大家共同学习,也是对自己的一次总结” 前言 今天给朋友们分享我花了将近一个月时间,参考了很多网上的优质博文和项目整理的一份比较全面的前端面试题集,还有面试前刷过的题目 说说 title 和 alt 属性 HTML全局属性(global attribute)有哪些 2、CSS面试题 ---- 让一个元素水平垂直居中,到底有多少种方案? 浮动布局的优点?有什么缺点? 如何让if(a == 1 && a == 2)条件成立? … 4、前端框架面试题 ---- Vue Vue 双向绑定原理 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程? 2)自我介绍:除了基本个人信息以外,面试官更想听的是你与众不同的地方和你的优势。 3)项目介绍 4)前端开发的职业现状和前景是什么? 5)平时是如何学习前端开发的? 当你把大厂面试题知识点都看完并且理解了,以后就没有你过不了的前端面试。资源都帮你整理好了,还不学就有些说不过去了。 不想每次面试都像菜市场上廉价的白菜一样让人挑选,那就让自己强大起来。
参考 前端进阶面试题详细解答为什么 0.1 + 0.2 != 0.3,请详述理由因为 JS 采用 IEEE 754 双精度版本(64位),并且只要采用 IEEE 754 的语言都有该问题。 所以我们得出 0.1 = 2^-4 * 1.10011(0011),那么 0.2 的演算也基本如上所示,只需要去掉第一步乘法,所以得出 0.2 = 2^-3 * 1.10011(0011)。 所以 2^-4 * 1.10011...001 进位后就变成了 2^-4 * 1.10011(0011 * 12次)010 。 那么把这两个二进制加起来会得出 2^-2 * 1.0011(0011 * 11次)0100 , 这个值算成十进制就是 0.30000000000000004下面说一下原生解决办法,如下代码所示parseFloat 2.
2,ng-repeat迭代数组的时候,如果数组中有相同值,会有什么问题,如何解决? 会提示 Duplicates in a repeater are not allowed. 1、Service 2、events,指定绑定的事件 3、使用 rootScope 4、controller之间直接使用parent, 6,angular 的数据绑定采用什么机制? Angular1.x 中常用 ngRoute 和 ui.router,还有一种为 Angular2 设计的 new router(面向组件)。后面那个没在实际项目中用过,就不讲了。 强约束 导致学习成本较高,对前端不友好。 但遵守 AngularJS 的约定时,生产力会很高,对 Java 程序员友好。 step2:angular回继续解析,找到{ {}}表达式,并解析成变量。 step3:接着会解析带有ng-controller的div然后指向到某个controller函数。
更多的是为什么要这样用,手写算法,预测输出结果之类的面试题。 name = "hunt_bo"; return function(){ console.log(name); } } console.log(name);//---------------2 var fun1 = addCount(); var fun2 = addCount(); fun1();//1 fun1();//2 fun1();//3 fun2();//1 fun2();//2 所以说虽然fun1和fun2都是addCount(),但是呢都创建了新地址,都是自己的,互不干扰。 = outerFn(); inner1();//1 inner2();//1 inner1();//2 inner1();//3 inner2();//2 inner2();//3 这个跟例子2是一样的道理
,而是可以同时做其他的事情,等到有了结果它自己会根据设定进行后续操作,与此同时,页面是不会发生整页刷新的,提高了用户体验 (1)创建XMLHttpRequest对象,也就是创建一个异步调用对象 (2) 及验证信息 (3)设置响应HTTP请求状态变化的函数 (4)发送HTTP请求 (5)获取异步调用返回的数据 (6)使用JavaScript和DOM实现局部刷新 ajax是一种创建交互式网页的计算 2, 1、浏览器会开启一个线程来处理这个请求,对 URL 分析判断如果是 http 协议就按照 Web 方式来处理; 2、调用浏览器内核中的对应方法,比如 WebView 中的 loadUrl 方法; 3 (2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息. (3)设置响应HTTP请求状态变化的函数. (4)发送HTTP请求. (5)获取异步调用返回的数据. 请使用 POST 请求: 无法使用缓存文件(更新服务器上的文件或数据库) 向服务器发送大量数据(POST 没有数据量限制) 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠 15、前端需要注意哪些
能说说跟vue2的区别吗?1. 1.3~2倍SSR速度提高了2~3倍图片1.2 体积更小通过webpack的tree-shaking功能,可以将无用模块“剪辑”,仅打包需要的能够tree-shaking,有两大好处:对开发人员,能够对 在Vue 2.x 中,应用根容器的 outerHTML 将替换为根组件模板 (如果根组件没有模板/渲染选项,则最终编译为模板)。 参考:前端vue面试题详细解答谈一下对 vuex 的个人理解vuex 是专门为 vue 提供的全局状态管理系统,用于多个组件中数据共享、数据缓存等。 components/new/input,如果使用绝对路径,只需要全局搜索替换再加上绝对路径有全局的语义,相对路径有独立模块的语义src 外的文件不应该被引入vue-cli脚手架已经帮我们做了相关的约束了,正常我们的前端项目都会有个
2年工作经验出去接受社会的毒打,参与的前端社招的公司和题目的记录如下,后续可能还会有增加,先暂时记录这么多: 头条 一面: 在一面之前先是做题,做题时间为40分钟,主要的笔试题和面试中涉及的部分包括以下 等库存在,设计原理上有什么区别 观察者模式和订阅发布模式有什么区别 vuex用的什么模式 小程序为什么设计双webview FIS和webpack最大的区别的是什么 平时有看什么书,怎么总结学习 怎么看待前端技术变革和发展 : 项目相关,主要考察整体项目拆分划分设计能力 五面:HR面 滴滴 一面: 一面是卷子,大概一共有10+道题,还有一些扩展延伸的问题,顺序和题目可能有点记不太清不太全了,面试感受是侧重全栈,不仅仅是有前端基础 样式计算优先级 事件循环Event Loop,浏览器和node端有什么区别 node前后端交互过程 node中间件 … 二面: 两道设计题: 页面编辑器,类似于提供很多组件,实现选择式去拼凑一个页面,而不是前端自己再切图
= await testAsync(); console.log(v1, v2); } test(); await 表达式的运算结果取决于它等的是什么。 (1)(2, 3, 4)); console.log(addCurry(1, 2)(3)(4)); console.log(addCurry(1, 2)(3, 4)); console.log(addCurry (1, 2, 3)(4)); console.log(addCurry(1, 2, 3, 4)); 说一下vue3.0你了解多少? -- 响应式原理的改变 Vue3.x 使用Proxy取代 Vue2.x 版本的Object.defineProperty --> <! (2)最大限度减少关键资源的数量:删除它们,延迟它们的下载,将它们标记为异步等。 (3)优化关键字节数以缩短下载时间(往返次数)。
variable 返回值: undefined 值未定义 boolean 布尔值 string 字符串 number 数值 object 对象、null function 函数 (2) textarea, cite, 1)块级元素会独占一行,其宽度自动填满其父元素宽度 行内元素不会独占一行,相邻的行内元素会排列在同一行里,知道一行排不下,才会换行,其宽度随元素的内容 而变化 2) log n) 如果使用最佳的现在版本 * 堆排序 ( heapsort ) — O(n log n) * 快速排序 ( quicksort ) — O(n log n) 期望时间 , O(n2)
面试题资源来源:牛客网 说一下类的创建和继承 请讲一下类的创建和继承的具体过程,以及类的继承形式和特点 类的创建方式: 1、工厂模式:在函数里定义一个对象,最后return这个对象。 2、构造函数模式 构造函数也是函数,只不过可以用来创建对象。要创建构造函数的新实例,必须要用new操作符调用构造函数。 = new Person("lily", 20, "student"); //person1 person2 缺点:每个方法都要在每个实例上重新创建一遍。 懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。 如何做"前端工程化"? 前端工程化就是为了让前端开发能够“自成体系”,个人认为主要应该从模块化、组件化、规范化、自动化四个方面思考。 前端安全性问题 xss跨站脚本攻击原理?如何进行?
(加载时间指感知的时间或者实际加载时间) · 1.优化图片 · 2.图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方) · 3.优化CSS(压缩合并css,如margin-top, 2. CSS 2.1. 列举不同的清除浮动的技巧,并指出它们各自适用的使用场景。 使用空标签清除浮动。 2.普通的函数调用,函数被谁调用,this就是谁。 3.2. 你是如何测试JavaScript代码的? 结合自己的项目经验进行讲述。(chrome使用技巧) 3.3. 2.$.fn中的fn是什么意思,其实是prototype,即$.fn=$.prototype; 具体用法请看下面的例子: $.extend({ add:function(a, b) { 计算属性和方法的区别 其他 1.css只在当前组件起作用 答:在style标签中写入scoped即可 例如:<style scoped></style> 2.v-if 和 v-show 区别 答:v-if