平安金融陆金所笔试

1.乐观锁和悲观锁的区别,实现

https://www.cnblogs.com/qlqwjy/p/7798266.html

乐观锁适用于多读场景,因为只在最后事务提交的时候才会中断回滚,实际并没有加锁操作,可以提高吞吐量,悲观锁适用于多写,数据冲突大的时候,每次操作都先获得锁,避免了重复retry影响性能。

实现方式:1.通过版本号来实现2.Cas算法,通过hash值判断,有可能造成ABA问题

 

2.链表和数组的区别

链表通过指针来表示下一个元素的位置,实际在内存块中不连续

数组在内存块中是一起的

链表的查询慢,插入快;数组的查询快(获得下标就行),插入慢(每次插入都要更新后面元素的下标,在内存的位置)

 

3.两个字典的相加和删除

python字典里面键相同的时候,相加后面的value会覆盖前面的value,相减直接删除该键值对

相加:d1.update(d2) 

删除:for k,v in d1.item():

    if d2.get(k):

      del d1[k]

4.时针和分针相遇次数

两种方法

1.时针和分针每天相遇多少次
分针每天转24圈,时针每天转2圈。

因为它们转动的方向相同,所以它们每天相遇22次。即24-2=22.

2.路程追击问题,因为时针每小时走钟面的1/12圈,分针每小时走1圈,所以速度差为11/12。每次的他们相差的距离(就是路程都是一圈,分针不是要赶上时针一圈吗?)所以追一圈所需时间为: 1除以11/12=12/11小时
因为一天有24小时, 24除以12/11=22次
所以一天时针与分针相遇22次(不计算头00:00,尾已算入)

5.算法 : 列表排序,找一个数,左边都是奇数,右边都是偶数

li = [21,3.4,99,6,8,48]

def sort(li):

  left = 0

  right = len(li)-1

  while left < right:

    if li[left] %2 != 0:

      left += 1

    if li[right]%2 == 0:

      right -= 1

    if li[left] %2 == 0 and li[right]%2!=0:

      li[left], li[right] = li[right], li[left]

      left += 1

      right -= 1

  return li

 

6.一个接口,描述前端到后端的过程

https://www.cnblogs.com/lycsmzl/p/5225809.html

7.服务器中间件

https://zhidao.baidu.com/question/1368634773826611339.html

8.接口自动化测试中遇见的问题

1.接口文档没有2.接口文档变更

 

posted @ 2021-03-05 17:27  子唯  阅读(196)  评论(0编辑  收藏  举报