- 博客(28)
- 资源 (7)
- 收藏
- 关注
原创 后端开发面试题10(附答案)
这段Javascript函数的输出是什么?关于类型擦除(Type Erasure),这段Java代码的输出是什么?为什么?你能指出哪儿有内存泄漏吗?if语句,或者更加通用点,条件表达式通常是过程式编程/命令式编程的形式。你能去掉这段代码中的switch语句,用面向对象的方式来修改这段代码吗?你能去掉这里的if语句,将它改成更加面向对象吗?
2024-11-01 18:10:18
1099
1
原创 后端开发面试题9(附答案)
在SOA中,为什么长期存活的事务(Long-lived transation)不被看好,而Saga却被看好?微服务不能做得太"微",你认为什么时候微服务太"微"了?什么是双因素认证(Two Factor Authentication)?在一个已有的Web应用中,你如何实现这种机制?如果你把一面镜子放在扫描仪上,会发生什么?我想要重构一个系统,而你想要从头重写。我们来争论一下该怎么弄吧。然后我们反转角色,再争论一下。老板要你对公司撒谎,你的反应是什么?
2024-11-01 10:07:37
923
原创 后端开发面试题8(附答案)
什么情况下缓存是没用的,甚至是危险的?紧急设计(Emergent Design)和演化架构(Evolutionary Architecture)之间的区别是什么?分布式系统中如何处理"故障切换(failover)"和"用户会话(user session)"?在可扩展性上,发布/订阅(Publish-Subscribe)模式有什么缺点?除了恶意攻击造成的拒绝服务现象以外,哪些设计或者架构上的问题会导致拒绝服务?什么时候紧耦合是OK的?一个系统要有什么特征才能适配云计算环境(Cloud Ready)
2024-09-25 18:24:00
1205
原创 后端开发面试题7(附答案)
随机生成一个的数字序列,里面每个数字都不同。如何对一个10GB的文件进行排序?如果是10TB的数据,你会采用什么方法?如果需要你设计一个文件系统磁盘碎片整理程序,你会如何设计?写一段有内存泄漏的示例代码。使用任何一个语言,写一个REPL,功能是echo你输入的字符串。然后将它演化成一个逆波兰表达式的计算器。
2024-09-25 09:43:24
1265
原创 后端开发面试题6(附答案)
怎么测试一个分布式系统?在Web应用中如何管理容错性?在桌面端呢?你认为分布式计算中有哪些谬论?你是如何处理遗留代码(Legacy Code)的?敏捷(Agility)和瀑布(Waterfall)之间的最大区别是什么?除了代码之外,你最关注你的同事的哪3项素质?作为团队管理者,你对会议太多这个问题是如何处理的?在分布式系统中,如何处理故障?让我们来谈谈在网络分区(network partitions)情况下的几种(一致性)解决方案吧。
2024-07-22 09:38:52
1136
原创 后端开发面试题5(附答案)
如果要你将一个项目从MySQL迁移至PostgreSQL中,你会如何迁移?为什么SELECT * FROM table WHERE field = null不能匹配空的字段?NoSQL是如何解决可伸缩性的挑战的?什么情况下你会使用类似于MongoDB的文档数据库而不是关系型数据库(如Mysql或者PostgreSQL)?分散式版本控制系统(比如git),相比集中式版本控制系统(如svn)有哪些优势和劣势?为什么合并操作(merge)在Mercurial和git中比在SVN和CVS中容易?
2024-06-13 16:29:00
1095
原创 后端开发面试题4(附答案)
为什么现在函数式编程这么越来越受关注?什么是高阶函数?有什么用途?用你的首选语言写个例子出来。你认为好的语言好在哪里?差的语言差在哪里?为什么一个语言中,"函数是第一公民"是很重要的?模式匹配(Pattern Matching)和Switch语句(Switch clauses)的区别在哪儿?为什么有些语言设计上没有异常机制?这有什么优缺点?为什么"第一方cookie(first-party cookie)"和"第三方cookie(third-party cookie)"被如此不同的对待?
2024-06-13 16:25:58
1409
原创 后端开发面试题3(附答案)
Active-Record模式有什么限制和缺陷?为什么组合(Composition)比继承(Inheritance)更好? 数据抽象(Data Abstraction)能力是指能改变实现而不影响客户端的这种能力。请构造一个一个例子,违反这个特性,并且尝试修复它。健壮性是进行软件设计时的一个通用原则,它建议“发送时要保守,接收时要开放”。这也经常被写成,“做一个有耐心的读者,做一个谨慎的作者”。你能解释一些这背后的逻辑吗?为什么在测试驱动开发(TDD)中是先写测试,再写代码?
2024-05-18 16:09:12
1357
原创 后端开发面试题2(附答案)
如何向你的祖母解释什么是线程?作为一个软件工程师,你想要既要有创新力,又要产出具有可预测性。采用什么策略才能使这两个目标可以共存呢?假设你的公司给你一周的时间,用来改善你和同事的生活: 你将如何使用这一周?在你当前的工作流中,什么事情是你计划下一步需要自动化的?当你在浏览器地址栏输入google.com回车之后都发生了什么?"喜欢这个的人也喜欢...",如何在一个电子商务商店里实现这种功能?为什么说,对于涉及密码学的问题,你不应该尝试应用自己的发明或者设计?
2024-05-18 15:59:33
1085
原创 后端开发面试题1(附答案)
为什么函数式编程重要?什么时候适用函数式语言?不变性(Immutability)是指: (变量的)值只能在创建的时候被设置一次,之后就不能被改变。为什么不变性对写更加安全的代码有帮助?什么是O/R阻抗失衡(Object-Relational impedence mismatch)?如果你需要使用缓存,你使用哪些原则来确定缓存的大小?在客户端渲染(client-side rendering)和服务端渲染(server-side rendering)之间,你是如何权衡的?
2024-04-27 15:59:12
1286
1
原创 链下数据认证
前言 由于区块链无法自己获取链下数据,也无法向链下系统传输数据,所以才能在安全和可靠性上做到极致,整个网络只需要使用区块链账本中已经存储的数据针对一组简单的true/false问题达成共识即可,比如“公钥持有者是否使用对应的私钥对交易签名?”、“公钥地址中是否有足够的交易资金?”,”比如某个智能合约中的交易类型是否合法?“。区块链共识覆盖范围非常窄,因此智能合约具有非常高的确定性,可以完全按照合约中写入的代码逻辑执行,确定性远高于任何传统网络。但是,智能合约中的大部分应用场景都必须连接链下数据和系统
2022-05-27 15:37:15
4464
原创 主流链分片技术和共识算法
前言设计到的链:Harmony、Elrond、Cosmos、ETH 2.0、Polkadot、Near Protocol一. 主流链所用的分片技术对比1.0 HarmonyHarmony 是一个基于状态分片和 PoS 的高性能公链项目,它的分片架构由一条信标链和多条分片链组成,信标链提供包括去中心化的随机数,分片链 Header 的验证,接受验证节点的权益抵押等服务。Harmony 怎么保证分片系统的安全性?为了抵抗1%攻击,Harmony 采用了 EPoS(Effective Proof-of
2021-12-31 18:23:44
14312
原创 coswasm - wasm合约学习
前言参考工程,以下工程均可在 GitHub找到cosmwasm: branch 0.13wasmd: branch v0.15.1cosmwasm-template: branch 0.13wasmvm: branch 0.13Rust编译注意点win系统删除所有不需要的代码进行编译,需要修改.cargo配置文件[build]rustflags = "-C link-arg=-s"优化程序,提高运行速度:如果用cargo编译,使用--release标志;如果用rustc
2021-10-15 11:53:46
12639
原创 irita联盟链基本功能描述
前言irita版本:irita/master,依赖库:github.com/bianjieai/iritamod v0.0.0-20210113080132-1a1b006c7f97本文只做功能描述,API描述在此处 -> irita/docs/API,irita联盟链有以下功能:准入控制权限管理节点管理参数管理系统运维一. 准入控制控制项描述节点证书证明自己是由可信第三方许可的节点P2P节点连接列表记录本节点期望与哪些节点建立网络通信节
2021-04-14 17:27:39
959
2
原创 cosmwasm&wasmd —— 智能合约、合约计费规则、合约与世界状态交互
一、前言1.1 项目版本1. cosmwasm:orgin/main2. wasmd:origin/master1.2 简单介绍1. cosmwasm主要功能:- cosmwasm-template:提供编写智能合约(以下简称合约)的模板- cosmwasm-examples:提供合约样例- cosmwasm-storage:存储合约- cosmwasm-vm:使用wasmer引擎执行给定的智能合约,还包含合约计费、存储和缓存wasm组件的功能- go-cosmwasm:现已改名为wa
2021-04-06 11:35:02
2163
1
原创 cosmos源码分析——staking模块(节点管理)
目录结构cosmos 版本:v0.38.5-rc1。先看看staking模块的目录结构:目录结构和其他模块基本是一致的,只不过少了 alias.go 这个文件,说明staking模块并没有被其他模块所调用。那么staking模块主要用来做什么呢?rest&cmd先看 client 目录,cli/tx.go、cli/query.go、rest/query.go、rest/tx.go这几个文件会明确告诉我们,staking对外提供了那些功能,不过 cli/query.go、rest/que
2020-09-18 11:41:31
1051
原创 COSMOS 源码分析——auth&bank模块
摘要本文主要分析auth模块,bank顺带一起分析x/auth模块负责指定应用程序的基本交易和帐户类型,SDK本身是不知道这些细节的。它包含ante处理程序,其中执行所有基本的交易有效性检查(签名、nonces、辅助字段),并公开帐户管理员(此管理员只有一个,后面会详细说明),允许其他模块读取、写入和修改帐户。x/bank模块保存两个主要对象的状态,即账户余额和所有余额的总量。x/bank负责处理账户间的资产转账,并跟踪特殊情况下的伪转账,这些伪转账必须与特定类型的账户有不同的工作方式(特别是授权账户
2020-09-15 16:37:39
1863
原创 Tendermint 动态更新网络节点
1. 前言 通过修改创世文件中的公钥和地址,和修改配置文件中的持续节点信息是静态更新网络节点,通过向网络中广播 提交一笔交易(代码中规定交易的格式,用来区分是具体的交易还是更新节点)是动态更新(删除、添加、修改) 网络节点。先通过静态的方式搭建一个多节点网络,然后动态的添加验证节点。2. 静态搭建网络 参考至说明文档搭建网络,[https://learnblockchain.cn/do...
2020-04-08 17:54:06
1302
2
原创 Tendermint 安装配置时常见错误及解决办法
ERROR: While parsing config: (186, 20): keys cannot contain new lines配置文件 config.toml第186行有语法错误。blockchainReactor validation error: Invalid commit -- wrong set size: 2 vs 1...
2020-03-30 16:41:55
1555
3
原创 Ubantu16-server 固定静态IP地址,并使用ssh(Xshell)远程连接
1. 选择静态IP地址使用 ifconfig 命令,查看主机的ip地址,如下图,若是虚拟机内,需要将网络设置为桥接。选择与主机在同一网段的IP地址,现在是192.168.0.107,且用另外一台局域网内的主机是可以ping通这个地址的,那么选择的是:192.168.0.*,*代表1-255的任意整数,最好选择200以上的,避免冲突。2. 设置静态ip地址a. 使用 vim /e...
2020-03-24 17:59:37
347
原创 Tendermint源码解析 —— p2p(对等连接)微服务
1. peer.go首先定位到 tendermint/p2p/peer.go文件,来看peer结构体,peer实现了Peer.// peer 实现了 Peer,Peer是一个接口,表示连接在 reactor 上的 peer// 需要执行一次握手连接,在使用 peer 之前.type peer struct { // 实现了服务的启动、停止、重启 servi...
2020-03-23 11:26:53
1221
原创 golang 实现代付充值系统
recharge一. 介绍基于beego框架充值代付平台(实现了充值管理,代付管理,用户管理,权限管理,网关,回调,对账,分润)本项目已稳定运行过半年,高峰时每分钟处理过40笔订单二. 软件架构项目目录结构说明conf:app.conf:runmode=dev表示开发模式,=pro表示运营模式,二者不能同时存在;httpport是端口号,任意设置,不冲突即可controller...
2019-12-20 14:40:50
885
原创 Python 查询中小学教师资格考试(NTCE)成绩
一.前言在查询教师资格证成绩时,发现可以进行批量查询,于是就分析了一下查询请求的参数和逻辑。成绩查询地址:成绩查询 - 中国教育考试网二 .请求分析1.首先输入错误的信息请求,通过抓包工具查看,只有一个请求:http://search.neea.edu.cn/QueryMarkUpAction.do?act=doQueryNtceResultsList2.查看请求参数,一共...
2019-12-16 14:37:33
1037
原创 Golang 防掉坑笔记(二)
1.永远不要使用一个指针指向一个接口类型,因为它已经是一个指针函数参数为 interface{} 时可以接收任何类型的参数,包括用户自定义类型等type S struct {}func fa(x interface{}) {}func g(x *interface{}) {}func TestFour01(t *testing.T) { s := S{} p :=...
2019-12-09 16:16:23
354
原创 Golang 防掉坑笔记
1. 从0开始,组中每定义一个常量,自动递增1const ( a = iota b = iota)const ( name = "menglu" c = iota d = iota)func TestExam(t *testing.T) { fmt.Println(a) // 0 fmt.Println(b) // 1 fmt.Printl...
2019-11-18 14:11:16
621
原创 记一次golang模拟登录淘宝
一、前言目的:打算用golang写一个淘宝抢购插件,但是每次抢购前都需要手动登录,这样太麻烦了,因此想实现自动登录获取cookie。结果:失败的尝试。既然这次尝试是失败的,我为啥又要记下来呢?我只是想今后有同样的操作时,可以在这里找到一点经验。在找相关资料时,我发现Python有个库——Selenium可以模拟浏览器行为,自然就能实现自动登录。二、登录请求参数打开淘宝登录页面,...
2019-07-25 11:27:36
2665
原创 Python监听键盘和鼠标事件,将切割后的监听信息发送指定邮箱
一.环境以及工具环境:win10,Python3.6工具:JetBrains PyCharm 2018.1.4二. 使用的第三方库: import osimport smtplib #发送邮件import timeimport threadingimport email 下面这三个库主要用来监听: im...
2019-02-23 16:35:26
2158
基于windows的OJ系统判题核心-已编译成功
2017-12-08
JavaWeb采用SSH模式开发的后台管理
2017-07-08
JavaWeb采用SSH模式开发的后台管理系统
2017-07-07
JavaWeb上传视频、图片、文字列表
2017-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人