zoukankan      html  css  js  c++  java
  • 平安金融陆金所笔试

    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.接口文档变更

  • 相关阅读:
    书单
    树莓派与 NATAPP 实现内网穿透
    WinForm分辨率适应-高DPI自动缩放
    ElasticSearch学习——搜索技术基础知识(上)
    JavaSE学习笔记-基础
    JavaSE学习笔记-第一个Java程序
    JavaSE学习笔记-Java开发环境搭建
    MySQL学习笔记-增删改查
    MySQL学习笔记-函数
    MySQL学习笔记-查询
  • 原文地址:https://www.cnblogs.com/henry2019/p/14487426.html
Copyright © 2011-2022 走看看