60*13薪,外包到新疆...去吗?

大家好,我是白露呀。

今天我在牛客上看到一篇帖子,一位网友说自己收到一个 offer ,薪资很高:60k*13,大约一年有近80万。

但是有个要求是外包到新疆的乌鲁木齐,他拿不定主意,就在牛客上发了这个帖子。

然后这个“凡尔赛式”的发言就把网友们给搞懵了,纷纷留下了他们的“祝福”,有网友说**“外派月球都可以”**。

img

还有网友说“别说新疆,让我去西伯利亚喂狼都行”、“**6万,把我派到国外我都愿意”。

img

总而言之,大伙对这位网友的遭遇都表示强烈的羡慕。

在我看来,如果是刚毕业的同学,或者急需用钱的同学,并且对地域并没有强烈要求的话,这个岗位完全可以接受。

毕竟乌鲁木齐是新疆的省会城市,完全可以挣几年钱再考虑一直定居还是跳槽去其他的城市。

白露我一直没有去过新疆,但是家里有亲戚在新疆做过几年生意,听他们说新疆其实挺舒服的,景色优美,就是一开始去高反有点受不了。

今天我给大家带来一篇面经,正好是乌鲁木齐一个小厂的面试,总的来说,大部分考查的八股文知识,各位同学可以收藏、阅读、练习、划线!春招再冲刺一波!

面经开始

面试官: 首先,告诉我你学过哪些数据结构

求职者: 我学过的数据结构包括数组链表队列哈希表二叉树红黑树等。这些数据结构是计算机科学中的基础,它们在解决各种算法问题中都有广泛应用。

面试官: 很好。那你能解决N皇后问题吗?

求职者: 是的,N皇后问题是一个经典的回溯算法问题,其目标是将N个皇后放置在N*N的棋盘上,使得它们彼此不能相互攻击。我会使用一个递归函数来尝试每一行的每一个位置,通过检查列和对角线上是否已经有皇后来保证不会相互攻击。

面试官: 你学过哪些数据库

求职者: 我学过关系型数据库MySQLPostgreSQL,了解它们的基本操作和一些优化技巧。我也熟悉非关系型数据库,比如MongoDBRedis,理解它们的数据模型和适用场景。

面试官: 谈谈事务的四大特性

求职者: 事务的四大特性原子性一致性隔离性持久性。原子性保证事务中的操作要么全部成功,要么全部失败;一致性确保事务执行后数据库从一个合法状态转移到另一个合法状态;隔离性保证并发事务之间不会互相影响;持久性则是指事务一旦提交,其结果就会永久保存。

面试官: 那么,如何保证事务的四大特性

求职者: 数据库管理系统通常通过锁机制日志记录隔离级别来保证事务的ACID特性。比如,通过锁来实现隔离性,通过写入undo log和redo log来实现原子性和持久性。

面试官: 你了解索引的底层实现吗?

求职者: 是的,大多数数据库的索引是使用B+树实现的。B+树是一种平衡多路查找树,它可以保持数据排序,而且由于其广泛的分支,可以减少磁盘I/O操作,提高查询效率。

面试官: 如果查询一个表中的数据很慢,可能是什么原因?你会怎么解决?

求职者: 查询慢可能是由于缺乏有效的索引、数据量过大、磁盘I/O瓶颈或查询语句不够优化等原因造成的。我会先检查执行计划,检查是否有合适的索引,然后考虑是否需要优化查询语句或调整数据库的配置。

面试官: 你在Redis中用过哪些数据结构?怎么用的?

求职者: 在Redis中我使用过字符串哈希列表集合有序集合。比如,我会使用列表来实现队列,用集合来处理去重,使用有序集合来做范围查询和排行榜等功能。

面试官: 你了解Redis的持久化吗?

求职者: 是的,Redis提供了RDBAOF两种持久化机制。RDB会在指定的时间间隔内生成数据快照,而AOF则记录每次写操作,可以提供更好的持久性保证。

面试官: 在你的项目中,你是如何解决数据一致性问题的?你提到了两种方案,最终使用了哪一种?

求职者: 在我的项目中,最初我们使用了删除缓存和修改数据库的方式来保证一致性,但后来我们发现使用延迟队列加上双删的方案更加有效,因此我们最终采用了后者。

面试官: 如果Redis满了会发生什么?

求职者: 如果Redis满了,它将根据配置的淘汰策略来移除一些键,比如LRU(最近最少使用)策略。如果没有合适的淘汰策略,Redis可能会拒绝写操作。

面试官: 你有实现过LRU或LFU吗?

求职者: 是的,我实现过LRU,它可以通过结合HashMap双向链表来实现。我还了解LFU的概念,它通常需要两个HashMap加上链表来跟踪使用频率。

**LFU(Least Frequently Used,最不经常使用)LRU(Least Recently Used,最近最少使用)**都是缓存淘汰算法。

  • LFU根据数据被访问的次数来决定淘汰哪些数据。具体来说,它会淘汰访问次数最少的数据。如果存在多个访问次数相同的数据,可能会根据具体实现来选择淘汰哪一个。LFU的核心在于维护一个按访问频率排序的数据结构,以便快速找到访问次数最少的数据。
  • LRU则是根据数据的访问时间来决定淘汰哪些数据。最近最少使用的数据(即最长时间没有被访问的数据)首先被淘汰。LRU通常使用一个链表来实现,链表的头部是最近访问的数据,尾部是最久未访问的数据。

实现LRU缓存,一种简单的方法是使用LinkedHashMap,因为LinkedHashMap内部已经实现了按访问顺序的排序功能。:

import java.util.LinkedHashMap;
import java.util.Map;public class LRUCache<K, V> extends LinkedHashMap<K, V> {private final int capacity;public LRUCache(int capacity) {// 设置accessOrder为true,使LinkedHashMap按访问顺序排序super(capacity, 0.75f, true);this.capacity = capacity;}@Overrideprotected boolean removeEldestEntry(Map.Entry<K, V> eldest) {// 当缓存项数量超过容量时,移除最老的数据return size() > capacity;}public static void main(String[] args) {LRUCache<Integer, String> cache = new LRUCache<>(3);cache.put(1, "a");cache.put(2, "b");cache.put(3, "c");System.out.println(cache.keySet()); // [1, 2, 3]cache.get(1); // 访问数据1cache.put(4, "d"); // 添加数据4,导致数据2被淘汰System.out.println(cache.keySet()); // [3, 1, 4]}
}

这个LRUCache类继承自LinkedHashMap,并重写了removeEldestEntry方法。这个方法会在每次添加新元素后调用,如果返回true,则会移除最老的元素(此处的"最老"是指最久未被访问的元素)。通过调整accessOrder参数,我们使LinkedHashMap按访问顺序而非插入顺序排序。当缓存的大小超过了其容量时,最久未访问的元素(即链表的尾部元素)会被移除。这样,我们就实现了一个简单的LRU缓存。

面试官: 很好,今天的面试就到这,后续会有人联系你的。

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

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

相关文章

Crocoddyl 使用教程(二)

系列文章目录 前言 小车摆杆是另一个经典的控制实例。在这个系统中&#xff0c;一根欠驱动的杆子被固定在一辆一维驱动的小车顶部。游戏的目的是将杆子升到站立位置。 模型如下&#xff1a; https://en.wikipedia.org/wiki/Inverted_pendulum 我们用 表示小车质量、 表示摆杆质…

Agent Hospital: 一种可进化医疗代理人的医院模拟器

论文来源: https://arxiv.org/pdf/2405.02957 1 引言 大型语言模型(LLM)代理在各种任务中表现出了有前景的性能,包括代码生成、信息博弈和问答等。受 LLM 代理能力的启发,一些研究采用它们来模拟人类互动和行为,而不是处理单一任务,例如社交媒体上的信息传播和"Stanford…

Pyside6详细使用教程python之GUI开发

1、首先需要安装Pyside6&#xff0c;终端执行命令&#xff1a; pip3.10 install pyside6 2、你们的一般是 pip install pyside6 2、如下代码创建一个简易程序导入必要的模块 import sys from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton,…

c语言实现贪吃蛇小游戏————附全代码!!!

目录 1.Win32 API 1.1控制台应用程序 1.2控制台的名称&#xff0c;控制台窗口大小 1.3设置控制台光标位置 COORD - 光标坐标 GetStdHandle - 获取句柄 SetConsoleCursorPosition - 设置光标位置 封装一个设置光标的函数 1.4设置控制台光标的属性 CONSOLE_CURSOR_INFO …

HNU-人工智能-作业1

人工智能-作业1 计科210x 甘晴void 第1题 考虑一个实时的在线电话翻译系统&#xff0c;该系统实现英语与日语之间的实时在线翻译&#xff0c;讨论该系统的性能度量&#xff0c;环境&#xff0c;执行器&#xff0c;感知器&#xff0c;并对该环境的属性进行分析。&#xff08;10…

【Android】源码解析Activity的结构分析

源码解析Activity的结构分析 目录 1、Activity、View、Window有什么关联&#xff1f;2、Activity的结构构建流程3 源码解析Activity的构成 3.1 Activity的Attach方法3.2 Activity的OnCreate 4、WindowManager与View的关系总结 1、一个Activity对应几个WindowManage&#xff0…

Java 中的 HTTP 客户端库OkHttp、Apache HttpClient和HttpUrlConnection

大家好&#xff0c;我是G探险者。 项目开发里面经常会有这么一种场景&#xff1a;与服务器进行 HTTP 通信。一般存在于服务间远程调用的场景 Java 生态系统提供了多种 HTTP 客户端库&#xff0c;每种都有其自己的特点、优势和适用场景。 本文将介绍几种主要的 Java HTTP 客户…

基于Springboot的校园招聘系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园招聘系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

modprobe: can‘t open ‘modules.dep‘: No such file or directory

使用modprobe会提示modprobe: cant open modules.dep: No such file or directory 直接输入depmod即可。 如果depmod没有效果&#xff0c;则需要重新配置编译你的根文件。 在busybox配置界面进入linux Module Utilities, 上下键选择depmod&#xff0c;并按 y 选中&#xff0c…

期权和期货有什么区别?

今天期权懂带你了解期权和期货有什么区别&#xff1f;期权和期货是两种常见的衍生金融工具&#xff0c;它们在结构和盈利方式上存在一些关键的区别&#xff1a; 期权 期权是一种给予持有者在未来某个时间以特定价格买入或卖出基础资产的权利&#xff0c;但不是义务。期权的主要…

LeetCode 110. 平衡二叉树

LeetCode 110. 平衡二叉树 1、题目 题目链接&#xff1a;110. 平衡二叉树 给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2…

Android 14 变更及适配攻略

准备工作 首先将我们项目中的 targetSdkVersion和compileSdkVersion 升至 34。 影响Android 14上所有应用 1.最低可安装的目标 API 级别 从 Android 14 开始&#xff0c;targetSdkVersion 低于 23 的应用无法安装。要求应用满足这些最低目标 API 级别要求有助于提高用户的安…

(二刷)代码随想录第1天|704. 二分查找 27. 移除元素

704. 二分查找 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode&#xff1a;704. 二分查找_哔哩哔哩_bilibili 给定一个 n 个元素有序的&#xff08;升序&#xff09…

国科大深度学习期末历年试卷

本文借鉴 国科大深度学习复习 深度学习期末 深度学习2020 一&#xff0e;名词解释&#xff08;每个2分&#xff0c;共10分&#xff09; 深度学习&#xff0c;稀疏自编码器&#xff0c;正则化&#xff0c;集成学习&#xff0c;Dropout 二&#xff0e;简答题&#xff08;每题…

设置默认表空间和重命名

目录 设置默认表空间 创建的临时表空间 tspace4 修改为默认临时表空间 创建的永久性表空间 tspace3 修改为默认永久表空间 重命名表空间 将表空间 tspace3 修改为 tspace3_1 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/13520…

万字长文详解Typora+PicGo+Github/Gitee的配置教程

文章目录 1.前言1.1 Typora简介1.2 引入1.2.1 移动本地图片位置导致图片加载失败问题解决方案反思&#xff1a; 1.2.2 CSDN导入图片转存失败1.2.3 思考 1.3 图床工具1.4 使用原因1.5 总结 2.安装教程2.1 Typora安装教程2.1.1 下载安装包方式1&#xff1a;百度网盘方式2&#xf…

FPGA ov5640视频以太网传输

1 实验任务 使用DFZU4EV MPSoC 开发板及双目OV5640摄像头其中一个摄像头实现图像采集&#xff0c;并通过开发板上的以太网接口发送给上位机实时显示。 2 Verilog代码 2.1 顶层模块 timescale 1ns / 1ps //以太网传输视频顶层模块module ov5640_udp_pc (input sys_cl…

[C++初阶]string的几道oj题

1.LCR 192. 把字符串转换成整数 (atoi) 这题难度不大,我这里采取遍历跳过空格的方式&#xff0c;我先展示出我的代码,然后慢慢讲解: class Solution { public:int myAtoi(string str) {if (str.empty()) return 0;int lengthstr.size();int i0;int symbol1;int sum0;while(i&l…

春游江淮 请来池州|一起看看石台这条“天路”有多美

自驾石台天路 石台天路位于安徽省石台县,西起杜村蓬莱仙洞,东起七都镇,全程约65公里,其中核心路段海拔均在650米以上,最高处海拔坐标位置901米,自驾其中,一路穿越山乡秘境,丛林、山脉、古村、古桥、流水、人家……扑面而来。 沿着蜿蜒的山路前行,一路上的风景如诗如画,青山如黛…

IT项目管理 选择/判断 【太原理工大学】

第一章、IT项目管理 判断题 1、搬家属于项目。&#xff08; 对 &#xff09; 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。&#xff08; 错 &#xff09; 3、项目具有临时性的特征。&#xff08; 对 &#xff09; 4、项目开发过程…