华中科大:感谢大家,我的春招之旅结束了

今天在论坛上看到一个帖子,一位华中科大的同学,因为家中父亲突然病倒,发求助帖:

img

请问大家,春招走哪个方向能最快找到工作?还是说继续读研呢,但是家里急需钱……

当时这个帖子直接热榜第一,然后牛客网创始人直接给这位同学开了一年会员表示支持。

img

然后其他网友也纷纷提了自己的鼓励和意见。

img

img

时隔三个多月,这位同学更新了自己的近况,希望对正在学习、求职、工作的朋友们,有所激励:


时光荏苒,不知不觉,三个多月的时光就过去了。

今天,我想和大家分享一下这三个月春招的经历。

寒假期间,我发布了求助帖,根据大家的建议,过完年我在BOSS上联系到了华为软件开发HR。

开始一切似乎都很顺利,对方热情地与我交流直至3月中旬面试。

但是,在技术面试的第二轮之后,就没有任何消息,一直卡在那里。

主管面试迟迟没有消息,我的申请也没有被明确拒绝。

那是我第一次面试,没有太多经验,没想到可能是KPI

大约半个月后,HR告诉我没有HC(Headcount,岗位名额)了,并建议我联系其他部门。

当时已经快到四月,我开始四处奔波尝试,却发现几乎所有部门的HC都没了。

其中一个部门的HR非常想捞我面试,但当他查询系统时,发现之前的部门还没有释放我的流程,导致他操作……

然后华为之前的部门一直拖着,结果过了一段时间,原部门的HR觉得我的项目经验不足,直接给我挂掉了。

当时软件开发的HC都没了,我也无法转到别的部门……

在这三个月,我也参加了多家大厂中厂的面试、笔试。

其中有些公司的笔试,我表现不错,全部正确,但都没能通过最后的面试,比如360、完美世界等。

等到了四月份,又陆陆续续参加了很多面试,仅腾讯就有四次。

第一次是腾讯新闻,一面通过,第二面十几分钟内结束,然后秒挂掉;

第二次是应用宝,泡池子一周挂掉;

第三次是Level Infinite(一个面向腾讯海外的部门),然后一面hr很喜欢我,说我对案例分析很透彻想的很周到,结果二面kpi给我挂了;

第四次QQ的面试我放弃了,因为感觉TX似乎在不断侮辱我。

此外,我还尝试了虾皮、快手、蚂蚁和小米等企业的面试,最终都没有好的结果。

最终在4月底,我拿到了华为专业类的软件验证工程师和毕业地的保底offer。

我被毕业答辩和找工作的事情焦虑地睡不着觉,最终决定春招到此为止吧,就接受这两个offer。

悲喜交织的春招之路充满了曲折与挫折。我会带着这些教训和经验,继续向前,感谢大家的经验和支持

最重要的是,把握住目前的机会,完成我的学业,然后回家多陪陪父母,家人才是最重要的


以上,基本上就是这位同学的春招经历。

白露看完之后很有感触,然后就开始出题,因为我觉得,这位同学的春招之旅结束了,但是其他同学的春招、秋招之旅可能才刚刚开始

场景题:扫码登录是如何实现的?

大厂面试过程除了八股文,经常会问一些场景题,顾名思义,假设一个场景,需要你给出解决方法,没有标准答案,但是必须得有自己全面的思考。如果接下来的内容你不会,建议点击这篇文章获取学习策略:

(TODO)

面试官: 接下来我想考察一下的你对实际问题的分析。首先,我想了解一下你对扫码登录的基本工作原理有多少了解?

求职者: 扫码登录的基本原理是利用二维码作为信息传递的载体,将登录唯一标识编码到二维码中。

用户通过手机扫描二维码,手机会读取信息并向服务器发送一个登录请求,请求中包含二维码携带的标识

服务器接收到请求后验证标识,确认无误后更新登录状态,并通知原请求页面进行相应的用户状态更新,完成登录过程。

面试官: 能否详细描述一下扫码登录的完整流程?

求职者: 当然可以。扫码登录的流程主要包括以下几个步骤:

  1. 生成二维码:用户在Web页面点击“扫码登录”,服务器生成一个唯一的标识(比如UUID),将这个标识编码成二维码并显示在页面上。
  2. 扫描二维码:用户使用手机上的应用(如App内扫一扫功能或微信等)扫描二维码。
  3. 发送登录请求:扫描后,手机应用解析二维码中的标识,并将其作为登录请求发送到服务器。
  4. 验证请求:服务器接收到登录请求后,根据请求中的标识进行验证。验证成功则认为用户登录请求有效。
  5. 更新登录状态:验证成功后,服务器更新该标识对应的登录状态为已登录,并将登录状态变更通知到原请求页面。
  6. 完成登录:Web页面接收到登录状态变更通知后,更新页面为用户已登录状态,展示用户信息。

面试官: 很清晰。那在这个过程中,生成二维码的方式及其中包含的信息是怎样的?

求职者: 生成二维码通常使用专门的库,比如在Java中可以使用ZXing库。二维码中通常包含一个让服务器能够唯一标识登录请求的信息,这个信息可以是一个加密的Token或者一个包含标识符的URL。

这个标识符通常是随机生成的,确保每个扫码请求都是唯一的,从而防止重放攻击。

面试官: 在实现扫码登录的后端服务时,服务器是如何处理并发请求的?如何维持每个请求的状态?

求职者: 服务器处理并发请求时通常会使用会话管理和状态存储机制。

登录状态可以存储在内存中,比如使用内存数据库如Redis,以便实现快速读写。

每个扫码生成的唯一标识作为键,登录状态作为值存储。

对于状态的维护,一旦用户使用手机应用扫码并验证成功,服务器将更新对应的状态。

至于并发控制,可以通过分布式锁或者乐观锁机制来确保状态更新的原子性和一致性。

面试官: 前端页面和后端通信的机制是怎样的?如何保证前端页面能及时响应后端的登录状态变化?

求职者: 前端页面和后端通信通常使用WebSocket或轮询等技术。

WebSocket提供了一个全双工的通信渠道,一旦用户的登录状态发生变化,服务器可以通过WebSocket主动推送消息给前端,前端接收到消息后更新用户界面。

如果不使用WebSocket,也可以通过轮询方式,即前端定期向服务器发送请求,询问登录状态是否有变化。一旦检测到登录状态改变,前端立即更新页面。

面试官: 在扫码登录功能中,安全机制应该如何设计来防止二维码被伪造,以及如何保证登录会话的安全?

求职者: 为了防止二维码被伪造,我们可以在生成二维码时加入数字签名或者使用一次性密码(OTP)。

这样即使二维码被复制,没有相应的签名或动态密码也无法通过验证。

此外,为保证登录会话的安全,一旦用户完成登录,应立即使二维码失效,防止重复使用。

还应确保会话标识符足够随机,避免被猜测。

服务器端还应实施合适的会话管理策略,比如使用HTTPS来保护数据,在服务器端验证会话标识符的有效性等。

面试官: 如果在用户登录过程中出现异常,比如网络中断或二维码过期,你会如何处理?

求职者: 如果出现异常,我会确保前端能够给用户清晰的反馈。

比如,如果网络中断,可以提示用户检查网络连接;

如果二维码过期,可以提示用户刷新页面重新获取二维码。

在后端,我会实现适当的超时机制来处理过期的登录请求,并提供重试的机制,使得用户可以重新尝试登录。

面试官: 当我们考虑大规模使用扫码登录时,如何优化响应速度和系统的负载能力呢?

求职者: 嗯……我们可以采用以下策略:

  • 负载均衡:使用负载均衡器分发请求到多个服务器,以避免单点压力过大。
  • 缓存机制:使用缓存来存储频繁读取的数据,如二维码的标识和状态。
  • 异步处理:采用异步消息队列处理耗时的后台任务,避免阻塞主线程。
  • 数据库优化:通过数据库索引、查询优化和合理的数据分片来减少数据库访问延时。
  • 资源监控:实时监控系统资源使用情况,如CPU、内存和网络IO,及时发现瓶颈并进行调优。

面试官: 用户在使用扫码登录时的体验非常重要。你如何考虑优化用户体验?

求职者: 为了优化用户体验,我们需要考虑以下几个方面:

  • 交互设计:确保扫码登录流程简单直观,减少用户的操作步骤。
  • 响应速度:优化前后端处理逻辑,确保快速响应用户操作。
  • 错误处理:提供清晰的错误信息和问题解决指引,帮助用户快速定位并解决问题。
  • 多平台适配:确保扫码登录功能在不同设备和浏览器上都能稳定运行。

面试官: 很好,你的解答非常全面。感谢你的参与。我们会尽快给你反馈结果。祝你好运!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/696118.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据可视化训练第6天(美国人口调查获得关于收入与教育背景的数据,并且可视化)

数据来源 https://archive.ics.uci.edu/dataset/2/adult 过程 首先;关于教育背景的部分翻译有问题。 本次使用字典嵌套记录数据,并且通过lambda在sorted内部进行对某个字典的排序,最后用plotly进行绘图 本次提取数据的时候,用到…

黑盒测试中的边界值分析

黑盒测试是一种基于需求和规格的测试方法,它主要关注软件系统输出的正确性和完整性,而不考虑内部代码的实现方式。在黑盒测试中,边界值分析是一种重要的测试技术,它可以帮助测试人员有效地发现输入和输出的问题。本文将从什么是边…

栈与递归的实现

1. 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则&#x…

【JavaScript超详细的学习笔记-上】JavaScrip超详细的学习笔记,共27部分,12多万字

想要获取笔记的可以点击下面链接获取 JavaScript超详细的学习笔记,点击我获取 一,JavaScript详细笔记 1,基础知识 1-1 基础知识 // 1,标识符命名规则:第一个字母必须是字母,下划线或一个美元符号。不能…

若依生成树表和下拉框选择树表结构(在其他页面使用该下拉框输入)

1.数据库表设计 生成树结构的主要列是id列和parent_id列,后者指向他的父级 2.来到前端代码生成器页面 导入你刚刚写出该格式的数据库表 3.点击编辑,来到字段 祖籍列表是为了好找到直接父类,不属于代码生成器方法,需要后台编…

实训一:设计系统主页作业

1.题目 设计系统主页。 2.目的 (1)熟悉Web前端项目开发环境。 (2)掌握如何建立Web前端项目,学会规划项目结构。 (3)掌握动态生成页面内容的方法。 (4)理解如何使用Flash显示图片新闻。 (5)会在应用系统中编写播放动态新闻的程序。 3.内容 建立项目结构,并…

ROS 2边学边练(47)-- 利用Xacro精简代码

前言 Xacro(XML Macro)是ROS(Robot Operating System)中用于处理URDF(Unified Robot Description Format)文件的一个宏处理工具。它允许你在URDF文件中定义和使用宏,这样可以减少重复的代码&…

【计算机网络】Socket网络编程

💻文章目录 📄前言Socket编程基础概念工作原理 Socket API介绍socket函数绑定、监听函数accept、connect接受/发送函数 Socket API的应用Socket类与其派生类的设计服务器与客户端的设计使用 📓总结 📄前言 现今我们的日常生活当中…

git rebase 合并当前分支的多个commit记录

git rebase 合并当前分支的多个commit记录 git rebase 相关的选项和用法step1:找到想要合并的 commitstep2. 使用 rebase -istep3. 编辑提交历史:step4.编辑合并后的提交信息step5.完成 rebase 过程:step6.**推送更新:**step6.**再…

【Day2:JAVA变量、数据类型、运算符的认识】

目录 1、变量的介绍、定义、使用2、标识符2.1 概念2.2 标识符的命名规则2.3 标识符的命名规范 3、数据类型3.1 基本数据类型3.2 引用数据类型 4、Scanner键盘录入4.1 键盘录入效果介绍4.2 键盘录入的三个步骤 5、运算符5.1 运算符和表达式5.2 算数运算符5.3 自增自减运算符5.4 …

时间瑾眼中的IT行业现状与未来趋势

文章目录 技术革新与行业应用IT行业的人才培养与教育人工智能与机器学习的演进数据安全与隐私保护可持续发展与绿色技术社会责任与道德规范 随着技术的不断进步,IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链…

如何高效管理微信?快速掌握捷径!

对于那些需要管理多个微信号的人来说,如何高效地管理这些账号成为了一个难题。今天,就给大家分享一个管理多个微信号的捷径——微信管理系统。 通过微信管理系统,你可以轻松实现高效管理多个微信号,一起来看看吧! 首…