京东 前端实习

文章目录

一面

浏览器中输入网址,回车,到页面显示出来,中间发生了哪些事情

写index.html为什么不把script的标签放在顶部

css为什么放在header里项目怎么判断用户已经登录,用户的登录信息再哪里携带

一:登录成功后后端返回一个cookie,根据这个cookie的有无来判断;退出登录时删除这个cookie
二:登录成功后,前端设置 cookie,比如’isLogin = true’,根据isLogin的值去判断;退出登录时删除 cookieisLogin 或设置 ‘isLogin = false’。
三:1. 前台发送登录请求2. 后台返回 token,前台得到后台返回的 token,将其写入到 localStorage 中,后续请求中都携带 token 3. 后台判断 token 是否过期,如果过期就对前台的请求响应过期标识或者状态码 4. 前台得到过期标识后,清除 localStorage 中的 token,然后重定向到 login 路由

http请求是无状态的,下一次再请求怎么让后端知道我已经登录了

	1、session:为每一次会话建立一个session,HTTP头部携带session的ID,根据ID即可区别每一次会话。
	2、 token:也有解释为令牌的意思。为每一次会话创建一个token(标识符,类似ID),同样将token附在HTTP的头部,根据token验证会话。

cookie有内容了,下一次的请求会带上这个信息吗

cookie和session,cookie的生命周期

两边固定宽度,中间自适应

设置成flex布局后对哪些css属性会有影响

不定宽高的div怎么上下左右居中

css3的属性

box-sizing,这个宽是js里的style.width还是dom的offsetwidth

transform,三个div,把第一个设成transform 200px,其他div的位置会受影响吗吗?

BFC是什么,怎么触发

有一个div,其中子元素设置float:left,那么父元素的高度会变成0,如何清除浮动?现在让父元素的position为absolute,父元素的高度会被撑开么

事件捕获和冒泡,在IE和chrome里有什么不一样吗?不想触发冒泡事件,应该怎么做

event.stopPropagation()
preventDefault() 取消默认事件
ie里有个属性是cancel bubble

想对每一个列表项都有响应函数,应该怎么做

js的执行机制

我从预编译过程角度答的,但他可能想问的是事件循环。
事件循环,同步任务按顺序立即执行,异步任务进入宏任务队列或微任务队列发起多个promise请求

promise.all() promise.race()

浅拷贝和深拷贝,怎么做深拷贝,什么样的对象需要做深拷贝

in 和hasownproperty() in能取到原型链上的方法吗

fn()
a=new fn()
a.instanceof(fn) 返回true还是false
instanceof是怎么判定的fn的prototype是指向了Function的,那么a.instanceof(Function)是true还是false?
a.instanceof(fn) ==》true
a.instanceof(Function) ==》true
instanceof运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。
同样 in也可以往上找,指定的属性在指定的对象或其原型链中,则in 运算符返回true。

js的异步执行机制,(我从微任务和宏任务这方面回答的)

js是单线程的,这是是由它的用途决定的,作为浏览器脚本语言,它的主要功能是与用户互动以及操作DOM,决定了它只能是单线程。单线程意味着任务需要排队,所有任务只能等上一个任务结束后才能继续执行,如果一个任务的执行事件很长,其他任务就得等着。为了避免堵塞,就把一些任务放到任务队列让别的线程去执行。

二面

问项目,ws底层是tcp还是udp,区别;socket怎么用

超时重传。接收到多个重复消息怎么去重

勉强说了思路,让现场写代码,很自闭

异步执行机制,并行的异步请求

不让写promise,用callback实现。继续自闭
fnA()
fnB()
fnC()
A B是并行的异步请求,得到结果后再执行C这个异步
面试官很好,一直在给我提示,但菜就是菜,我只会写串行的异步。

布局

移动端的页面,底部导航栏,上面自适应
1怎么自适应,多少种方式实现
2点击icon,切换颜色怎么做;让颜色有渐变效果,怎么实现
3三个icon,icon之间的距离和icon距边界距离相同,怎么实现,
我说用margin,就让现场算具体值;说用flex,就让写容器和item的style;说用grid,就问几行几列;说用三个宽度不同的div然后让icon在div里居中,就让算div分别设置多少px;然后每种方法都在挑毛病,结论是我把问题复杂化了,我问简单实现,他不告诉我

总结

一面比较基础,挺八股文的
二面是给具体的场景,考察写代码能力,比较令人自闭。
面试官问我是不是不怎么写代码,我说是,哈哈
总的来说,面试体验挺好。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值