【百度面试算法题】2024-08-02

  1. 部门项目实际上也涉及到多种语言,有没有意愿去学习其他语言?
  2. 你是如何利用数据结构来做技术的/项目中是如何解决高并发的?(没听懂问题…就直接开始介绍项目了…后来被打断说不进行发散了,开始问八股)
  3. 说一下单例模式
  4. Redis在项目中的作用(管理验证码过期)
  5. 说一下进程和线程
  6. 死锁是什么?怎么避免死锁?
  7. TCP三次握手
  8. 从两副牌中抽取5张牌,判断是否为顺子。A是1,J是10,Q是11,K是12,大小王可以充当赖子,是0(就是给你5个数,其中0可以充当1-12任意一个数,判断是不是顺序的)。
    思路:5张牌先按顺序放好,然后从最小的开始看,如果是0,记录赖子的数量+1,如果当前牌和下一张之间缺牌,就用0补充上,最后看赖子的数量如果小于0说明缺牌(当然在遍历中途如果0的数量小于0了,那么就可以直接break,可以用一个bool变量flag实现),大于等于0说明是顺子。
    在这里插入图片描述
  9. 给定一个数组A和一个四位数n,请用A中的元素组合成一个最大的小于n的整数(A中元素可以重复利用)
    思路:组合,回溯就可以
    在这里插入图片描述