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

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 广东

    相关推荐

    1、自我介绍2、Agent项目是实习项目还是个人项目?有没有上线?3、拷打实习(10min)4、大模型微调,你的训练数据集是如何构建的?数据量有多大?5、在构建数据集的过程中,遇到了哪些挑战?花了多长时间?6、你之前的实习经历偏后端工程,你未来的职业规划更倾向于纯后端开发,还是希望从事与AI/大模型结合的工作?7、详细讲一下Golang中Channel的概念和作用,它是否是并发安全的?8、Channel和传统的锁(Mutex)在实现并发控制时有什么区别?各自的适用场景是什么?9、讲一下GMP模型10、当P的本地队列为空或者不为空时,它会怎么去调度G(协程)?11、Redis支持哪些数据结构12、为什么Redis的速度这么快13、如何实现一个类似淘宝搜索框的实时商品名称模糊搜索功能?14、实时输入联想与输入完成后点击搜索在技术实现上有什么本质区别?15、实时搜索通常使用什么网络协议(如WebSocket)?你了解或有使用过吗?讲一下16、请详细说明微信扫码登录的完整流程和背后发生的原理17、在微服务架构中,服务发现和负载均衡是如何实现的?18、服务注册中心(如Nacos, Consul)是如何工作的?服务实例如何注册和保活(如通过心跳机制)?19、讲一下Agent中的“长短期记忆”20、什么样的信息应该放在长期记忆,什么样的信息放在短期记忆?21、当对话轮数很多,上下文窗口不足时,有哪些处理策略?(如截断、压缩)22、如果要进行记忆压缩,通常有哪些方法?23、了解过Agent的设计范式吗?有哪些?24、你设计的Agent是怎么实现ReAct模式的?详细讲讲25、手撕:实现一个并发任务处理器:给定一个包含100个任务ID的列表,要求控制最大并发数为3,模拟并发调用某个外部接口(如打印ID)26、反问
    查看24道真题和解析
    点赞 评论 收藏
    分享
    评论
    9
    25
    分享

    创作者周榜

    更多
    牛客网
    牛客网在线编程
    牛客网题解
    牛客企业服务