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

前端实习面试记录(一)

初次面试惨败最优算法:

前端实习面试记录(2019.2.27)

初次面试 惨败

CSS部分

1.利用border的特性实现

CSS实现三角形

JS部分

1.数组乱序

arr.sort(function(){
    return Math.random() - 0.5;
})

最优算法: Fisher–Yates shuffle 洗牌算法

2.for in 和 for of

for in for of
Array 遍历当前实例以及其原型链上所有 可枚举的 key 只遍历当前实例中的所有 value ,不涉及原型链
Object 遍历当前实例以及其原型链上所有 可枚举的 key , 通常需要 Object.hasOwnProperty 过滤。也可以直接用Object.keys(),该函数不会遍历到原型链 报错 typeError

for in 遍历的是键,for of 遍历的是值, for in 一般用于对象的遍历,不会用在数组上。

Js中for in 和for of的区别

3.promise

Promise构造函数接收的函数中, 调用resolve()之后的代码仍然会执行 ,它在被new的时候是同步执行的,然后再考虑微任务的问题

console.log('test start')
var promise = new Promise(function(resolve, reject){
    console.log('promise start');
    resolve('testing');
    console.log('promise end');
})
promise.then(function(value){
    console.log(value);
})
console.log('test end');

前端实习面试记录(一)

4.监听一段时间内用户对我方网页的所有操作

到现在我也想不到如何监听 document 的所有事件,总不能让我把所有事件种类都监听吧。

在这里只写一个 click 事件

document.addEventListener('click', function(e){
    e = e || window.event; 
    // firefox下window.event为null, IE下event为null
    stopBubble(e);
    preventDefault(e);
    console.log(e.target);
}, false);
function stopBubble(e) { // 组织冒泡
    if(e && e.stopPropagetion){
        e.stopPropagation(); // w3c
    } else {
        window.event.cancelBubble = true; 
    }
}
function preventDefault(e){ // 组织浏览器默认行为
    if(e && e.preventDefault) { // w3c
        e.preventDefault()
    } else { // ie
        window.event.returnValue = false;
    }
    return false; 
}

综合方面

1.图片懒加载和预加载

  • 懒加载也可称作 延迟加载
    懒加载就是先将页面内的所有图片的真实地址放在一个属性( data-url )里, 并将 src 先设置为1px的小图片,当触发某些条件(图片进入视野)时,再将图片的src换成真实地址。使页面加载速度快、可以减轻服务器的压力,节约了流量,用户体验好。
  • 预加载
    提前加载图片,当用户需要查看时可直接从本地缓存中渲染 ,可以使用css或js实现。
  • 详细解释: 懒加载和预加载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 我们


推荐阅读
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 更新vuex的数据为什么用mutation?
    更新vuex的数据为什么用mutation?,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 使用方法:将要控制的角色拖到TargetBody,将相机的焦点拖到CamerPivot,,建议CameraPivot是一个放在TargetBody下的子物体,并且位置应该是在Tar ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 本文介绍了如何在 Spring 3.0.5 中使用 JdbcTemplate 插入数据并获取 MySQL 表中的自增主键。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
author-avatar
姑获_626
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有