随笔分类 - 面经
摘要:需要考虑几个点: 红包形成的队列不应该是从小到大或者从大到小,需要有大小的随机性。 红包这种金钱类的需要用Decimal保证精确度。 考虑红包分到每个人手上的最小的最大的情况。 下面是利用线段分割算法实现的分红包, 比如把100元红包,分给十个人,就相当于把(0-100)这个线段随机分成十段,也就是
阅读全文
摘要:因为hashmap本身是非线程安全的,如果多线程对hashmap进行put操作的话,就会导致死循环等现象。ConcurrentHashMap主要就是为了应对hashmap在并发环境下不安全而诞生的,ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,final,CA
阅读全文
摘要:面试的一道题目,实现int随机数的阶乘。这道题就是考察你考没考虑大数问题,如何避免它。 我能想到的就是用数组去实现,然后写了一下代码。但是当i的值很大,接近Max_value时的情况还没有考虑到。 直接看代码:mul进行数组每一位的阶乘,carry()用来对数组的每一位进位,pos记录当前的数组有效
阅读全文
摘要:今天鹅厂店面,最后问了一个ip地址字符串和整数间无损转化的问题,晚上有时间了手撸了一下代码。
阅读全文
摘要:给定一个入栈的序列(1,2,3,4,5);求它所有可能的出栈序列。 思路:先求序列的全排列,再求全排列的同时,判断这个序列是不是出栈序列。
阅读全文
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路:这道题只说了是非
阅读全文
摘要:package data_structure; class Node{ Node next=null; E data; public Node(E data){ this.data=data; } } public class ListStack { private Node top=null; public void push(...
阅读全文
摘要:package data_structure; import java.util.Arrays; public class ArrayStack { private Object []arrayStack; private int size; public ArrayStack(){ arrayStack=new Object[10]; } ...
阅读全文
摘要:Java的编译和平台独立性 首先Java是平台独立性语言(C/C++就不是,java一次编译在各个平台上都能执行),这关键就在它的"字节码"和JVM机制。Java程序编译后不是直接生成硬件平台的可执行代码,而是生成.class的字节码文件,再交由JVM翻译成对应硬件平台可执行的代码。(也就是说.ja
阅读全文
摘要:HashMap底层就是一个数组结构,数组中的每一项又是一个链表。 jdk源码: table就是一个Node类的数组,而Node类继承了Map.Entry<k,v>。每个 Map.Entry 其实就是一个键值对对,它还持有一个指向下一个元素的引用"next",这就构成了链表。如下图: table数组的
阅读全文
摘要:单例模式是创建型模式之一。 单例模式顾名思义是单例的,也就是只有一个实例化对象,这都来源于它的私有化构造函数。 单例模式特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例 单例模式的应用场景:Windows的Task Manager(
阅读全文
摘要:为什么三次握手,而不是两次或者四次五次? 2019/3/4更新: 在阅读了很多技术博客后,发先大家对为什么三次握手不是两次众说纷纭;我觉得说的最好的是英文文章对TCP的解读。TCP和UDP的区别就是可靠与不可靠传输。 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护各自的一个序列号, 以
阅读全文

浙公网安备 33010602011771号