策略模式
搜索文档
手握华为 25 万股票,想躺平了。。
猿大侠· 2025-05-28 11:35
华为员工持股与分红 - 根据2024年华为员工持股计划分红方案,每股价格为7.85元,每股分红1.41元,税前收益率为18% [2] - 一名员工持有25万股华为股票,每年可获得约35.25万元(25万 x 1.41元)的税前分红收入 [2] - 历史数据显示,华为每股分红从2020年的1.86元(收益率23.70%)逐步降至2024年的1.41元,但收益率始终保持在18%以上 [2] 华为OD技术面试内容 - 技术一面主要考察设计模式、JavaSE、Java并发、Redis和算法知识 [4] - 面试问题难度被评价为适中 [5] 设计模式考察要点 - 单例模式的核心是确保一个类全局只有一个实例,并提供统一的访问点,适用于数据库连接池、线程池、日志管理器等场景 [7][8] - 线程安全的单例模式实现包括双重检查锁定和枚举实现,其中双重检查锁定使用`volatile`关键字防止指令重排 [9][10][13] - 工厂模式用于根据不同条件创建对象,代理模式用于控制对象访问,装饰器模式用于动态添加职责,策略模式用于封装可替换的算法 [8] Java核心技术考察要点 - Java面向对象的三大特性是封装、继承和多态 [15][16] - HashMap在元素数量超过总容量75%(负载因子0.75)时触发扩容,扩容时容量变为原来的2倍 [15][17] - 扩容时元素的新位置要么在原位,要么在原位置移动2次幂的距离,此设计避免了重新计算哈希值,并能均匀分散冲突节点 [15][18][20] Java并发与锁机制 - Java锁机制主要包括内置锁(synchronized)、ReentrantLock、读写锁(ReadWriteLock)、乐观/悲观锁、自旋锁等 [19][21][22][25] - synchronized锁的升级过程为:无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁 [23][24][27] - 偏向锁在无竞争时通过比较线程ID获取锁,轻量级锁通过CAS操作实现,重量级锁在线程竞争激烈时使用操作系统调度 [25][27] Redis缓存策略 - 读数据采用旁路缓存策略,若缓存未命中则从数据库加载数据到缓存 [28] - 写数据采用先更新数据库,再删除缓存的策略 [29] - 为保证最终一致性,可引入消息队列进行删除缓存的重试,或通过订阅MySQL binlog(如使用Canal)来删除缓存 [32][33][36][37]