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;
    }

    @Override
    protected 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); // 访问数据1
        cache.put(4, "d"); // 添加数据4,导致数据2被淘汰
        System.out.println(cache.keySet()); // [3, 1, 4]
    }
}

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为数据之道第三部分导读

目录 导读 第三部分 第7章 打造“数字孪生”的数据全量感知能力 “全量、无接触”的数据感知能力框架 数据感知能力的需求起源&#xff1a;数字孪生 数据感知能力架构 基于物理世界的“硬感知”能力 “硬感知”能力的分类 “硬感知”能力在华为的实践 基于数字世界的…

Options API:选项式 API改成Composition API:组合式 API的留言板

让我欢喜让我忧 改成Composition API:组合式 API的代码&#xff0c; <template><!-- start --><span class"span_checkbox">操作<input type"checkbox" v-model"showInput" value"操作" /></span><…

VueReal将在Display Week上推出microLED创新技术

公司展示将microLED从晶圆转移到背板的“改变游戏规则”的平台 在2024年显示周&#xff08;5月12日至16日在圣何塞举行&#xff09;上&#xff0c;VueReal将展示其MicroSolid打印平台&#xff0c;并展示其在推动微LED显示器和其他微型半导体器件在智能手机显示器和AR/VR解决方案…

探索鸿蒙开发:鸿蒙系统如何引领嵌入式技术革新

嵌入式技术已经成为现代社会不可或缺的一部分。而在这个领域&#xff0c;华为凭借其自主研发的鸿蒙操作系统&#xff0c;正悄然引领着一场技术革新的浪潮。本文将探讨鸿蒙开发的特点、优势以及其对嵌入式技术发展的深远影响。 鸿蒙操作系统的特点 鸿蒙&#xff0c;作为华为推…

贪心算法-----柠檬水找零

今日题目&#xff1a;leetcode860 题目链接&#xff1a;点击跳转题目 分析&#xff1a; 顾客只会给三种面值&#xff1a;5、10、20&#xff0c;先分类讨论 当收到5美元时&#xff1a;不用找零&#xff0c;面值5张数1当收到10美元时&#xff1a;找零5美元&#xff0c;面值5张数…

jmeter控制器讲解

1&#xff0c;随机顺序控制器和随机控制器的区别&#xff1a;随机顺序控制器下所有的接口都会执行&#xff0c;只是执行顺序是随机的&#xff0c;随机控制器下所有的接口中随机执行一个接口&#xff0c;其余接口不执行。

C++之大数运算

溪云初起日沉阁 山雨欲来风满楼 契子✨ 我们知道数据类型皆有范围&#xff0c;一旦超出了这个范围就会造成溢出问题 今天说说我们常见的数据类型范围&#xff1a; 我们平时写代码也会遇到数据类型范围溢出问题&#xff1a; 比如 ~ 我们之前写的学生管理系统在用 int类型 填写…

学习笔记:IEEE 1003.13-2003(POSIX实时与嵌入式规范)

一、文档 在线参考&#xff1a; IEEE 1003.13-2003 免费下载Draft 版本&#xff08;pdf&#xff09;&#xff1a;IEEE Std. 1003.13 二、概念 1、POSIX标准 可移植操作系统接口&#xff08;英语&#xff1a;Portable Operating System Interface&#xff0c;缩写为POSIX&a…

第八届大数据与物联网国际会议(BDIOT 2024)即将召开!

第八届大数据与物联网国际会议(BDIOT 2024)将于2024年9月14-16日在澳门圣若瑟大学举行。数聚未来&#xff0c;物联世界&#xff01;BDIOT 2024旨在搭建为各位与会代表展示自己研究成果、分享经验、建立联系和开展合作的平台&#xff0c;共同探讨大数据与物联网领域的未来发展方…

PostgreSQL的学习心得和知识总结(一百四十一)|深入理解PostgreSQL数据库数据库角色的使用及预定义角色的原理

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

人工智能实验:人脸检测

一、实现目的&#xff1a; 了解人脸检测的主要方法&#xff1b;了解 detectMultiScale 函数的功能及用法&#xff1b;掌握使用 OpenCV 提供的分类器和检测器进行人脸检测的方法。 二、实验设备&#xff1a; 计算机一台&#xff1b;视觉实验软件环境及资源一套&#xff08;vi…

MySQL-----多表查询(二)

目录 一.子查询概述&#xff1a; 二&#xff1a;标量子查询&#xff1a; 三&#xff1a;列子查询&#xff1a; 四&#xff1a;行子查询&#xff1a; 五&#xff1a;表子查询&#xff1a; 六&#xff1a;练习部分&#xff1a; 写在之前&#xff1a;本文承接上文MySQL-----多…

万用板是什么?和印刷电路板一样吗?

同学们大家好&#xff0c;今天我们继续学习杨欣的《电子设计从零开始》&#xff0c;这本书从基本原理出发&#xff0c;知识点遍及无线电通讯、仪器设计、三极管电路、集成电路、传感器、数字电路基础、单片机及应用实例&#xff0c;可以说是全面系统地介绍了电子设计所需的知识…

Hikyuu-PF-银行股轮动交易策略实现

今天&#xff0c;带来的是“如何使用 Hikyuu 中的投资组合来实现银行股轮动交易策略”。 这个策略的逻辑很简单&#xff1a;持续持有两支市净率最低银行股&#xff0c;然后每月换仓 定义回测周期与回测标的 同样&#xff0c;首先定义回测周期&#xff1a; # 定义回测日期 …

基于Nios-II的流水灯

基于Nios-II的流水灯 一、Qsys设计&#xff08;一&#xff09;新建项目&#xff08;二&#xff09;Platfrom Designer&#xff08;三&#xff09;设置时钟主频&#xff08;四&#xff09;添加Nios-II Processor并设置&#xff08;五&#xff09;添加JTAG并配置&#xff08;六&a…

android_systemServer进程启动流程

一&#xff0c;systemServer进程是被Zygote进程fork出来的&#xff0c;具体代码&#xff0c; 在startBootstrapServices、startCoreServices、startOtherServices、startApexServices中&#xff0c;对各类服务进行了启动&#xff0c;比如我们常见的ActivityManagerService、Pa…

AI视频教程下载:用ChatGP在24小时内制作发布畅销电子书

这门变革性的课程使您能够利用内容生成和自行出版的新兴AI世界。利用ChatGPT 4等尖端人工智能工具&#xff0c;也称为ChatGPT Plus&#xff0c;您将获得所需的技能集&#xff0c;以创建引人入胜的内容&#xff0c;掌握设计&#xff0c;并成为亚马逊KDP上成功的自行出版作者 。 …

Parallels Desktop 19 for Mac v19.3.0.54924中文破解版

Parallels Desktop 19 for Mac v19.3.0.54924中文破解版是一款强大的虚拟机软件&#xff0c;支持多操作系统&#xff0c;提供卓越的虚拟化技术&#xff0c;确保流畅稳定的运行。新增特色功能如共享打印、TouchID集成等&#xff0c;提供便捷高效的虚拟机体验。界面美观现代&…

理解DPI:从数码到打印的深入分析

目录标题 1. DPI的定义2. DPI与图像质量2.1. 对于打印来说&#xff1a;2.2. 对于屏幕显示来说&#xff1a; 3. 如何计算DPI4. 调整DPI4.1. 提高DPI&#xff1a;4.2. 降低DPI&#xff1a; 5. DPI与图像文件大小的关系6. 实际应用中的DPI6.1. 专业打印&#xff1a;6.2. 屏幕设计&…

含义:理财风险等级R1、R2、R3、R4、R5

理财风险等级R1、R2、R3代表什么&#xff0c;为什么R1不保本&#xff0c;R2可能亏损 不尔聊投资https://author.baidu.com/home?frombjh_article&app_id1704141696580953 我们购买理财产品的时候&#xff0c;首先都会看到相关产品的风险等级。风险等级约定俗成有5级&…
最新文章