众安前端|暑期实习|时间线

05-24 笔试

05-29 一面

  • 55min
  • 自我介绍
  • vue响应式原理,vue2和vue3的区别
  • 实习项目遇到的困难
  • axios封装了什么
  • 常见状态码
  • 强制缓存和协商缓存,以及其具体字段分析
  • vue组件间的通信
  • vue中父子组件生命周期的更新顺序
  • vue生命周期
  • vue数据绑定的方式
  • watch和computed的区别,watch的高级用法
  • vue中的指针?其实是想问this指向的问题,看以下代码说输出结果
function fn (){
    console.log(this)
}
fn(); // 打印出window,因为在全局作用域中调用函数,this在fn函数中会指向全局对象

var obj = {
    a: 1,
    test: function () {
        console.log(this.a)
    }
}
obj.test();// 打印出1,通过对象的方法调用函数,this在obj.test函数中会指向调用该方法的对象,即obj。所以obj.test()调用会打印出obj.a的值,即1。

  • var,let和const的区别和实现的原理
  • 应用:说代码输出结果
  • for (var i = 0 i 5 i++) { setTimeout(function() { console.log(i) }, 1000) }
  • 在这个问题中,循环是同步代码,定时器是异步代码,所以整个循环都执行结束以后才会执行定时器代码。
  • for循环中使用var定义的变量是全局变量,定时器回调函数中输出变量的时候,根据作用域规则,先在当前作用域中变量i的定义表达式,如果没有找到,就去上一级作用域中找,此时,在局部作用域中没有找到,去上级作用域中,也就是全局找到了,全局中的i,因为循环已经执行结束了,所以i的值是5。最终,会输出55
  • 想要输出0-4怎么做
  • 方法1:在异步代码外面嵌套一层函数作用域

  • 原理是自调用函数会产生作用域,循环5次就会产生5个作用域,每个作用域代码在执行的时候都有形参i传递。所以每个作用域中的i都是不同的,分别是:0 1 2 3 4。当作用域中的异步代码执行的时候,自己作用域中没有i变量的定义,然后上级作用域就是自调用函数的作用域,找到了单独的i
  • 方法2:将循环代码中的var换成es6let
  • es6let自带块级作用域,原理跟第一种解决思路是一样的,转成es5后,代码是一样的。
  • 讲讲熟悉的git命令
  • 算法1:数组去重
  • 算法2:手撕一个nlogn和n^2的排序算法
  • 我选择手写了冒泡排序和快速排序

一面总结:问的都是比较简单常见的八股,没啥好说的,算法也很简单

05-30 二面

  • 原定45min,结果面了80min
  • 实习的情况,流程,做了什么功能,实现什么逻辑
  • 有没有对token过期的情况进行处理?
  • 没有,那你认为应该怎么做?
  • 自动刷新 Token: 可以设置定时器,在 Token 到期前自动向服务器发送请求更新 Token。这种方法适用于对安全性要求不太高,但用户体验要求较高的场景。
  • 滑动过期时间: 当用户与页面有交互(例如鼠标移动,点击,滚动等)时,向服务器发送一个请求来更新 Token。这种方法可以在一定程度上平衡用户体验和安全性。
  • 提示用户重新登录: 当检测到 Token 过期时,弹出提示框让用户重新登录。这种方式的用户体验较差,但是安全性最高。
    • websocket建立连接的过程
    • 对笔试题有还有印象吗?有哪道题印象比较深
    //算法1
    interface ReverseTreeNode {
            id: string;
            parent: string;
            timestamp: number;
          }
    
          interface TreeNode extends ReverseTreeNode {
            children: TreeNode[];
          }
    
          const nodes: ReverseTreeNode[] = []
    	  declare function transport(nodes: ReverseTreeNode[]): TreeNode
    	  // 实现上面的transport方法,返回数的根节点
    	// 其实题意是,原本这个ReverseTreeNode是有指向其父节点的字段的,要把它改成有个children数组,
    	// 表示其子节点,并且最后这棵树的根节点
    	// 当时我写了一坨答辩出来,就不放上来了
    
    • 口述算法,题意比较复杂,就不放上来了。
    • 记得是把一个树形转成他想要的形状,这个题面试官一直在引导我,最后也算是全都答出来了

    二面总结:这个面试官挺有趣的,全程经常在笑,无压力面试就很爽,我也疯狂笑(乐),但是可能手撕算法那里还是没写好

    05-31 HR面

    • 20min
    • 实习时长
    • 是否接受来上海
    • 挑一个你认为对你成长最大的比赛或者项目,讲讲你的收获
    • 后面就都是在聊我那个比赛的经历了
    • 再聊了聊实习经历,有什么收获
    • 团队协作啥的

    HR面总结:时间非常赶啊,刚上完课,准备完晚上的课程pre还没来得及复习就去面了,其实面的挺一般的,说的不是太流畅,还非常傻的说出了一些不太好的回答,远不如后面的阿里HR面面的自如,看来HR面也还是需要锻炼的。

    结论

    众安流程还是挺快的,三天一天一面,结果是三轮面试都过了,但最后排序给我挂了,呃呃,可能还是二面算法的原因,就当长长经验吧,也还不错了。

    #23届找工作求助阵地##我的实习求职记录##牛客在线求职答疑中心##我的实习日记##众安保险#
    全部评论
    唉,不想搞算法啊,但现在不会算法都没有什么机会了
    点赞 回复 分享
    发布于 2023-07-07 08:32 山西
    该死,在牛客只能来你这发癫了,一拳打爆地球
    点赞 回复 分享
    发布于 2023-07-06 10:28 广东
    不要命辣😱
    点赞 回复 分享
    发布于 2023-07-06 10:27 广东
    你还来啊😨
    点赞 回复 分享
    发布于 2023-07-06 10:27 广东

    相关推荐

    查看9道真题和解析
    点赞 评论 收藏
    分享
        黑马点评项目的性能优化 主要做了哪些    redis分布式锁是乐观锁麻 实现原理是什么    redis是单机版的还是分布式的    redis采取分布式 商品保存在不同的redis下具体是如何处理的 如何实现这种分布式 包括他的可拓展 比如流量很大,对redis扩容,如何保证这个服务是不影响的 商品数据应该如何存储呢    对秒杀来说如何提高他的并发 单个redis实例节点存储会有上限    concurrenthashmap实现原理    其中的数组是什么 在并发条件下 什么时候存在冲突需要锁 什么时候不需要锁    get操作是否需要加锁    在get操作的时候 同步在写 怎么处理呢    concurrenthashmap是基于什么考虑的 是完全处于提高并发量吗    jvm垃圾回收算法    分代垃圾回收    什么情况会导致OOM    双亲委派模型 优点    有什么例外是不需要采用双亲委派模型 举例具体的场景    java list数据结构 有哪些是和list相关的    arraylist如何实现扩容    扩容 如果内存不够大 怎么办    设计模式 用过哪些    解释一下三种类型的设计模式 创建型 行为性 结构性 分别是什么 举几个例子    策略模式是什么类型    springcloud 的 rpc 是什么 注册和发现的实现原理是什么    负载均衡算法了解多少    一致性哈希算法    一致性哈希算法 如何实现动态的添加和删除节点的问题    具体是用什么实现的 后面是用什么数据结构实现的-哈希环    数据库    隔离级别有几种    每种隔离级别是如何实现的 实现原理是什么    一张表 两个事务分别在改 那四种隔离级别是如何实现的 底层原理 是什么     会有一个版本在事务提交的时候 是把表复制一份还是如何操作的    事务回滚 有哪些实现方式 比如部分回滚如何做 底层原理是什么        事务未提交 如何影响主表的数据呢    数据库索引的类型 分为哪些    复合索引的数据结构是什么  是如何对多列的值进行存储的被拷打麻了 50min狠狠被拷打
    点赞 评论 收藏
    分享
    评论
    9
    26
    分享

    创作者周榜

    更多
    牛客网
    牛客企业服务