百度

一面

  • 写一个左边img右边消息的布局

使用flex写
使用float写
使用绝对布局写

  • 多行文本省略号

单行
white-space:nowrap;//不换行
text-overflow:ellipsis;//省略号
overflow:hidden;
多行
display:-webkit-box;//必须
-webkit-box-orient:vertical;//排列方式,必须
-webkit-line-clamp:3;//行数
text-overflow:ellipsis;

display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;
1.-webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:
2.display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
3.-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

  • 可以继承的css元素

不可继承的:display、margin、border、padding、background、height、min-height、max- height、width、min-width、max-width、overflow、position、left、right、top、 bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、 page-bread-before和unicode-bidi。

所有元素可继承:visibility和cursor。

内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、 font-family、font-size、font-style、font-variant、font-weight、text- decoration、text-transform、direction。

块状元素可继承:text-indent和text-align。

列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。

表格元素可继承:border-collapse。
可继承就是父节点设置了这个属性后,子节点就可以继承他的属性

  • inline-block布局的问题(空白间隙)

这是因为字符占有一定的空间,导致了空白位置,设置

letter-spacing:-3px;
font-size:0;

可以解决。

  • 前端数据本地缓存的方式

1、cookie
2、localStorage
3、sessionStorage
  • storage如何为缓存的数据加上时间失效限制

新建一个关于时间的字段,在每次取值的时候与当前的时间做减法,然后与失效时间做判断。

  • instanceof的原理

instanceof是基于继承的方式进行判断,将left的proto和右边的prototype进行===的比较。

  • node中继承会有__proto__

是的,node中继承也有proto

  • 手写Promise.All,并且在这个All中加一个超时时间

1、使用setTimeout方式,在一个promise.all中设置。
2、将setTimeout封装成promise,然后使用promise.race来输出最快的promise。

  • 判断一个对象是正则对象(判断类型)

1、instanceof

内部使用原型链的方式进行比较。
所以必须是引用类型,不可以是基本类型。
但是!!如果使用new创建的string为对象(引用类型)

2、typeof

只能对基本类型进行判断,对引用类型(Array、RegExp)返回object

3、constructor
str.constructor == String    //true
arr.constructor == Array     //true
4、toString
Object.prototype.toString.call(arr)      //"[object Array]"
Object.prototype.toString.call(str)      //"[object String]"
5、原型链比较proto
str.__proto__ == String.prototype      //true
arr.__proto__ == Array.prototype      //true
  • typeof的局限

  • react写一个组件,这个组件可以监听到子组件的click或者hover事件

        document.addEventListener('click', function(e){
            console.log(e.target.className)
        })
  • 使用for in会出现什么问题

Array.prototype.is = true;
var a = [1,2];
for(var i in a) {
  console.log(a[i]);
}
 //1
 //2
 //true

//所以数组的遍历中千万不要用for in,我们一般对对象的遍历使用。同时上面的i变量是string,并不是number

二面

  • 学过算法吗,解释一下树,平衡树,搜索树

  • 用过vuex吗,说一下都由哪些部分构成,动作在action和mutition哪个里面完成,哪个可以异步,为什么?

  • 如果让你设计一个dialog,你会如何设计他的props

  • 了解过setIntervar和setTimeout吗?可以用setTimeout实现一个setInterval吗?

  • 做过小程序开发,小程序都有哪些生命周期?

  • 使用taro开发小程序有哪些体会?

  • 说说你常用的webpack loader

  • CSS实现一个梯形

  • 说说跨域方式?

  • 说说前端优化方式?

  • setTimeout+promise看输出问题

  • 设计一个计算器,可以输入数字并进行加减。

  • 给定一个字符串,输出重复第二多的字符。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容