Files

3.6 KiB
Raw Permalink Blame History

岗位匹配度:

  1. 扎实的Java编程能力,熟悉分布式、多线程及高性能的设计与编码及性能调优。
    1. 如何将一个 GBK 编码的字符串转为 UTF-8 编码的字符串。
    2. 多个线程间共享变量有哪些方式?
      1. volatile变量:保证可见性,不保证原子性
      2. synchronized方法/代码块:保证原子性和可见性
      3. ReentrantLock等显式锁:更灵活,支持公平锁、条件变量
      4. Atomic原子类:AtomicInteger, AtomicReference等
      5. ThreadLocal:线程本地变量,每个线程独立副本
      6. 阻塞队列:BlockingQueue,生产者-消费者模式
      7. 并发容器:ConcurrentHashMap, CopyOnWriteArrayList等
      8. CountDownLatch/CyclicBarrier:线程间协调
      9. volatile + CAS:无锁编程模式
    3. 如何分析 Maven 依赖冲突。
      1. mvn dependency:tree
      2. mvn dependency:analyze
      3. 使用<exclusions>排除不需要的传递依赖
  2. 精通Spring、SpringBoot/SpringCloud、Mybatis等主流开源框架。
  3. 熟练使用关系型数据库(Oracle、MySQL),了解Redis、MongoDB等非关系型数据库。国产数据库。
    1. 如何分析一个 sql 是否使用了索引进行加速。EXPLAIN type 有哪些类型。ALL
    2. 前台界面需要拖拽排序,后台接口和数据库如何实现。
    3. 有一张打卡记录表,如何查找连续两天漏打卡的人。查找连续两天漏打卡的人
  4. 掌握 TCP/IP 通信协议相关知识,熟练进行 Socket 网络编程。
    1. 一个TCP 报文有多长,有效的数据长度有多少?如果发送的数据很长会怎么处理。发送的数据都很短会怎么处理。
      • 最大报文段长度(MSS):通常1460字节(1500 MTU - 20 IP头 - 20 TCP头)
      • 有效数据长度:可变,最大约1460字节
      • 最小报文长度:纯ACK包约40字节(只有头部)
    2. 一个 Http Get 请求数据量,Post 请求数据量1M。
      • RFC 标准未规定上限
      • IE浏览器:2083字符
      • Chrome/Edge:~32K字符
      • Apache服务器:默认8190字节
      • Nginx:默认1K,可配置到8K
  5. 熟悉 JNI 开发。
    1. String 类型传递给 C 用什么类型,结尾字符如何处理?
    2. C 代码中如何调用 java 内的函数,java 中抛出异常,C 中如何处理。
  6. 云架构体系以及微服务
    1. docker 的基本操作,在 docker 内如何做监控。
  7. 密码学相关背景知识
    1. pkcs10 标准的主要内容是什么,证书请求和证书的主要内容是什么?

      • 证书请求信息:版本、主题、公钥、属性
      • 签名算法标识符:如sha256WithRSAEncryption
      • 数字签名:用私钥对请求信息签名
    2. 用户的口令在数据库中应该如何存储?

  8. 解决问题能力、持续主动学习能力,文档能力、团队合作能力。
    1. 线上环境偶发问题有什么排查思路?
    2. 概要设计文档应该包含哪些必要内容 项目管理文档编写
  9. git (log、stash、worktree)

Python 面试:

  1. Python Socket 客户端如何设置链接超时时间和通信超时时间。
  2. 如何将项目打包为 whl ,可以让别人通过 pip 安装和管理。如何把包内的方法暴露出来。venv 环境管理。
  3. Python中的GIL(全局解释器锁)是什么?它对多线程编程有什么影响?在什么情况下应该使用多进程而不是多线程?Python GIL 锁
  4. Python 调用 C 代码、动态库。二级指针。
  5. Python 性能分析。火焰图。
  6. Python 编写测试脚本。AI 调用。未来规划。已经做了哪些。