摘要: 不会做产品的程序不是好测试,以下是不才当年设计的实习生自动过滤器,能考虑到5个以上得分点,直接录用。 通勤班车问题 某大型企业(约1万人)为了解决员工上下班交通问题,决定提供免费通勤班车接送员工上下班。 请设计一个系统,解决班车调度问题: 一. 已知并... 阅读全文
posted @ 2021-05-17 21:54 AllyDale 阅读(20) 评论(0) 推荐(0)
摘要: 1. 禁止 1.1 禁止使用递归(包括间接递归) //请评估以下函数的执行时间package mainimport "time"func fibonacci(n uint64) uint64 { if n > 2 { return fibonacci(n-... 阅读全文
posted @ 2021-05-17 21:19 AllyDale 阅读(49) 评论(0) 推荐(0)
摘要: 1. 问题描述 这是很多年前看到的一道与递归有关的笔试题目: 一个班有50个人,每个人都有自己的固定座位。有一天1号突然有点发疯,他随机选择了一个座位。从2号开始,如果自己的座位是空的,则他坐自己的座位,如果他的座位被占用,他也随机选择一个座位。求最后一个... 阅读全文
posted @ 2021-05-16 22:14 AllyDale 阅读(22) 评论(0) 推荐(0)
摘要: 1. 问题来源 我们知道Go的json库可以方便的在json字符串和go类型之间相互转换。然而现实中经常遇到这样的需求,需要序列化的object类型是“未知”的,需要根据某个固定字段来判断用什么类型来序列化。 如如下json数据表示animal数组的话,实际上... 阅读全文
posted @ 2021-05-07 23:53 AllyDale 阅读(55) 评论(0) 推荐(0)
摘要: 目录 1. 问题原由 2. Go中的枚举解决方案 2.1 从某热门开源项目源码说起 2.2 Go的枚举解决方案 2.3 期望的表达方法 3. 从编程语言设计的高度看待此问题 1. 问题原由 将数字和字符串关联并赋予一个程序内符号命名,是编程中经常遇到的问题。 ... 阅读全文
posted @ 2021-05-03 23:42 AllyDale 阅读(53) 评论(0) 推荐(0)
摘要: 目录 1. 原始版本: 2倍空间增长 2. 优化选项1: 设置一个大容器阈值,大容器采用固定增长的策略 3. 优化选项2:小容器保证扩容后一定是2^n 4. 终极完美版:信达雅的完美境界 5. 像写诗一样写代码的感觉 关于容器空间扩容问题的精巧设计,实现过采用... 阅读全文
posted @ 2021-05-01 23:03 AllyDale 阅读(26) 评论(0) 推荐(0)
摘要: 分页展示功能是web中最常见的功能之一 传统的api设计方法是把所有数据排序,并按pageSize分成若干段,根据传入参数page取对应的分段的数据 乍一看,这个设计很传统,也很自然,没毛病 但是仔细研究后,发现这种设计无论从性能还是人性化方面,都有毛病 我们... 阅读全文
posted @ 2020-12-30 22:45 AllyDale 阅读(31) 评论(0) 推荐(0)
摘要: 死锁在多线程中经常遇到,有时候看代码很难发现问题,带调试日志的锁,准确记录锁的周期,等待时间,读写竞争情况,Lock、Unlock是否匹配,方便找出死锁发生的各种原因 https://github.com/vipally/glab/blob/master/la... 阅读全文
posted @ 2020-09-17 00:15 AllyDale 阅读(16) 评论(0) 推荐(0)
摘要: 目录 实现静态网络配置方法: 0.网络配置目标 1. VirtualBox的四种网络连接方式 2.桥接模式的各种坑 2.1 桥接网络无法获取ipv4地址 2.2 桥接网络可以获取ipv4地址,但是无法ping宿主机 2.3 桥接网络可以ping通宿主机,但是无... 阅读全文
posted @ 2020-07-02 19:40 AllyDale 阅读(174) 评论(0) 推荐(0)
摘要: 目录 0. 网络配置的各种坑参见这篇 1. 用默认配置创建虚拟机 2. 安装过程 3. 安装后配置 3.1 将时区切换到北京时间 3.2 让root用户可以登录并且可以用xshell远程登录 3.3 安装unbuntu安装VBox Addon 3.4 设... 阅读全文
posted @ 2020-07-01 15:53 AllyDale 阅读(69) 评论(0) 推荐(0)