上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: GRPC调用示例 调用示例如下图所示 为了保证调用方和服务提供方能够正常通信,我们需要先约定一个通信过程中的契约 Protocol Buffer 代码如下所示 syntax = "proto3"; option java_multiple_files = true; option java_pack 阅读全文
posted @ 2022-06-15 17:38 Heinrich♣ 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目背景 只有2G内存的pc机,在一个存有10G个整数的文件,从中找到中位数 思路 数据量太大,无法在较短时间内迅速解决,或者无法一次性装入内存。每个数字在内存中占4B,10亿个数字完全加载到内存中需要:10*108*4B ,约为:4GB内存。显然不能把所有的数字都装入内存 中位数定义:数字排序之后 阅读全文
posted @ 2022-06-13 09:02 Heinrich♣ 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 定义 公平锁: 公平锁是指多个线程按照申请锁的顺序来获取锁,线程直接进入队列中排队,队列中的第一个线程才能获得锁 公平锁的优点是等待锁的线程不会饿死。 缺点是整体吞吐效率相对非公平锁要低,等待队列中除第一个线程以外的所有线程都会阻塞,CPU唤醒阻塞线程的开销比非公平锁大 公平锁 非公平锁是多个线程加 阅读全文
posted @ 2021-10-01 16:34 Heinrich♣ 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 设计一个类,只能生成该类的一个实例 只能生成一个实例的类是实现了单例模式的类型。由于设计模式在面向对象程序设计中起着举足轻重的作用,面试过程中很容易被问到。 方法一:只适用于单线程环境 生成一个实例,必须把构造函数设计成为私有函数,以禁止他人创建实例。我们可以定义一个静态的实例,在需要的时候创建该实 阅读全文
posted @ 2021-09-30 16:57 Heinrich♣ 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 代码如下 自己实现双向链表的LRU import java.util.HashMap; class DLinkedNode{ int key; int value; DLinkedNode pre,next; public DLinkedNode(){} public DLinkedNode(int 阅读全文
posted @ 2021-07-24 09:59 Heinrich♣ 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 动态规划是热门话题,如果一个面试题就问题的最优解,通常是最大值和最小值,而且能分解成若干个子问题,子问题也能分解更小的子问题,就能考虑动态规划 线分析要能否把大问题分解成小问题,小问题存在最优解,然后把小问题组合起来能够得到整个问题的最优解,用动态规划 为了避免重复求子问题,可以用从下往上的顺序计算 阅读全文
posted @ 2021-02-26 18:52 Heinrich♣ 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 从解决问题的每一步的所有可能选项里系统的选择出一个可行解决方案。回溯法非常适合有多个步骤组成的问题,每个步骤有多个选项,当我们在某一部选择了其中的额一个选项,就进入下一步,然后又面临新的选项。重复选择到达最终状态 用回溯法解决的问题的所有选项可以形象的用树状结构表示。在某一步有n个可能的选项,那么该 阅读全文
posted @ 2021-02-26 10:47 Heinrich♣ 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 把一句英文句子中的每个英语单词反转,但是单词中字母顺序不变,例如“I am Tom” 变为“ Tom am I”。 public class sentenceReverse { public static void sentenceReverse(String str){ char[] ch=str 阅读全文
posted @ 2021-02-23 10:42 Heinrich♣ 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 查找:顺序查找,二分查找,哈希表查找,二叉排序树查找。 哈希表和二叉排序树考察重点在于数据结构而不是算法 哈希表的主要优点是我们利用他能够在O(1)时间内查到某一元素,是效率最高的查找方式:但是缺点是需要额外的空间来实现哈希表。 二叉排序树查找算法对应的数据结构是二叉搜索树 排序比查找要复杂一些。比 阅读全文
posted @ 2021-02-23 09:42 Heinrich♣ 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 如果我们需要重复多次计算相同问题,则通常可以选择用,递归或者循环两种不同方法。递归实在一个函数内部调用这个函数自身。而循环是通过设置计算的初始值以及终止条件,在一个范围内重复运算。比如求1+……+n,我们可以同递归或者循环两种方式求出结果,对应代码如下 public class addFrom1To 阅读全文
posted @ 2021-02-22 11:10 Heinrich♣ 阅读(68) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页