前端面试题

1、移动端你遇到过什么兼容问题?

1、如果在input设置边框颜色在ios系统里会出现兼容性问题,需要在外面加一个div设置div的边框代替input边框。
2、文字溢出,用overflow:auto做滚动条在ios上面会卡顿,需要用iscroll解决。
3、防止手机中网页放大和缩小。
4、禁用自动匹配手机号、地址、email。
5、用好rem和css3的媒体查询解决适配问题。
6、ios和android下触摸元素时出现半透明灰色遮罩。用 -webkit-tap-highlight-color:rgba(255,255,255,0)解决。
7、iphone及ipad下输入框默认内阴影。用-webkit-appearance:none;解决。
8、移动端点击穿透问题。尽量不用要touch事件,用click事件,然后防止冒泡就事件可以了

2、http和https的区别?

http是超文本传输协议。用于Web浏览器和网站服务器之间传递信息。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。可以防止抓包的问题,一般做接口都是使用https。

3、如何提高网页性能?

1、用图片懒加载减少请求数。
2、用好伪元素降低标签的数量。
3、不要有冗余代码。
4、用好打包合并压缩工具,将css、js文件合并压缩,减少请求数。常见的工具:grunt、gulp、webpack。最强大的合并压缩工具:grunt。

4、移动端的适配怎么做?

最常用的就是rem和css3媒体查询。

5、什么是闭包?在开发项目时什么地方用闭包?

闭包就是父函数给子函数传值,解决作用域问题。比如做一个随机抽题功能、选项卡、幻灯片等。一般用setInterval的地方用的比较多。

6、说说对象的继承?

我一般都用call、apply、bind做继承,bind指向对象本身。

7、jquery的优点?

简单易用,尤其是对dom的操作很方便。

8、调试是怎么做的?

用chrome的开发者工具调试,console.log,alert等。

9、本地存储localStorage与sessionStorage的区别,都在什么地方使用?

localStorage关闭浏览器还是可以保存记录。sessionStorage关闭浏览器后数据消失。用在会员登录后保存状态,购物车等地方。

10、订单支付怎么实现?

1、登录会员。
2、进入商品页面。
3、将商品放入购物车。
4、提交订单。
5、对接支付宝或微信支付进行支付。

11、DOM执行事件流程?

1、捕获阶段:先由文档的根节点document往事件触发对象,从外向内捕获事件对象;
2、目标阶段:到达目标事件位置(事发地),触发事件;
3、冒泡阶段:再从目标事件位置往文档的根节点方向回溯,从内向外冒泡事件对象。

12、scss和sass,less区别?

Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,Sass语法属于缩排语法,比css比多出好些功能(如变量、嵌套、运算,混入(Mixin)、继承、颜色处理,函数等),更容易阅读。Sass 3就变成了Scss(sassy css)。与原来的语法兼容,只是用{}取代了原来的缩进。Less也是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量,继承,运算, 函数. Less 既可以在客户端上运行 (支持IE 6+, Webkit, Firefox),也可在服务端运行 (借助 Node.js)。区别:1.编译环境不一样。Sass的安装需要Ruby环境,是在服务端处理的,而Less是需要引入less.js来处理Less代码输出css到浏览器,也可以在开发环节使用Less,然后编译成css文件,直接放到项目中。2.变量符不一样,Less是@,而Scss是$,而且变量的作用域也不一样。3.输出设置,Less没有输出设置,Sass提供4中输出选项:nested(嵌套缩进的css代码), compact(展开的多行css代码), compressed (简洁格式的css代码)和 expanded(压缩后的css代码)。

13、伪类和伪元素的区别?

伪类用于向某些选择器添加特殊的效果,比如::hover,:foucs,:link,:active,:vistied,:first-child,:lang。伪元素用于将特殊的效果添加到某些选择器,比如:berfor,:after,:first-letter,:first-line。

14、多维数组如何实现扁平化处理?

1、常规就是循环和递归 。2、使用es的展开符。。。

15、jsonp的实现原理?

就是动态生成一个script标签。然后通过script的src加载地址,同时根据callback返回函数里面获取数据,这样就的需要后台接口返回的时候返回一个带变量的数据

16、什么样的网站适合作响应式?

功能不是很复杂的网站,设计排版简单的网站适合。比如公司官网,界面清晰的视频网站等。

17、说一下git遇到冲突如何解决?

1、pull一下,更新程序。
2、同步,查看冲突代码。
3、人工修改,保持本地最新版。
4、Add to Git Index,提交修改。
5、Commit提交。
6、push推送到服务器

18、前端工作流程?

1、拿到原型图和产品经理沟通业务需求。
2、拿到设计稿先规划一下思路然后切图布局。
3、写出js效果。
4、拿到后端的接口文档测试一下接口是否可用。
5、对接数据渲染到页面。

19、tap事件原理?

在移动端中,由于两次触摸是放大操作,,所以当你点击一次的时候,浏览器会等待300ms,看用户是否会进行第二次点击,如果没有的话,才会执行点击事件,tap事件的原理其实是源于触摸touch事件,在移动触摸事件就是在同个点触发,及touchmove的距离距离touchstar的距离为0,并且点击的时间不超过某个设定的时间值,超过该时间值的话,就属于长按了

20、懒加载原理?

一般来讲,给图片src配置一个假的地址,同事给添加一个data-url属性指向真是url地址,当图片快要显示的时候将url地址替换成data-url的属性

21、移动端的fastclick怎么实际使用?

引入fastclick.js插件。然后Fastclick.attech(document.body)中

22、公司的测试是怎么向你提bug的?他是怎么记录的?

写一个文档图文并茂的形式给我。边测试边记录。

23、原生ajax的步骤?

5个步骤,
1、构建xmlHttpRequest对象。
2 、准备请求open。
3、send发送数据。
4 、等待数据 。
5 、成功接受数据

24、get和post区别是什么?

1、本质区别 一个用来提交数据,一个用来获取数据。
2、 传参方式区别 。
3、 安全性 。
4 、传参数数据大小

25、有几种方法可以改变this指向?

1、call apply bind 。
2、可以提出箭头函数

26、说一下你有几种让子盒子居中的方法?

1、flex
2、定位各50%,然后tranfrom:translate(-50%)
3、定位 然后上下左右都是0 margin auto

27、vue-router的原理?catch方法的实现原理?

用户通过vue的router.push和router.replace来修改地址栏。同时监控地址栏。获取到对应组件,去配置信息里面寻找对应的页面显示

28、git和svn的区别?

一个是集中式管理,一个分布式管理

29、vue计算属性和watch的区别?

计算属性是为了检测某个属性。而这个属性是由别的变量觉定的,核心在计算,watch是监控,主要是用来某个变量发生变化导致别的触发来使用,计算属性中的变量不需要在data里面初始化

30、vue的优势为什么使用vue?

vue是单页面应用,使页面局部刷新,不用每次跳转页面都要请求所有数据和dom,这样大大加快了访问速度和提升用户体验。而且他的第三方ui库很多节省开发时间。

31、mvvm是什么?

把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。就是model->view->view->model

32、vuex实现原理?

Store,负责管理整个数据访问、修改等; 提高API;getter.xxx,怎么可以每次拿到最新数据?,action和mutation负责提交数据。

33、vue Seo优化?

vue默认不支持seo优化因为是单页面应用,数据也是用ajax读取,无法友好的让搜索引擎抓取,所以无法获取排名,需要用服务端渲染Nuxt.js来解决,但是这样开发成本太大,建议如果考虑seo的话就不要使用前端框架,用传统的h5开发即可。

34、vue服务端渲染?

建议使用nuxt.js,因此可以在服务端可以提前渲染出来,解决了单页面一直存在的问题:SEO和初次加载耗时较多的问题。

35、es6和es5的区别?

说出ES6的特点:
1、let const。
2 、字符串模板 。
3 、promise 。
4 、class。
5、箭头函数。
6、解析结构。
7、数组和对象的新方法 ,比如 set assign。

36、webpack按需加载?

使用require.ensure做页面分割按需加载。

37、你常用的loader加载器有哪些?

一般在vue的webpack中配置,常见的'style-loader'css-loader less-loader babel-loader(解析ES6) json-loader vue-loader

38、怎么理解promise(语法糖)?

Promise 是异步编程的一种解决方案,new Promise(function(resolve,reject){
if(/异步操作成功/){
resolve(value);
}else{
reject(error);
}
})或者通过生成对象后通过then的方法

39、如何实现异步编程,有哪些方式?

现在比较常用的是promise。解释一下promise.原来比较多的是通过回调函数或者事件监听

40、解释一下什么是vue实例

类似创建一个vue对象。里面包含钩子函数,data,methods.computeds等

41、vue组件有多少个生命周期?

11个,建议不要说个数,说出8个常见的和后来加的

42、vue组件之间传递数据怎么实现,区别是什么?

1、分父子组件如何传值。
2、 使用vuex。
3、事件总线bus。
4、本地存储传值。

43、在开发中怎么与后台合作的?

1、通过接口文档拿到json数据。
2、用ajax将数据渲染到页面。

44、vue数据双向绑定的实现原理?

是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

45、nodejs了解吗?

了解。一般我用来配合mongodb开发一些小的接口,和使用他的npm 命令,主要用nodejs做中间件。

46、数组排序有哪些方式?

js自带sort(function(a,b)return a-b)方法,或者手动写冒泡或者快速排序

47、用css如何实现左侧宽度固定,右侧宽度自适应?

1、flex布局。
2、margin配合float实现。
3、使用calc计算属性。

48、技术团队人员分配?

如果是小型项目:一个产品经理、一个设计师、一个前端工程师、一个后端工程师总共4个人。

49、如何开发响应式网站开发?

传统使用boostrap.boostrap也是基于媒体查询来实现响应式的,第二,注意使用百分比或者rem布局

50、js数据类型有哪些?

6种数据类型:string、number、boolean、object、undefined、array。ES6中新加symbol。

51、父盒子高度自适应,里面的文字行高如何自适应?

1、使用rem或者em来设置文字大小,em和rem是相对单位。
2、使用js获取父元素高度来设置子元素文字。

52、在工作中如何配合安卓和ios开发工程师?

基本上通过webview来实现安卓或者ios对js的交互

53、项目结构是如何搭建的?

现在基本上使用vue脚手架来搭建结构,手动搭建过程是npm init初始化结构,配置webpackjson和git仓库,还有安装依赖,创建static.view等对应文件夹并开始编写代码

54、常用的浏览器有那些?

谷歌。webkit 火狐gecko IE trident

55、渐进增强和优雅降级?

渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。

56、常用的dom的操作方法?

创建节点,节点克隆,替换,删除,节点属性的操作

57、事件代理的原理?

基于事件冒泡

58、前端安全问题?

1、xss攻击。
2、防止sql注入。
3、文件上传漏洞 预防方法就是前端对所有用户输入的信息都需要验证,且后端也得需要验证。
4、防短信轰炸,用图文验证码解决。
5、会员登录是的cookie欺骗,用token解决。

59、jquery的优化方法?

1、选择器要用对,理论上ID选择器是最快的,学会使用缓存JQ对象
2、尽量减少dom操作。比如对某个元素插入数据的时候,先把数据都弄好一次性插入
3、 不要直接使用事件,通过绑定on的方法加事件
4 、学会使用链式写法

60、jquery添加插件?

两种开发模式,第一种是基于函数的函数,jQuery.extend。第二种是对象级别的插件开发$.fn.extend.

61、是否设计过通用的组件?

设计过,比如:toast,下拉加载,购物车等。

62、平时是如何学习的?

1、看技术文档。
2、去github上下载开源代码读代码。
3、网上找些视频来学习。

63、项目中负责了什么?

作为一个前端,首先是项目的页面和数据展示,有时候处理不同设备的兼容,再就是处理页面之间和数据之间的逻辑关系,提高用户体验

64、自己的职业规划?

我目前规划是基于当前目标,先努力扎实自己的基础,尤其前端这个行业日新月异,基于基础然后向架构方向发展

65、除了前端还会其他的吗?

因为上家公司主要后端语言是PHP,所以一些基本的PHP代码可以阅读,当然,现在我对nodejs也有一定的研究

66、给你一个5个页面的网站多长时间能做完?

这个的看页面的交互和数据情况,一般来说,基本静态页面完成起来是很快的,更多侧重数据交互和也没面功能测试,有时候可能在一些特效动画上耗费点时间

67、了解过模版引擎吗?

使用过templat.js和Dot.js。就是获取到数据快速完成数据渲染的过程,节省代码量。提高维护性,减少 拼接字符串,这样也优化的性能

68、项目上线是如何操作的?

正式服务器接口测试--合并分支-回归测试--检查线上服务器权限-数据是否清空- 上线包检查并发布-灰度测试-维护

69、vue中watch和computed的区别?

watch主要作用是监听路由变化。Computed主要是做计算方法。

70、开发项目的流程是什么?

1、和产品经理沟通确认需求。
2、拿到设计稿开始切图。
3、开始布局写页面和js效果。
4、和后台对接数据。

71、公司有没有强制使用eslint等代码检测工具?

没有强制使用,但是也让使用,防止冗余代码的出现尤其对新手比较重要。

72、项目开发时是怎么进行项目自测?

边开发边测试,做一个功能测试一个,如果出现bug就用调试工具,如果调试工具提示的不详细,就用排除法来调试。

73、h5及c3新增的一些内容?

h5新增主要功能如下:
1、video视频。
2、audio音频。
3、websocket。
4、history api。
5、canvas。
6、geolocation地理位置。
7、拖拽事件。
8、localStorage。
9、sessionStorage

74、移动端如果做多终端的适配?(各主流手机 ,pad,电脑)

1、可以用bootstrap。
2、用css3的媒体查询。
3、使用rem

75、使用angular vue react框架做过那些类型的项目?项目有多大?遇到过那些棘手的bug?

angular现在市场小,没有用它做过大型项目,我现在主要用vue、react来做开发。做过电商、在线教育等移动端web和app。棘手的Bug:做微信分享时与后台对接签名的问题,用vue做websocket时第一次访问和服务端通信,跳转其他页面后依然保持连接没有断开,会造成下次访问再次创建连接,发送消息是出现两次以上同样的信息,解决方案,在跳转页面时,需要在钩子方法beforeDestroy ()里面关闭websocket即可。

76、jquery和zepto有什么区别? 他俩对于现在的mv*框架及react这种专注视图层的框架有什么区别?

jquery体积比较大适合pc端,zepto体积适合移动端,zepto封装了h5的touch事件

77、ajax和fetch有什么区别?jsonp是解决跨域的,还了解过哪些并实际使用过哪些跨域的解决方法?

ajax是用XMLHttpRequest,fetch是用promise。配置服务器增加Access-Control-Allow-Origin:*。利用websocket也可解决。

78、你跟后端交互的时候需要注意那些问题?后端开发的接口字段是如何定出来的?后端开发的接口字段里面 你认为必须要有的是什么?

1、跨域问题。
2、请求类型比如:post、get。
3、是否有必填字段,字段类型;是根据业务需求、页面设计定制出来的;如果是用户登录接口,要有用户名和密码字段。如果是文章列表要有id,title,image等字段。

79、你了解过那些模块化规范?模块化开发有什么好处?他和组件化有什么区别?

CommonJS和requireJS;比如CommonJS规范:一个单独的文件就是一个模块,每一个模块都是一个单独的作用域,用import导入,用module.exports导出,可以做到按需加载,避免冗余代码的产生。AMD,requireJS解决js文件过多浏览器停止页面渲染。可以做到按需加载;模块化是一种编程思想,可以做到按需加载。组件化是自己封装的公共组件方便多次使用。

80、gulp,grunt,webpack这些工具的区别?

gulp和webpack是单页面应用的构建工具,目前webpack被vue,react广泛使用。Grunt是专业的代码合并、压缩工具用于传统的h5页面开发使用。

81、你们公司代码是怎么管理的? git svn及提交流程

主要用git,小项目用svn;git提交流程:
1、先拉取pull。
2、选择要提交的问题add。
3、提交文件commit。
4、推送到服务端主分支push。svn提交流程:1、先更新。2、再提交。

82、对node了解多少?你使用过什么?觉得nodejs对于前端来说最大的作用是什么?

会用express可以对mysql、mongodb进行增、删、改、查;node可以做为中间件使用,对一些nosql操作比较好比如mongodb。如果用react做服务端渲染可以使用node的express来做中间件使用。

83、说下图片上传是如何实现的?

拿到服务端的图片上传接口。方法一:可以用jquery的jquery.form.js上传。方法二:可以用axios上传。方法三:可以用ajax配合h5的FormData来上传图片。然后服务端会返回图片名,将图片名提交到数据库

84、后台管理系统开发的过程中你认为需要注意的地方有哪些?

1、安全性。
2、业务流程。
3、搭建好目录结构,功能模块化。
4、权限角色分配。

85、ie火狐谷歌浏览器的兼容问题是如何解决的?

如果用float布局做好清除浮动,在公共样式里设置margin:0px;padding:0px;。如果子元素有float那么父元素用overflow:hidden清除浮动。

86、Vue组件通讯的实现方法有哪些?

1、父组件向子组件传值。
2、子组件向父组件传值。
3、用vuex传值。

87、vuex中action和mutation分别用来处理什么?

action处理异步数据最终提交到数据库,mutation用来同步数据做业务的处理。

88、封装针对自己公司需求的数据请求方法有什么好处?怎么封装?

封装后方便重用和维护,如果是原生js用面向对象封装,用jquery封装成插件,用vue或是react封装成组件。

89、使用过那些css预处理?说下他的优缺点?

使用过less、sass。less简单,易上手;属于css的基础拓展;sass 复杂,功能强大,更加丰富的拓展;没有特别的优缺点,自己喜欢什么就选择什么,有的时候什么都不选择就用css就行了。

90、移动端项目如何解决300ms延迟问题?

使用fastclick解决ios的300ms延迟问题

91、better-scroll做过那些需求?

1、下拉刷新。
2、上拉加载。
3、内容溢出出现滚动条滑动解决卡顿问题。

92、使用过百度地图吗?使用过echarts?

使用过,比如获取用户经度和纬度,对接百度地图显示用户在地图里显示的位置。Echarts我一般在后台做活跃度、用户访问量统计图。

93、react定义组件的方法有哪些?区别是什么?

1、无状态函数式组件。
2、es5原生方式React.createClass定义的组件。
3、es6形式的extends React.Component定义的组件。最大的区别就是现在都用es6前面两种慢慢的被淘汰不需要使用了。

94、说说redux和vuex的不同?

Vuex:有自动渲染的功能,所以不需要更新。Redux:一个子组件的状态必须通过父组件传递过来,父组件从仓库统一调控,当一个组件相关数据更新时,即使你的父组件不需要这个组件,它还是会自动更新。

95、redux需要注意的问题有哪些?

入口文件,路由文件要分配好,主仓库分配给各个组件,获取值需要用connect将redux与类关联起来。

96、redux和router开发的时候遇到过那些问题?怎么解决的?

redux的问题就是页面刷新后无法保存数据,需要用localStorage来配合解决。Router在子组件里会出现跳转的问题,使用withRouter来解决。

97、react+redux开发项目的时候数据请求这块如何分配?

比如做会员登录时,会员的信息记录到redux中。在做购物车是也需要把数据记录在redux中。

98、大型的前端构建项目,本地打包和编译的时候如何区别开发和生产环境

通过变量来区分:export NODE_ENV="development"是开发环境。export NODE_ENV="production"是生产环境。

99、看过jquery源码吗?你说说jquery的底层实现原理。

看过;比如:("#name")就是原生js的document.getElementById("name")。(function(){})实现原理是监听DOMContentListener(兼容火狐和谷歌等浏览器)和onreadystatechange(兼容ie浏览器)实现的

100、你封装过插件吗?封装过哪些插件,说说封装插件的思路

封装过。比如:购物车,幻灯片,选型卡,下拉加载,toast,弹窗等插件。先用原生js写对象再用$.fn去调用。

101、封装过组件吗?说说你封装哪些组件。

封装过。比如:公共的头,alert,购物车等等。

102、说说代码重构的思路?

先看看那些代码可以封装,重用,继承。实现步骤如下:1、提取子函数。2、把大家都要用的方法放到父类中。3、下移函数到子类。4、封装固定的调用逻辑(有点模板模式的意思)

103、项目中遇到印象最深刻的问题,以及解决的思路是什么?

1、用react的开发的时候子组件用路由跳转时需要用withRouter解决。
2、如果在input设置边框颜色在ios系统里会出现兼容性问题,需要在外面加一个div设置div的边框代替input边框。
3、文字溢出,用overflow:auto做滚动条在ios上面会卡顿,需要用iscroll解决。

104、最有成就感的是哪个项目?

自己写

105、实现一个深拷贝函数?

function getType(obj){
//tostring会返回对应不同的标签的构造函数
var toString = Object.prototype.toString;
var map = {
'[object Boolean]' : 'boolean',
'[object Number]' : 'number',
'[object String]' : 'string',
'[object Function]' : 'function',
'[object Array]' : 'array',
'[object Date]' : 'date',
'[object RegExp]' : 'regExp',
'[object Undefined]': 'undefined',
'[object Null]' : 'null',
'[object Object]' : 'object'
};
if(obj instanceof Element) {
return 'element';
}
return map[toString.call(obj)];
}
//深拷贝
function deepClone(data){
var type = getType(data);
var obj;
if(type === 'array'){
obj = [];
} else if(type === 'object'){
obj = {};
} else {
//不再具有下一层次
return data;
}
if(type === 'array'){
for(var i = 0, len = data.length; i < len; i++){
obj.push(deepClone(data[i]));
}
} else if(type === 'object'){
for(var key in data){
obj[key] = deepClone(data[key]);
}
}
return obj;
}

106、Css结合html写一个常见的页面布局?

107、用Css画一个三⻆角和实现一个圆环?

//三角
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
.wrap{
width: 0px;
height: 0px;
border-width: 0px 50px 50px 0px;
border-color: red transparent;
border-style: solid;
}
</style>
</head>
<body>
<div class="wrap"></div>
</body>
</html>

//圆
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
.wrap{
width: 100px;
height: 100px;
background-color:red;
border-radius: 50%;
border-radius: 50%;
border-radius: 50%;
}
</style>
</head>
<body>
<div class="wrap"></div>
</body>
</html>

108、一个完整的react开发目录结构?

109、说说你对promise的理解?其优势是什么?

promise是es6的一种异步请求构造函数,接收一个参数,是函数,并传入两个参数resolve,reject(可以见到的理解成功后和失败后的回调函数),在我们封装好函数的最后,会return出promise对象,promise对象的原型上有then、catch等方法,then方法中我们协议拿到我们在调用resolve时可以传递的参数并形成promise链,调用reject时,promise链就被破坏了,reject之后的promise都不会再执行,而是直接调用.catch方法;Promise的优势在于,可以在then方法中继续写promise对象并返回,然后继续调用then来进行回调操作。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容