logo头像
Snippet 博客主题

job

3.20 阿里技术风险部测试开发工程师一面

  • 自我介绍
  • 介绍项目
  • 项目的难点,为什么要用生产者消费者模式,有什么好处和弊端?
    我引出使用了redis做缓冲区 ,可能带来的 雪崩,穿透,击穿问题。解释下名词的意思以及怎么解决?
  • 为什么用redis,选择的过程中有没有和其他的类似产品做对比
  • 设计模式知道哪些?
  • Mybatis 怎么用的
  • Maven 怎么用的
  • 为什么做了压测?怎么测的?
  • JVM 了解吗?说一说
  • 数据库除了增删改查还会什么? 数据库索引底层用的什么数据结构?
  • Spring 说说,看过底层实现吗?
  • 容器了解吗?说说你比较熟悉的容器
  • 线程池了解吗?
  • 扩展题:一个100G的文件,内存只有128M,如何对其进行全排序?
    分割,单独排序,再合并排序
    整体问的很广,没有问特别具体的问题,面试官人很Nice!给我自由发挥的比较多。

3.22 阿里菜鸟Java开发工程师一面

  • 自我介绍(说下成绩排名)
  • hashmap 底层实现(注意1.7 和 1.8区别)
  • 在计算数字在数组中的索引位置的时候,为什么要用现在这种方式,为什么不用xx等方式(没听过的名词)
  • 扩容流程,是几倍扩的(2倍)?有什么好处?
  • concurrenthashmap 底层实现。(注意1.7 和 1.8区别)
  • 反射原理?
  • 有没有用过BIO/NIO?
  • 类加载机制是什么?
  • 如果有两个String类,怎么判断是不是一个类?
  • 如何强制一个类加载(这个题目没听懂什么意思,大致意思就是强制啥的)
  • synchronized 与 lock 的区别
  • 什么是公平锁和非公平锁
  • AQS是如何实现公平锁和非公平锁
  • 对项目中哪一个中间件比较熟悉?我回答了redis
  • redis底层怎么实现的?
  • redis穿透是什么,如何解决?
  • 布隆过滤器有什么缺点?
  • 线程池中corePoolSize, maximumPoolSize, workQueue 参数是什么意思?
    我回答了参数的意思,并把添加任务的流程说了下。
  • ThreadLocal 什么作用,什么优缺点?底层怎么实现复制变量副本的?
  • 扩展题:假设你的开发了一个项目,有网页版本和APP版本,假设你已经登录APP版本,怎么实现扫码登录网页版本

4.12 字节跳动一面

  • 重载与重写区别
  • 访问一个网页的过程,并且是Https。从输入到(包含服务器代理方面)
  • Http协议是哪一层?
  • TCP 是哪一层?
  • Http 和 TCP 之间
  • Https与 Http 区别?
  • Http package包含什么内容
  • 为什么需要反向代理?
  • 操作系统:内核态与用户态?
  • 说一下对redis的了解
  • 底层实现:跳表原理,与树的区别
  • gc
  • 算法题:ASCII字符串转十六进制

4.14 快手一面

4.15 阿里二面

4.22 阿里三面

  • 自我介绍
  • 算法题。第一题不会,于是又给我加了第三题。做了二三。
    1)对于一个文件,输出出现最多次数的单词
    2)字符串排序,按照ascii码的顺序,实现方式不限
    3)字符串压缩:“aaabbccdabc”=>”a3b2c2d1a1b1c1”
  • 做知识问答网站的目的?学习目的or导师任务
  • Spring框架几个特性是什么?(Ioc, AOP)
  • 面向切面怎么用的?
  • 数据库使用mybatis与JDBC怎么连接?
  • 初始化哪些Bean,加载哪几个类才能建立连接?
  • Maven 启动的时候jar包冲突,有没有遇到过这一块问题,怎么解决?
  • 我说做单元测试的时候用到了,问我单元测试怎么做的?
  • redis 缓存做什么用?
  • redis 持久化数据怎么用的?(没用到,提了下RDB AOF)
  • redis 数据存在哪里?我说只做了单机,没有做分布式,真嘴欠,引出这个分布式,又没了解过这方面知识
  • 分布式怎么做到会话保持?也就是session怎么共享?
  • 多台服务器怎么实现负载均衡?nginx怎么做到的?(问过两次了!!!一定要看)
  • HTTP 协议说下,是在哪一层。
  • HTTP 请求方式有哪些(get post)
  • get 和 post 有什么区别
  • restfull 和 soap 这一块web API调度规范?如何做一个web API?
  • RequestMapping 使用的是哪一种规范?答案是 restfull
  • 深度强化学习做这个项目的背景?讲一下这个项目
  • 怎么验证这个结果?通过仿真还是什么?
  • 最终和基准比优化了多少?比例
  • 基于这个结果发了文章,投到哪个期刊?
  • 其他论文的情况
  • 参加比赛的情况,参赛作品是什么?
  • 什么叫线程安全,引出锁的概念。
  • StringBuilder 和 StringBuffer 哪个是线程安全?
  • 你觉得测试开发是什么样的工作?
  • 反问环节?问实习生的培养模式?
    师兄文化,两到三个月的成长计划,参与项目,学习阿里的技术栈。有一些小的实现。开发和测试两个维度。最后转正答辩,以成果作为答辩依据。