• 平安金融陆金所笔试


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

  • 相关阅读:
    [每日一讲] Python系列:浅拷贝与深拷贝
    [每日一讲] Python系列:变量、内存管理与传递
    [每日一讲] Python系列:字典
    [每日一讲] Python系列:列表与元组
    [已开源/文章教程]独立开发 一个社交 APP 的源码/架构分享 (已上架)
    从选择到上传,可能是最贴心的高仿朋友圈编辑了
    完整的社交app源码android+laravel
    基于Laravel+Swoole开发智能家居后端
    APP架子迁移指南(三)
    Laravel如何优雅的使用Swoole
  • 原文地址:https://www.cnblogs.com/henry2019/p/14487426.html
Copyright © 2020-2023  润新知