阿里2019暑假实习生面试3/19

阿里电话面试加写代码

阿里区块链岗位实习生,面试时间:1个小时左右,半小时了解情况,半小时写代码
前面先自我介绍,介绍一下自己的教育背景,然后根据简历问了项目和一些区块链的知识,重点还是一些最常见的区块链系统,例如比特币,以太坊。
比特币系统:
1)POW是如何运行的(过程);
2)你对POW有什么看法;
3)区块的结构;
4)交易的生成过程;
5)密钥对的生成算法(ECDSA过程);
以太坊系统:
1)以太坊和比特币的区别;
2)智能合约是什么;
3)描述一下智能合约的作用(干什么);


基础知识

操作系统中进程间的通信有哪几种方式?
1、PIPE管道
管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常指父子进程关系。
2、消息队列通信
消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。
3、信号
信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
4、共享内存通信
共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其它进程通信方式运行效率低而专门设计的,它往往与其它通信机制,如信号量,配合使用,来实现进程间的同步和通信。
5、套接字通信
也就是Socket(不同机器间的进程通信)。


接下来就是让在线写代码(先选语言,再给题,给题后先看题说想法,再决定要不要使用这种方法实现)

题目描述:给定两个字符序列Alpha和Beta,判断Alpha是否为Beta的字符子序列
假定:Alpha、Beta均只包含大写英文字母;Beta 的长度可能会非常大(~= 500,000)
Alpha 的长度不会超过100(<=100)
字符子序列的定义如下:通过从原始字符序列中剔除某些字符(也可以不剔除),但不改变剩余字符在原始字符序列中的相对位置,
这样得到的新字符序列,称之为原始字符序列的一个子序列。比如,“ACZ” 是 “ABCDZ” 的子序列;“AZC” 则不是。


示例一:
Alpha = “ABZ”, Beta = “AHBGDZ”。
返回 True


示例二:
Alpha = “AXZ”, Beta = “AHBGDZ”。
返回 False


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值