小公司要求真高
大家好,我是白露啊。
最近看到一个爽文帖,标题就是——“小公司要求真高”。
事情是这样的,一家的小公司在拿到简历之后,HR直接对楼主说:“你不合适,简历不行。” 言外之意就是嫌弃简历单薄,看不上楼主。
万万没想到。。。
然后还扎心的来了一句:“你们班或者年级,有没有合适的同学可以推荐?”
WTF?
你看不上我,我又不是你公司的人,还得帮你推荐?你这是打什么算盘🧮啊!
怎料楼主立马以迅雷不及掩耳之势,甩了一个腾讯录取的图片。腾讯PCG,大家都知道那绝对是个重量级部门。
瞬间打脸,秒变爽文,网友纷纷惊呼。
还有之前面过这个家公司的网友也开始吐槽:
看来,天下“苦秦”久矣。。。
各位小伙伴们,求职之路虽然充满荆棘和挑战,但请保持自信、积极,努力学习。都能像楼主一样,最终迎来“大鹏展翅”的那一刻。期待看到你们更多的精彩故事和真实体验,欢迎在评论区分享。好了,今天我们来看一篇外企Shoppe 的面试,如果不想看,可以直接跳转到文末,有惊喜哦~
开始面试
面试官: 首先请做一下自我介绍。
求职者: 您好!非常感谢有这个机会参加Shopee的面试。我是一名软件工程专业的毕业生,对后端开发非常感兴趣。我有扎实的计算机科学基础,熟悉Java和Python等编程语言,也对分布式系统和网络通信有一定的了解。在我的实习经历中,我参与了多个后端项目,包括API开发和数据库优化等。
面试官: 谈谈进程和线程的区别?为什么线程切换消耗资源小?它们是如何来使用多核CPU的?
求职者: 进程是操作系统资源分配的基本单位,每个进程都有自己独立的地址空间和资源。线程是进程中的执行单元,是CPU调度的基本单位,一个进程可以包含多个线程,线程之间共享进程的资源,如内存和文件描述符。线程切换消耗资源小是因为线程间共享部分状态,切换时不需要重新加载地址空间。在多核CPU上,操作系统可以将不同的进程或线程分配到不同的核心上并行运行,以此提高执行效率。
面试官: 虚拟内存是什么?
求职者: 虚拟内存是计算机系统内存管理的一种技术。它允许程序在运行时拥有一致的地址空间,这个地址空间通常会比物理内存大。它利用磁盘空间来扩展可用内存,通过内存分页和页表来管理。这样,即使物理内存被占用完,程序仍然可以继续运行。
面试官: 描述一下手机下单流程的网络请求过程?为什么是三次握手不能是两次?世界上这么多机器是怎么知道我们的目标服务器在哪里?
求职者: 当手机发起下单请求时,会经过应用层、传输层、网络层、链路层的多个步骤。三次握手是TCP/IP协议确保稳定连接的一种机制,它通过三步验证双方都准备好进行数据传输。两次握手不能确认双方的接收与发送能力都是正常的。网络请求通过DNS解析域名找到目标服务器的IP地址,然后通过路由器根据IP地址来确定数据包的转发路径。不是通过MAC地址匹配,MAC地址通常只在同一局域网内有效。
面试官: 连接断开过程是怎样的?没有第四步会怎么样?TCP和UDP的区别?
求职者: TCP连接的断开是一个四次挥手的过程,确保双方都没有数据再发送。如果没有第四步,就可能导致一方仍然等待关闭,从而造成资源的浪费。TCP是面向连接的协议,提供可靠的数据传输,而UDP是无连接的,提供快速但不保证可靠性的数据传输。
面试官: HashMap的实现?红黑树的好处?
求职者: HashMap是基于哈希表的数据结构,通过计算键的哈希码来存储和检索键值对。在Java中,当HashMap中的某个桶里的元素过多时,会将链表转换为红黑树,以提高搜索效率。红黑树是一种自平衡的二叉搜索树,它能在O(log n)的时间复杂度内完成查找、插入和删除操作,即使在最坏情况下也能保持较好的性能。
面试官: 来,写道题吧:两两一组翻转链表
求职者: 要两两翻转链表,我们可以使用迭代的方法。我们遍历链表,每次取出两个节点,并在局部进行翻转,然后将翻转后的子链表重新连接到主链表上。我们还需要一个指针来跟踪上一对翻转后的节点,以确保链表的完整性。
面试官: 现在,请你尝试写出两两一组翻转链表的代码,并分析时间复杂度。
求职者: 好的。这是两两翻转链表的一个可能的Java实现:
class Solution {public ListNode swapPairs(ListNode head) {ListNode dummy = new ListNode(-1);dummy.next = head;ListNode prevNode = dummy;while (head != null && head.next != null) {ListNode firstNode = head;ListNode secondNode = head.next;prevNode.next = secondNode;firstNode.next = secondNode.next;secondNode.next = firstNode;prevNode = firstNode;head = firstNode.next; // jump to the next pair}return dummy.next;}
}
这段代码的时间复杂度是O(n),其中n是链表中的节点数量,因为我们需要遍历整个链表来两两翻转节点。
相关文章:

小公司要求真高
大家好,我是白露啊。 最近看到一个爽文帖,标题就是——“小公司要求真高”。 事情是这样的,一家的小公司在拿到简历之后,HR直接对楼主说:“你不合适,简历不行。” 言外之意就是嫌弃简历单薄,看…...

进阶篇02——索引
概述 结构 B树索引 在这里推荐一个可以将个各种数据结构可视化的网站:数据结构可视化 哈希索引 相关的一个面试题 分类 聚集索引和二级索引(非聚集索引) 思考题:索引思考题 创建索引语法 如果一个索引关联多个字段ÿ…...

三:SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用
三:SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用 一:HelloWorld [我们创建的是maven项目或者直接创建一个Spring] 1.1:创建一个maven 项目(1】:需要自己手动写一个SpringBoot 的启动类同…...

网络仿真方法综述
目录 1. 引言 2.仿真器介绍 2.1 NS-2 2.2 NS-3 2.3 OPNET 2.4 GNS3 3.仿真对比 4.结论 参考文献 1. 引言 网络仿真是指使用计算机模拟网络系统的行为和性能的过程。在网络仿真中,可以建立一个虚拟的网络环境,并通过模拟各种网络设备、协议和应用程…...
Android-Q升级-Camera记录
目录 代码环境 建立Android Q使用的camera仓 Camera底层适配 camx 原生接口变化 其他编译问题 chi-cdk 数据类型不匹配 case未加break的报错 libalRnBRT_GL_GBWRAPPER链接问题 vidhance编译错误 libarcsat链接问题 vendor/qcom/proprietary prebuilt_HY11 调试cam…...

Android studio如何导入项目
打开解压好的安装包 找到build.gradle文件 打开查看gradle版本 下载对应的gradle版本Index of /gradle/(镜像网站) 下载all的对应压缩包 配置gradle的环境变量 新建GRADLE_HOME 将GRADLE_HOME加入到path中 将项目在Android studio中打开进行配置 将gr…...

PHP实现一个简单的接口签名方法以及思路分析
文章目录 签名生成说明签名生成示例代码签名校验示例代码 签名生成说明 B项目需要调用A项目的接口,由A项目为B项目分配 AccessKey 和 SecretKey,用于接口加密,确保不易被穷举,生成算法不易被猜测。 最终需要确保包含签名的参数只…...

StartAI”梦想合伙人 ”招募计划
我们正火热招募AI设计师产品合伙人!如果你对AI技术充满好奇,对设计有着独特的见解和热情,亦或者你想在日常的设计工作中提高效率,无论你是电商设计师、UI设计师、建筑师、插画师等其他各类设计领域的人才。那么这就是你不容错过的…...
记录:podman安装redis
Linux系统上安装redis: podman pull redis # 拉取最新的redis版本 podman images # 查看所有本地的镜像,包括刚拉取的redis镜像mkdir -p /etc/redis/conf /etc/redis/data # 创建2个目录文件,保存redis的数据和配置文件 tou…...
TrinityCore启动报错: MySQL library version (8.0.37 id 80037) does not match
TrinityCore启动的时候报错: TrinityCore/src/server/database/Database/DatabaseWorkerPool.cpp:73 in DatabaseWorkerPool FATAL ERROR: Used MySQL library version (8.0.37 id 80037) does not match the version id used to compile TrinityCore (id 80036). S…...
代码随想三刷字符串篇
代码随想三刷字符串篇 344. 反转字符串题目代码541. 反转字符串 II题目代码54. 替换数字(第八期模拟笔试)题目代码151. 反转字符串中的单词题目代码55. 右旋字符串(第八期模拟笔试题目代码28. 实现 strStr()题目代码459.重复的子字符串题目代码344. 反转字符串 题目 链接 …...

华为支持手指关节手势的原理
华为的指关节手势有指关节截屏、指关节录屏、指关节区域截屏、指关节分屏等。该技术的实现是靠触控结合了其他一些传感器实现的。 华为的专利: 一种手势控制方法、装置、终端设备和存储介质——华为技术有限公司 专利中提到以往终端设备对于手势的识别都是基于位置和…...

Flink的简单学习五
一 动态表与连续查询 1.1 动态表 1.是flink的支持流数据Table API 和SQL的核心概念。动态表随时间的变化而变化 2.在流上面定义的表在内部是没有数据的 1.2 连续查询 1.永远不会停止,结果是一张动态表 二 Flink SQL 2.1 sql行 1.先启动启动flink集群 yarn-see…...

C++|哈希应用->位图
目录 一、概念 1.1原理分析: 1.2效率分析: 二、模拟实现 2.1位图框架初始化空间 2.2映射 2.3清零 2.4判断 2.5测试代码 三、位图扩展应用 一、概念 位图,本质上也是一个数组,通过哈希思想构造的一种数据结构,…...

Rust 实战丨SSE(Server-Sent Events)
📌 SSE(Server-Sent Events)是一种允许服务器向客户端浏览器推送信息的技术。它是 HTML5 的一部分,专门用于建立一个单向的从服务器到客户端的通信连接。SSE的使用场景非常广泛,包括实时消息推送、实时通知更新等。 S…...

Django API开发实战:前后端分离、Restful风格与DRF序列化器详解
系列文章目录 Django入门全攻略:从零搭建你的第一个Web项目Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解Django ORM深度游ÿ…...

React基础教程:TodoList案例
todoList案例——增加 定义状态 // 定义状态state {list: ["kevin", "book", "paul"]}利用ul遍历list数组 <ul>{this.state.list.map(item ><li style{{fontWeight: "bold", fontSize: "20px"}} key{item.i…...

PHP超详细安装及应用
目录 所需安装包如下 一、PHP安装 依赖包安装 安装扩展工具(先将PHP所需的软件包全部拖进centos根目录下) 安装libmcrypt 安装mhash 安装mcrypt 安装PHP 二、设置LAMP组件环境(要保证mysql、http都安装完成了) Php.ini的建…...
【算法篇】大数加法JavaScript版
题目描述 以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。 数据范围:s.length,t.length≤100000,字符串仅由’0’~‘9’构成 要求:时间复杂度 𝑂(𝑛) 示例1 输入&…...
【LeetCode 128】 最长连续子序列
判断前一位数在不在字典中是这道题的关键之处,这样就可以避免重复查找,从而达到O(n) 的时间复杂度。如果没有这个判断,那么时间复杂度最坏也得是O(N^2)级别的。 1. 题目 2. 分析 合理利用数据结构。本题中使用了set来保存数组的元素&#x…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...