首页 > 其他分享 >阿里面试总结(复盘)

阿里面试总结(复盘)

时间:2023-01-02 15:45:31浏览次数:28  
标签:硬币 可以 面试 阿里 搜索 low 哈希 排序 复盘

1、一个键值对如何插入hashmap?

方法一:使用hashmap的put()方法
hashmap.put(key, value);

方法二:使用hashmap的putIfAbsent()方法
hashmap.putIfAbsent(key, value);

2、哈希的应用场景?

哈希可以应用于多种领域,其中一些应用场景如下:

1. 数据存储:哈希可以用于存储结构化的数据,比如内存对象,键值对等。

2. 加密:哈希算法可以被用来为安全信息加密,比如数字签名,消息摘要等。

3. 校验:哈希算法可以用来校验数据完整性,比如校验文件完整性,校验文件下载等。

4. 搜索:哈希算法可以用来快速搜索,它可以用来将搜索对象映射到一个字符串,通过字符串快速搜索。

 

3、图搜索场景如何应用哈希来优化?

可以使用哈希来对图搜索中的节点和边进行存储,并将其映射到字符串,以实现快速搜索。

此外,可以使用哈希表来进行分块处理,只要将图中的节点按照任意哈希算法进行存储就可以实现,而不需要遍历整个图。这样能够大大提高搜索的效率,以及对大型数据的处理能力。

4、MD5使用哈希冲突,会有什么问题?

MD5是一种唯一的哈希函数,可以将任意长度的信息映射到一个128位的输出。但是,由于MD5是一个不可逆的函数,有可能会出现哈希冲突,也就是说,多个不同的输入可能会映射到同一个输出。这样就会导致安全问题,比如数据篡改攻击,伪造攻击等。

5、1T数据,内存有限,如何把这些数据排序

在内存有限的情况下,可以使用桶排序或基数排序来将1T数据进行排序。

桶排序:通过分桶的思想将元素放入不同的桶中进行排序,然后再将每个桶中的元素合并起来,从而实现排序。

基数排序:通过将T数据依次按位排序,分拆不同的桶中,再将各个桶中的数据进行归并排序,最终实现排序。

6、一个医院,有病人,会按照先来后到排序,现在来了个病重患者,你如何设计一个数据结构和算法来处理这些病人。

可以使用优先队列的数据结构和算法来处理这些病人。优先队列是一种特殊的队列,其中元素以具有优先级的方式存储,具有更高优先级的元素先于具有更低优先级的元素出队列,可以用于处理这种情况。具体步骤如下:

1. 将发生变更的病人的优先级设置为最高;
2. 将已入队的病人按照先来后到的原则放入优先队列;
3. 通过优先队列的性质取出最先来的病人进行治疗。

 

7、桌子放硬币,轮流放一个,放不下时算输,如何设计必赢策略。

可以使用反悔策略,具体步骤如下:

1. 在每一次轮到自己放硬币时,先放一块小硬币,这样可以使得最后一块硬币无法放下;
2. 如果另一个玩家在轮到自己之前,把最后一块硬币放下,则可以反悔,拿走前面的小硬币,选择放置一块大的硬币。

这样就可以保证自己最后一块硬币放下,实现必赢策略。

8、输入一个正数n,输出所有和为n的连续正数序列。

可以使用双指针的方法来解决这个问题,具体步骤如下:

1. 定义两个指针low和high,初始时low和high都指向1,表示从1开始搜索;
2. 计算low和high指向的数字序列和,如果和小于n,则high右移;
3. 如果和大于n,则low右移;
4. 如果和等于n,则输出这个序列,并将low右移;
5. 重复上述步骤,直到low大于n/2。

9、有一段文字,包含6个字母 ABCDEF,假设这六个字母出现的频率分别是 A 27 B 8 C 15 D 15 E30 F5。现在要进行编码,如何设计让总文本最短

 

可以使用Huffman编码,步骤如下:

1. 将出现频率最高的字母A分配最短的编码(例如:0);

2. 将其他字母按照字母出现的频率从高到低进行排列,依次分配“1”开头的编码(例如:E 30 -> 1, C 15 -> 10, D 15 -> 11, B 8 -> 100, F 5 -> 101);

3. 将上述编码应用到原文本中,得到最短的编码文本。根据本例,原文本ABCDEF编码为0110011101

 

标签:硬币,可以,面试,阿里,搜索,low,哈希,排序,复盘
From: https://www.cnblogs.com/15078480385zyc/p/17019990.html

相关文章

  • 用于年度复盘与计划的数据分析报告怎么写
    ![](​​​https://api2.mubu.com/v3/document_image/1a2a06d4-f84a-4a95-aa0e-81e500640959-1177969.jpg​​​)又到了年底年初做总结的日子,每个人&部门都要向老板做汇报,其......
  • 为什么能在国际学校里发展是从面试中开始呢?
    香港(Xinwengao.com)—为了提升非教学人员在国际学校环境中蓬勃发展的几会,第一步就很重要:那就是在面试中选择合适的人做适当的工作。考虑具有经验和资格来履行其专业职责......
  • 中国AI金雁奖 AI面试 视频面试 在线笔试 招聘管理系统
    而据燃次元不完全统计,目前,除了HireVue、海纳、智联和猎聘外,涉足AI面试的代表性企业还包括Interviewer.AI,北森、全面、赛码、牛客、Moka、daydao等。中国AI金雁奖_百度百......
  • 用于年度复盘与计划的数据分析报告怎么写
    又到了年底年初做总结的日子,每个人&部门都要向老板做汇报,其中最重要的形式就是写年度数据报告。首先我们要清楚写这个东西的目的是什么?大概有3个:第1,分析问题,帮助整个......
  • 校招前端二面高频vue面试题
    vue-router中如何保护路由分析路由保护在应用开发过程中非常重要,几乎每个应用都要做各种路由权限管理,因此相当考察使用者基本功。体验全局守卫:constrouter=createR......
  • 2023前端二面高频vue面试题集锦
    vuex是什么?怎么使用?哪种功能场景使用它?Vuex是一个专为Vue.js应用程序开发的状态管理模式。vuex就是一个仓库,仓库里放了很多对象。其中state就是数据源存放地,对应于......
  • 阿里云无影主机-提权sudo
    问题描述默认阿里云-无影云主机创建的桌面ubuntu,安装软件需要输入管理员密码,太麻烦了。(关键还不知道root密码)问题解决https://help.aliyun.com/document_detail/18......
  • 面试官:React怎么做性能优化
    前言最近一直在学习关于React方面的知识,并有幸正好得到一个机会将其用在了实际的项目中。所以我打算以博客的形式,将我在学习和开发(React)过程中遇到的问题记录下来。这两......
  • 面试官让你说说react状态管理?
    开发者普遍认为状态是组件的一部分,但是同时却又在剥离状态上不停的造轮子,这不是很矛盾么?对于一个最简单的文本组件而言functionText(){const[text,setText]=......
  • 校招前端一面经典react面试题(附答案)
    React.forwardRef是什么?它有什么作用?React.forwardRef会创建一个React组件,这个组件能够将其接受的ref属性转发到其组件树下的另一个组件中。这种技术并不常见,但在以下......