面试
史上最强的弟子
直率到底凭自己
展开
-
阿里(高德地图)P7面试2020之hash分治原理(大数据)
1.题目:是有一个1TB的文件里面每行是一个ip求IP出现的次数最多多少次?内存只有1G可用。2.这个题目是我刚刚面试高德的高精度地图一位面试官问道的问题,我当时第一反应其实是知道分治的原理但是因为本人当时有点慌,再加上之前接触大数据的经验比较少,所以回答的很仓促,没有回答好,后面我仔细的研究了一下haddop的基本原理后来发现了原来这道题就是考的hash分治原理。3.解决方案如下图所示核心的思路就是通过对每一行数据做hashcode值与n取余数定位到小文件,然后在对小文件进行遍...原创 2020-07-25 12:05:46 · 1242 阅读 · 0 评论 -
阿里面试之https 2020的整个请求的过程(阿里健康二面)
从下图可以看出整个流程围绕着对于数据的加密过程传入,以及返回数据的加密。原创 2020-07-16 15:19:19 · 707 阅读 · 0 评论 -
阿里面试P8 2020 垃圾回收之CMS三色标记算法+Increment Update算法(阿里健康二面 P8岗位)
阿里健康的哥们儿二面的时候问我对垃圾回收算法的理解,我通过给他分析了一波 Remark阶段的算法中的SATB(G1)和Increment Update(CMS) 算法的理解,唉!~可惜了,这哥们儿感觉没看过这个,好像我说的都是天文故事,我很伤心,受伤了,要是说那些简单的算法可能大家都知道,我专门说了个比较有深度的算法,遇到不懂的家伙,zb失败了,兄弟们你们也要注意这个问题面试官也是有级别的,好的面试技巧就是你所说的都是面试官想听到的东西。这里我先说一下 三色标记+Increment Up...原创 2020-07-16 00:00:31 · 1536 阅读 · 0 评论 -
阿里面试P8 2020 JVM 垃圾回收算之 CMS会出现的问题(三面问题)
在说明CMS会出现问题的同时我们先了解一线CMS的垃圾回收的算法,CMS是采用的是mark-sweep算法(标记清除算法)。mark-sweep的算法如下图所示:1.可以看出这个算法出现的问题之一,”内存会有碎片化的问题“,一般分配创建对象分配内存有两种方式,1种是通过获取连续的存储空间(Cms是这种),如果没有连续的存储空间,第二种通过复杂的内存管理器来实现,这里有点像你去网吧上网,你需要问前台小姐姐那台电脑是空的,你和你的朋友去坐,很有可能是分开做的,这种方式增加了对于可用内存未...原创 2020-07-15 12:30:12 · 338 阅读 · 0 评论 -
字节跳动笔试题2020 (抖音电商)
题目:写一个以权重来进行随机分配的程序。拿到这个题的时候我思考了一下,幸好我之前看了Ribbon的权重算法。核心的思想就是把所有的权重值加起来,做随机值计算最终确定随机值在权重总值中的位置,从而确定是那个数据。import java.util.ArrayList;import java.util.List;public class Test12 { //权重算法 public Weight getWeight(List<Weight> list){ ..原创 2020-07-15 10:56:56 · 4718 阅读 · 0 评论 -
P7阿里面试题2020.07 之滑动窗算法(阿里云面试)
题目是有一个数据之中的数字可能为正负整数,求连续n个数之和的最大值。其实就是双指针滑动记录循环中的最大值。实现:import java.math.BigDecimal;public class Test9 { /*public double test(Double x,int flage){ double returnData = 0.0; double x1 = 0; double x2 = x; double p原创 2020-07-14 22:56:32 · 681 阅读 · 2 评论 -
P6阿里机试题之2020 斐波那契数
斐波那契数,通常用F(n) 表示,形成的序列称为斐波那契数列。该数列由0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定N,计算F(N)。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1.示例 2:输入:3输出:2解释:F(3) = F(2) + F(1) = 1 + 1 = 2.示...原创 2020-06-26 15:57:31 · 399 阅读 · 0 评论 -
字节跳动面试题之镜像二叉树2020
请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ \2 7/ \ / \1 3 6 9镜像输出:4/ \7 2/ \ / \9 6 31实例:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]import java.util.ArrayList;import java.util.List;public cl...原创 2020-06-22 09:52:49 · 413 阅读 · 0 评论 -
leetcode 之 零移位
这道题的关键是对于nums[j]永远存的是零或者是i == j的正常整数。public class Test6 { public static void main(String[] args) { Test6 test6 = new Test6(); int[] nums = {0,1,0,3,12}; test6.moveZeroes(nums); } public void moveZer...原创 2020-05-28 16:31:02 · 197 阅读 · 0 评论 -
leetcode 之 70 爬楼梯问题 (斐波那契数)
这里有个难点就是根据数据的归类统计发现 f(n) = f(n-1)+f(n-2);其实明白这个了之后其他的问题都迎刃而解了。最后是输出效率的图。所有代码都是本人亲自敲出来试过之后在截的图。原创 2020-05-28 15:48:20 · 186 阅读 · 0 评论 -
leetcode 之盛水问题
解题思路是两端指针靠拢法,注意:蓄水量是由最低height来确定的。所以它的公式是minheight*(i-j+1) [宽*长]执行代码:运行结果分析:本代码是有本人原创 2020-05-28 11:08:11 · 716 阅读 · 0 评论 -
P6阿里巴巴机试之线程顺序执行2020
上代码:import java.util.ArrayList;import java.util.List;public class ThreadSortsPrint { private static volatile char c = 'C'; private static List<Character> list = new ArrayList<>(1000); public static void main(String[] a...原创 2020-05-27 07:54:13 · 207 阅读 · 0 评论 -
P6阿里巴巴机试题之 N 叉树分层遍历2020 (n 叉树广度有限排序)
阿里巴巴机试题之 N 叉树分层遍历(n 叉树广度有限排序)import java.util.ArrayList;import java.util.List;public class test5 { public static void main(String[] args) { //构造树数据 Node node = new Node(); node.value = 6; List<Node> list =原创 2020-05-25 21:42:14 · 153 阅读 · 0 评论 -
2020 T5京东面试题之两数之和
给定一个从小到大的有序的整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class ...原创 2020-05-06 22:31:23 · 342 阅读 · 0 评论 -
java 之产生死锁的必要条件
1.死锁 怎么去打破。1.死锁发生的原因:是多个进程并发请求 争夺系统资源而产生的相互等待情况.2.本质问题:1.系统资源有限。2.进程推进顺序不合理。3.死锁产生的4个必要条件:3.1.进程互斥 资源分配给进程之后,其他的进程都不能使用。3.2.占有资源且正在等待 占有资源,等待其他进程释放资源占用。3.3.不可抢占资源 进程一直在等待,不能直接抢占其他线程占用的资源。......原创 2020-04-30 11:05:03 · 1678 阅读 · 0 评论 -
letcode 之 1 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]imp...原创 2020-04-30 11:02:13 · 163 阅读 · 0 评论 -
letcode 之2 两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> ...原创 2020-04-30 11:01:16 · 259 阅读 · 0 评论 -
2020 P6 阿里面试题-算法1
/**阿里面试题Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.Open brackets must be closed by the same type of brackets.Open ...原创 2020-04-30 11:00:07 · 1002 阅读 · 0 评论 -
cyc 的面试宝典之(面试1(java se 基础篇))
面试1(java se 基础篇)是整合了众多的java 面试宝典以及本人亲身面试总结的面试题,希望大家喜欢。原创 2016-02-16 15:43:45 · 1508 阅读 · 0 评论