首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客378464580号
测试工程师
发布于江苏
关注
已关注
取消关注
@初眸:
测试开发精选面试题
测试理论or常考八股 抓包的原理 原理就是把fiddler设置为代理服务器,那么浏览器上发出所有请求都由fiddler这个工具来代理转发,或者说:通过fiddler来拦截客服端和服务端的数据交互,这样我们可以拦截到客户端给服务端发了什么数据,服务端给客户端响应了什么数据,然后对数据进行分析 自动化测试的优势是什么? 自动化测试支持对应用程序进行功能和性能测试。 它支持重复测试用例的执行。 它有助于并行执行。 它有助于测试大型测试矩阵 由于没有人为错误的机会,因此可以提高准确性。 节省时间和金钱。 请说出XHTML和HTML的区别 文档顶部doctype声明不同,xhtml的doctype顶部声明中明确规定了xhtml DTD的写法 xhtml元素必须正确嵌套,不能混乱 属性必须是小写的 属性值必须加引号 标签必须有结束,单标签也应该用“/”来结束掉 很多网站不常用table iframe这两个元素,知道原因吗 因为浏览器页面渲染的时候是从上至下的,而table和iframe这两种元素会改变这样的渲染规则,他们是要等待自己元素内的内容加载完才整体渲染。用户体验会很不友好。 cookies和session的区别? cookies:是针对每一个网站的信息,每一个网站只对应一个,其他网站不能访问,这个文件是保存在客户端的,每次你打开相应网站,浏览器会查找这个网站的cookies,如果有就会将这个文件一起发送过去。cookies文件的内容大致包含这些信息如用户名,密码,设置等。cookie 的解决方案不需要在服务器存储客户端的数据,占用资源较小,可拓展性较高;请求携带的cookie 携带着用户信息,相对来说,没那么安全 ;从数据量上来看,cookie 一般都比 sessionId 大,传输过程中占用较大资源。 session:是针对每一个用户的,只有客户机访问,程序就会为这个客户新增一个session。session里主要保存的是用户的登录信息,操作信息等。这个session在用户访问结束后会被自动消失(如果超时也会)。session 解决方案需要在服务端存储客户端的数据,分布式服务器需要设置单独且唯一的数据中心,占用资源较大。但是客户端携带的 sessionId 不包含的用户信息,较为安全。 什么是IP地址? IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 请简述三次握手阶段。 ① 首先客户端向服务器发送一个 SYN 包,并等待服务器确认 ② 服务器接收到客户端发来的 SYN 包后,对该包进行确认后结束 LISTEN 阶段,并返回一段 TCP 报文 ③ 客户端接收到发送的 SYN + ACK 包后,明确了从客户端到服务器的数据传输是正常的,从而结束 SYN-SENT 阶段。并返回最后一段报文。 如果第二次握手的时候每次握手信息对方没有收到会如何? 若第二次握手客户端未接收到服务器回应的 ACK 报文时,客户端会采取第一次握手失败时的动作,这里不再重复,而服务器端此时将阻塞在 accept() 系统调用处等待 client 再次发送 ACK 报文。 三次握手的目的是什么?两次握手可以吗? 三次握手的主要目的是确认自己和对方的发送和接收都是正常的,从而保证了双方能够进行可靠通信。若采用两次握手,当第二次握手后就建立连接的话,此时客户端知道服务器能够正常接收到自己发送的数据,而服务器并不知道客户端是否能够收到自己发送的数据。若只有两次握手,会造成服务器开销的浪费。 什么是DNS? DNS是域名系统(Domain Name System),DNS是用来做域名解析的,它会在你上网输入地址后,把它转换成IP,然后去访问对方服务器;没有它,你想上百度就要记住百度的IP,但有了DNS的处理,你只需要记住对应网站的域名,即网址就可以了 DNS的工作原理 假设一个客户端 A,想要查询 a.leetcode.cn 的 ip 地址,考虑缓存的情况。 客户端 A 首先查询本地的 hosts 文件,查询是否有网址映射关系,如果没有,进行下一步查找。 查找本地的 dns 解析器缓存,如果没有进行下一步。 根据 tcp/ip 参数查找设置好的首选 dns 服务器 ip 地址,一般叫做本地 dns 服务器,查询本地 dns 服务器。本地 dns 服务器如果没有,它就会进行下一步操作。 本地dns会访问根服务器 ,然后根据后缀名,从根服务器中查找对应的顶级域名服务器的 ip ,然后以此向下查找域名服务器的 ip ,然后查找网址映射关系,直到找到为止。 客户端 A 向本地域名服务器查询为递归查询,本地域名服务器向根域名服务器查询为迭代查询。 DNS 数据传输采用 tcp 协议还是 udp 协议 ,或者是其他的什么协议 ? dns 既采用 udp 协议也采用 tcp 协议: dns 是通过 53 端口进行通信,默认是采用 udp 协议进行数据传输的,除了个别情况,也就是说绝大多数情况是采用 udp 进行传输。 使用 tcp 传输的情况: 当返回的响应超过的 512 字节( udp 最大只支持 512 字节的数据)。 区域传送:主域名服务器向辅助域名服务器传送变化的那部分数据。 注意: tcp 协议和 udp 协议是可以同时绑定同一个端口的。 区域传输: dns 服务器中数据不总是一成不变的,域名数量是不断增加,而且一些域名对应着的服务器的也是在变化的,所以其实 dns 服务器中的数据是不断增加的,并且随时流动的,所以可以将区域传输简单理解为 dns 服务器之间进行的数据传输。 get 和 post 的差别 get 提交的数据会放在 url 之后,post 提交的数据放在 body 上。 1.get请求参数会以 url 的形式完整的保留在浏览器的记录里,会存在安全问题。而 post 数据放在请求主体中,且数据不会被浏览器记录,相比 get 方法,post 方法更安全,主要用于修改服务器上的资源。 注意:http有安全方法的概念,即不改变服务器状态。 get 方法不会改变服务器状态,而 post 会改变服务器的状态,从这个角度来看,get方法更安全。 总结:get 方法对于服务器更安全,post 方法对于客户端更安全. 2.post 可以进行复杂的加密,get 则不可以 3.get 只支持 ASCII 字符格式的参数,而 post 方法没有限制。 4.get 提交的数据大小有限制(这里所说的限制是针对浏览器而言的),而 post 方法提交的数据理论上没限制 get 方法具有幂等性,post 方法不具有。 幂等性,同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的。换句话说就是,幂等方法不应该具有副作用(统计用途除外)。 post方法有时会发送两个 tcp 数据包,与浏览器有关 1.使用 XMLHttpRequest 的 POST 方法时,浏览器会先发送 Header 再发送 Data。但并不是所有浏览器会这么做,例如火狐就不会。 2.而 GET 方法 Header 和 Data 会一起发送 XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。XMLHttpRequest 在 AJAX 中被大量使用。 http状态码 比较常见的状态码(面试只需要了解以下状态码即可) 200:成功返回响应 301:永久重定向,客户端第一次访问此 url 时,告知客户端以后直接访问新的 url,该状态保存在浏览器缓存中。 302;临时重定向,客户端每次访问此 url 时,告知客户端重定向到新的 url ,后续访问依然访问当前的 url。 400:发送的请求错误,请求格式错误,或者没有服务器要求的数据。 401:没有权限访问,当前用户没有权限访问此资源。 403: 请求被服务器禁止。 404:请求的 url 不存在,一般是 url 出错。 500: 服务器处理请求出现错误。 501:服务器超出能力之外的方法,例如:请求的方法服务器不支持。 504:来自网关或者代理服务器,请求资源服务器时超时。 http状态码目录:https://developer.mozilla.org/en-US/docs/Web/HTTP/Status 与请求方法一样,http 状态码也是为了方便开发的一种标准,大部分的服务器在大范围上都是遵循该标准的。但是不能保证所有服务器严格遵循此标准,毕竟状态码只是服务器返回数据中的一部分,一些自定义的服务器可能对于所有的 5XX 类型错误都返回 500 状态码。 自动化测试处理验证码? 产品上线前我们找开发将验证码注释掉 让开发预留一个万能验证码,比如8888这种,当然这种只能在测试环境去做,在生产环境要将它删掉 有的系统可以勾选保存用户名和密码,我们可以通过cookie跳过登录,使用抓包工具就能处理 使用验证码识别技术,OCR识别,比如java下面有一个Tess4j库,python下面有一个ddddocr库,成功率比较低,不推荐 MySQL数据库 什么是索引? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间一个组成部分),他们包含着对数据表里所有记录的引用指针。 索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容简历索引形成目录。索引是一个文件,它是要占据物理空间的。 实战项目手撕 给你一个网站怎么开展测试? 1.首先,查找需求说明、网站设计等相关文档,分析测试需求。 2.制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试,界面测试,性能测试,数据库测试,安全性测试,兼容性测试。 3.设计测试样例: 功能性测试可以包括:链接测试;链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等;提交功能的测试,多媒体元素是否可以正确加载和显示;多语言支持是否能够正确显示选择的语言等。 界面测试:页面是否风格统一,美观。页面布局是否合理,重点内容和热点内容是否突出。控件是否正常使用。是否提供自动下载并安装的功能,文字检查。 性能测试:压力测试,负载测试,强度测试 数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。 安全性测试:基本的登录功能的检查;是否存在溢出错误,导致系统崩溃或者权限泄露;相关开发语言常见的安全性问题检查,例如SQL注入等;如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持。 兼容性测试,根据需求说明的内容,确定支持的平台组合:浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性。 4.开展测试,并记录缺陷。合理的安排调整测试进度,提高获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。 5.定期评审,对测试进行评估和总结,调整测试的内容。 为什么有时候我们需要手工编写脚本来测试网站的登录功能? 网站的变化 登录页面可能会变。比如,开发者可能会加入一个新的验证码功能或者改变登录按钮的位置。如果只用Selenium IDE录制的功能,那么每次页面有变动,你都需要重新录制脚本。但是,如果你手工编写脚本,你可以更容易地调整脚本以适应这些变化。 处理特殊情况 有时候,登录功能可能不仅仅是输入用户名和密码那么简单。可能还有“忘记密码”、“注册新账户”等链接,或者有些用户可能会被要求完成额外的验证步骤,比如输入手机收到的验证码。Selenium IDE可能不容易处理这些特殊情况,但手工编写的脚本可以更灵活地处理。 错误检查 当测试登录功能时,很重要的一点是检查是否有错误发生。比如,如果你输入了错误的用户名或密码,网站通常会显示一个错误消息。Selenium IDE可能会记录这些错误,但手工编写的脚本可以提供更详细的错误信息,帮助你更快地找到问题所在。 使用不同的数据进行测试 为了充分测试登录功能,你可能需要使用多组不同的用户名和密码进行测试。如果你用手工编写脚本,你可以很容易地设置这些测试数据,然后让脚本自动使用不同的数据进行测试。这叫做参数化测试,是自动化测试的一个重要部分。 与其他测试或工具结合 最后,手工编写的脚本更容易与其他测试或工具结合使用。比如,你可能想在登录后自动检查用户的个人资料页面是否正确显示。或者,你可能想使用某个特定的测试框架或报告工具来管理和跟踪你的测试。手工编写的脚本可以提供更大的灵活性来实现这些集成。 总的来说,虽然Selenium IDE是一个很好的起点,特别是对于那些不熟悉编程的人来说,但当测试需求变得更加复杂时,手工编写脚本通常可以提供更大的灵活性和控制能力。 界面搜索框测试用例 答:可以从功能测试、界面测试、安全性测试、兼容性测试、性能测试、易用性测试等角度进行回答。如:功能测试 搜索内容为空如何处理 在允许的字符串长度内外如何处理 合法的字符串长度后,加空格验证结果 验证每种合法的输入,结果是否正确 是否支持检索内容的复制、粘贴、编辑等操作 是否支持回车键搜索 多次输入相同的内容,查看系统的检索结果是否一致 搜索的历史纪录是否显示在下面 点击搜索,显示搜索界面 界面测试 查看 UI 是否显示正确,布局是否合理 是否有错别字 搜索结果显示的布局是否美观 安全性测试 脚本的禁用 SQL 的注入,检索 SQL SELECT 语句等 敏感内容的检索是禁止的 兼容性测试 多平台 Windows,macOS 移动平台 Android,iOS 多浏览器 火狐、Chrome、IE 等 分辨率,操作系统版本兼容等等 性能测试 搜索页面的链接打开速度的时间 搜索出结果消耗时间 弱网时搜索的响应时间 不同网速下搜索时的响应时间 3G,4G,WiFi 易用性 有联想功能 搜索内容与搜索结果的匹配程度 支持拍照搜索,语音搜索 Python相关岗位必备 Python中列表和元组的区别: 列表可以修改,元组不可以修改,列表相当于一个动态数组,而元组是一个静态数组。 从设计上说,列表是用来保存多个相互独立对象的数据集合,而元组设计的初衷就是为了描述一个不会改变的事物的多个属性。 然后列表的声明用中括号,元组的声明用小括号,并且元组只有一个元素到时候需要后面加逗号。 大厂面试中,非常经典的数字交换题目:如何在不引入第三个中间变量的情况下,完成两个数字的交换: 常规方法: a = a + b;b = a - b;a = a - b;不过这种方法有可能会导致数组越界 更好的方法是采用位运算完成数字交换: a = a ^ b;b = b ^ a;a = a ^ b; HR面半步offer时刻 你觉得你个性上最大的优点是什么? 沉着冷静、条理清晰、立场坚定、顽强向上,乐于助人和关心他人,适应能力和幽默感,乐观和友爱。 你最大的缺点是什么 1.作为社团的领导者,我有一个很明显的缺点——深厚的同情心。尽管有的时候它经常被当做优点,但在社团管理的层面上,这就是一个不小的缺点,因为有效的管理往往需要坚定的决策和实施。由于我倾向于更温和、更理解他人的方式,这使得我们的团队在执行纪律,例如准时参加社团会议方面,存在些许不足。当然这种风格其实也有一定的好处,它确实鼓励了团队成员与我进行开放、真诚的交流,这对于增强团队凝聚力还是起到了一定的作用。当然,未来如果我还能成为一个团队的核心的话,我会寻求在亲和与决断之间的平衡,以更好地服务整个团队。 2.不擅长公众演讲,之前在实习的时候,开周会需要评审的时候,我总容易紧张哆嗦,怕自己出错,但后来发现工作很多年的同事也会出错,其实没关系,解决问题才是最重要的,所以我慢慢的克服了紧张, 细节反问 根据您对我的简历,还有今天面试的总体了解,如果我可以顺利拿到offer,并且顺利入职的话,您觉得我还有什么可以改进的空间或者是还需要具备什么能力,来和这个岗位达到一个更好的匹配。 尽管JD已经对这个岗位的职责有了一个简单的介绍,我还是想明确一下这个岗位的核心工作,团队的工作氛围,以及团队之间是如何分工协作的。 您是职场前辈,我是小白,请问您有什么职场建议可以传授给我吗? 贵公司对新入公司的实习生有没有什么培养项目,我可以参加吗? 你为什么选择软件测试,最大的兴趣是什么? 行业前景比较好,而且近些年越来越多企业更注重测试。 测试时间越久,面临的困难和挑战也越多,解决问题的同时,也提高了自身的能力。 自己的性格比较外向开朗,很容易跟产品和开发沟通,做起事情可以事半功倍。 你提交的bug,开发不认可怎么办? 首先我会再看需求文档,是不是我的理解有误,如果是我对需求理解错的话我就会去关闭bug。 如果是bug再去听听其他测试人员的意见,然后自己会再三的进行复测,并且保存好相关的截图和日志,确定这是一个bug之后我就去跟开发说明白,并且给他看bug重现的截图以及日志,如果开发还是不认可的话我就跟产品或项目经理说明情况,然后等待上级的指示。 你为什么选择这个城市作为你的工作地 在选择成都作为工作地点时,我认为首先我非常向往成都的独特的历史文化底蕴,可以让人在忙碌的工作之余能够沉浸在悠久的历史氛围中。成都这种所独有的悠闲、舒适的生活氛围,以及深厚的历史文化底蕴,对我来说具有无法抗拒的吸引力。 其次因为我本身老家是新疆乌鲁木齐的,从小喜欢吃辣,成都的一些美食像麻辣火锅、串串香等都非常适合我的口味。 与成都相比,北京和上海的生活节奏明显更快,竞争压力也更大。虽然这两个城市提供了更多的职业发展机会和国际化的生活环境,但对我来说,可能缺乏一些生活上的悠闲和舒适。因此,在权衡职业发展与生活品质之后,我选择了成都作为我的工作地点。 我相信在这座充满魅力的城市中,我能够找到属于自己的职业发展空间,同时享受到高品质的生活。《春熙路、太古里、熊猫基地》 你的实习测试心得? 我觉得做测试态度比能力更重要,做好一个测试,最主要是性格,信心,耐心,细心还需要良好的沟通能力。不断学习的能力,产品质量,测试流程这块很关键,好的计划加好的执行才能成就好的产品。 你为什么选择腾讯? 腾讯是目前世界最大互联网公司之一,汇聚了业内最卓越的人才团队,拥有雄厚的技术积淀,也推出了许多受市场青睐的家喻户晓的产品。这个对于像我这样初入职场的人来说,腾讯这样的大的平台都是“无法拒绝”的吸引力。 另外腾讯的福利也是业内所领先的,这为员工提供了一个安稳的后盾,让员工可以无所顾虑地将精力集中在工作上面。 最后我觉得我个人方面,从小使用tx系软件,所以对tx有很深的情感羁绊,这也是我选择来到腾讯的理由。 你的职业规划? 首先,我的短期目标是在测试开发领域不断学习和深化技能。我希望在接下来的实习期间,能够全面了解和掌握测试的基本流程和工具的使用,积累实际项目经验,并努力提升自己的工作效率和质量。 中期来看,我计划在完成实习后,留在贵公司或寻找其他的互联网公司,担任正式的测试开发工程师职位。在这个过程中,我期望能够参与更多复杂、具有挑战性的项目,通过实践不断提升自己的技术水平和解决问题的能力。 长期而言,我希望能够成为测试开发领域的专家。我计划通过持续学习和实践,掌握最新的测试开发技术和方法,为公司带来更高的价值。同时,我也考虑在适当的时机,向测试团队领导或项目管理等更高层次的角色发展,为团队的成长和项目的成功做出更大贡献。 如果来这边实习你觉得可能会遇到哪些挑战?如何解决? 如果来到贵公司实习,我可能会遇到以下挑战,并且我已经构思了相应的解决方法: 挑战一:技术深度和广度的掌握 由于测试开发领域涉及众多技术和工具,我可能会在技术深度和广度上面临挑战。为了解决这个问题,我计划采取以下措施: 主动学习:利用公司提供的培训资源,参加技术讲座和研讨会,不断拓宽知识面。 实践应用:将所学知识应用到实际项目中,通过实践来加深理解和掌握。 寻求帮助:遇到技术难题时,积极向导师和同事请教,借助团队的力量共同解决。 挑战二:项目压力和时间管理 在实习期间,我可能会面临来自项目的压力和时间管理的挑战。为了应对这些挑战,我打算: 制定计划:为每个任务设定明确的时间表,合理分配工作和休息时间,确保高效完成任务。 优先级排序:根据项目的重要性和紧急程度,对任务进行优先级排序,确保关键任务得到优先处理。 及时反馈:与团队成员保持密切沟通,及时反馈工作进展和遇到的问题,共同调整计划以应对变化。 挑战三:团队协作和沟通 作为一个实习生,我可能需要时间与团队成员建立默契,确保顺畅的协作和沟通。为此,我将努力做到: 积极参与:主动参与到团队活动中,积极分享自己的想法和见解,展示自己的工作成果。 倾听和理解:在与团队成员交流时,认真倾听他们的意见和建议,努力理解他们的需求和期望。 灵活适应:根据团队的文化和习惯,调整自己的沟通方式和合作态度,以更好地融入团队。 我相信通过以上方法,我能够克服实习期间可能遇到的挑战,并为公司和团队带来积极的影响。 对于读研和直接工作你为什么倾向于选择后者? 对于读研和直接工作,我倾向于选择后者的原因主要有以下几点: 首先,我认为实践是检验真理的唯一标准。虽然研究生阶段的学习能够提供更深入的专业知识和研究能力,但直接工作可以让我更早地接触到实际的工作环境,将所学知识应用到实践中去,从而更好地理解和掌握。通过实际工作,我可以更快地积累经验和提升技能,这对于我未来的职业发展是非常有益的。 其次,我意识到职场是一个不断学习和进步的平台。在工作中,我会遇到各种各样的挑战和问题,这些都需要我去主动学习和解决。这种学习过程是持续的,而且能够让我保持对新技术和新知识的敏感度,从而更好地适应不断变化的市场需求。相比之下,研究生阶段的学习可能更侧重于理论知识和研究方法,而我对于实际应用和解决问题的兴趣更大。 最后,我也考虑到了时间和成本的因素。如果选择读研,我需要投入更多的时间和精力去学习,同时还需要承担一定的经济成本。而直接工作可以让我更早地开始职业生涯,积累工作经验和收入,从而更好地规划自己的未来。当然,这并不是说我不重视学术研究和深造,如果有机会和需要,我也会考虑在工作之余进行进一步的学习和提升。 综上所述,我倾向于选择直接工作是因为我更看重实践经验和职场学习,同时也考虑到了时间和成本的因素。我相信通过努力工作和学习,我能够在职场上取得更好的成绩和发展。 #软件开发笔面经#
点赞 21
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
今天 17:23
阿里巴巴_icbu_研发工程师
从面试官角度聊聊,如何给候选人通过还是不通过
面试这事儿: 面试官在 1-2 小时里做一件事——把你还原成一张“人才画像”,然后和岗位需要的画像做匹配。你看到的是:我问你项目、问你方案、问你观点、问你为什么。 我脑子里做的是:你的能力边界在哪、强项是什么、短板是什么、风险点在哪、成长性如何——你来了以后能不能交付、能不能扛事、是否值得信任。这篇文章想讲清两件事(站在面试官视角):面试官到底在面什么:我们如何在 1-2 小时里,把你还原成一张“人才画像”(能力边界、擅长领域、风险点、成长性)。面试官怎么做判断:我们具体看哪些维度、怎么追问拿证据、最后怎么下“通过 / 不通过 / 人才库”的结论。一、你看不到但一定存在的东西:岗位画像很多候选...
我发现了面试通关密码
点赞
评论
收藏
分享
昨天 15:43
顺丰集团_HR(准入职员工)
顺丰内推,顺丰内推码
1月还有很多HC!!!!java笔试题目:用 Python 实现一个函数,用于计算斐波那契数列的第 n 项。以下 Java 代码片段是否存在问题?如果有,请指出并改正。简述 C++ 中指针和引用的区别。实现一个二叉树的中序遍历算法,可使用递归或非递归方式。对于一个无序整数数组,使用快速排序算法对其进行排序,并分析该算法的时间复杂度和空间复杂度。设计一个算法,判断一个字符串是否为回文串,要求时间复杂度尽可能低。简述 TCP 三次握手和四次挥手的过程,并说明为什么连接建立是三次握手,而连接释放是四次挥手。一台主机的 IP 地址为 192.168.1.100,子网掩码为 255.255.255.0,...
点赞
评论
收藏
分享
2025-12-24 15:25
已编辑
门头沟学院 前端工程师
记录鼠鼠第一次面大厂(已挂附面经版)
是腾讯的csig腾讯云,前天晚上九点突然打电话约面,激动的通宵学了一晚上,第二天状态很差改了今天(以后再也不通宵学习了)感觉自己浪费了面试官一个半小时单纯手写+场景,无八股无项目无算法,打击真的很大,全是在面试官提醒的情况下完成的,自己技术方面真的还是有待提高,实力匹配不上大厂和已经面试的两个公司完全不一样,很注重编码能力和解决问题的能力,然而我这两个方面都很薄弱,面试官人很好很耐心的等我写完题目,遇到瓶颈也会提醒我,写不出题也会很耐心的跟我讲解好感动,到最后面试结束还安慰我打算把下周最后一场面试面完之后就不面啦,如果能去实习还是很开心,但是最重要的还是好好努力提高技术以下是面经第一题// 实现一个解析 url 参数的函数function parseUrl(urlStr) {// TODO}parseUrl('*********************************************');// 返回 {a: 1, b: 2, c: 3}追问:在链接里见过什么部分?用 hash 路由的话放在哪第二题// 考虑有一个异步任务要执行,返回 Promise,这个任务可能会失败,请实现 retry 方法,返回新方法,可以在失败后自动重试指定的次数。/*** 异步任务重试* @param task 要执行的异步任务* @param times 需要重试的次数,默认为 3 次*/function retry(task, times = 3) {// TODO: 请实现}// ---------------测试示例 ----------------// 原方法const request = async (data) => {// 模拟失败if (Math.random() < 0.7) {throw new Error('request failed');}const res = await fetch('https://jsonplaceholder.typicode.com/posts', {method: 'POST',body: JSON.stringify(data),});return res.json();}// 新的方法const requestWithRetry = retry(request);// 使用async function run() {const res = await requestWithRetry({ body: 'content' });console.log(res);}run();第三题就是给 retry 函数添加类型注释,用到泛型第四题:在组件库中将 Alert 用 api 的形式实现(应该就是 message 这个组件)怎么渲染到一个浮层里而不是原地渲染出来
不知道怎么取名字_:
技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析
点赞
评论
收藏
分享
2025-12-06 01:10
已编辑
哈尔滨工程大学 Java
经典白菜
一面问的真细,二面不知为啥变双机位。9.29快手主站平时怎么学习 AI 的,国内外知名大模型,实习公司都用的什么大模型,怎么评估效果的java池化思想,线程池构造方法的核心参数,线程池中阻塞队列注意事项,submit方法参数和执行逻辑,shutdown和shutdownnow,核心线程允许过期吗threadlocal底层,为什么key是弱引用,key回收了再get或者set这个value会怎样aqs,如何保证公平性java代理java堆划分,新生代还有别的晋升老年代的情况吗,什么时候触发gc,gc失败抛什么异常,如何排查oom,导出dump命令redis数据结构,哪个底层是跳表,和其他数据结构对比布隆过滤器会出现大key问题吗,你咋实现的布隆过滤器你怎么实现redis分布式锁,可重入,续期聚簇索引非聚簇索引select语句会加锁吗,怎么实现的不加锁undolog redolog binlog怎么能让select加锁,update这个范围加的什么锁,update一条呢手撕简单01背包,接雨水10.10快手主站意图识别用的哪个大模型,走到意图和rag的比例,faq是点击的吗自然语言怎么识别的gap一年干啥了,转正怎么样没跟组里提意向吗,研究生研究方向是传统算法吗,会大模型微调吗注册场景为什么用布隆过滤器,原理分布式锁底层的key怎么拼的,value里是什么redis持久化zset底层mysql索引结构,一个表三个字段有主键唯一索引和没索引的字段会有几个b+树,聚簇索引非聚簇索引存的啥无手撕
点赞
评论
收藏
分享
昨天 14:41
魔门塔(苏州)科技有限公司_感知算法工程师(准入职员工)
9377游戏内推,9377游戏内推码
erlang后端开发面试首先笔试,现场做:第一部分选择题(5题左右):大部分与排序、查找、时间复杂度、稳定性这几个知识点有关。有一题是通过二叉树的中序和后序反推原二叉树。总体难度:低第二部分简答题:1.TCP与UDP有什么不同? 2.写冒泡排序3.写出题目代码的递归结果9377游戏2026届春招启动!【公司简介】9377集团成立于2011年,是集研发、发行和平台运营于一体的全球化综合型互联网游戏公司。【热招岗位】 游戏策划类、美术设计类、市场推广类、游戏运营类、技术开发类【丰厚福利】定制化激励方案、季/年度优秀奖励、四餐供应、全勤奖励、带薪年假、特色带薪假、年度体检、交通补贴、高温补贴、年度团...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
J人永远闲不下来于是去提前实习
2541
2
...
mentor视角下的优秀实习生
2155
3
...
拥抱AI,程序员的最后出路
2047
4
...
牛客吐槽大会 | 有槽不吐,留着过年?吐完领现金红包,痛快!
1986
5
...
努力挣钱的意义具象化了
1774
6
...
大厂提前实习对AI开发的新感悟
1648
7
...
去独角兽做龙头还是去大厂做凤尾
1581
8
...
我身材再曼妙,也没有我的工资好笑!
1547
9
...
真正会被取代的,是你心里面的幻觉
1482
10
...
滴滴lastweek,知无不言
1399
创作者周榜
更多
正在热议
更多
#
牛客吐槽大会
#
2912次浏览
67人参与
#
机械人你知道哪些单休企业
#
83074次浏览
415人参与
#
今年春招是金一银二嘛?
#
8286次浏览
115人参与
#
参加完秋招的机械人,还参加春招吗?
#
103667次浏览
686人参与
#
1月小结:你过的开心吗?
#
1887次浏览
51人参与
#
抛开难度不谈,你最想去哪家公司?
#
4406次浏览
114人参与
#
为什么有人零实习也能进大厂?
#
5108次浏览
127人参与
#
AI求职实录
#
3672次浏览
105人参与
#
AI时代的工作 VS 传统时代的工作,有哪些不同?
#
8318次浏览
200人参与
#
机械人春招想让哪家公司来捞你?
#
379255次浏览
3141人参与
#
当你问AI“你会取代我的工作吗”,它说_?
#
3736次浏览
136人参与
#
你的第一家实习公司是什么档次?
#
4273次浏览
74人参与
#
没关系,至少我的__很曼妙
#
3719次浏览
65人参与
#
赚钱的意义在这一刻具象化
#
3972次浏览
97人参与
#
你的landing期是如何度过的?
#
8731次浏览
167人参与
#
除了Java,最推荐学什么技术?
#
5782次浏览
148人参与
#
我发现了面试通关密码
#
1599970次浏览
19679人参与
#
一人一道大厂面试题
#
114092次浏览
1263人参与
#
你觉得什么岗位会被AI替代
#
36794次浏览
255人参与
#
你在职场上见过哪些“水货”同事
#
30749次浏览
167人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务