总结

  • 如果面试官没问什么技术问题,基本就挂了。
  • 问题问清楚了、想清楚了再回答,不然容易考虑不全。
  • 把算法、数据结构与JAVA自带的类、集合联系起来,能直接用就不要自己实现。
  • 自我介绍好好准备,不要随口说。
  • 不要悲观,不要觉得回答的不好就肯定挂了。只要回答到面试官想要的点即可,没有标准答案。
  • 反问要好好准备,不要瞎问。

美团点评 2019-08-22 星期四 25分钟 电话面-当场挂

(说没有我的简历)

  • 自我介绍
  • 在校成绩
  • 英语6级
  • 愿意来北京实习吗
  • 接口与抽象类的区别,业务场景
    • 抽象类有构造方法,接口没有
    • 抽象类可以有变量,接口只能有静态常量
    • 抽象类可以有实现了的方法,JDK1.8后接口可以有default关键字修饰的实现了的方法
    • 抽象类和接口都无法实例化
    • 一个类可以继承一个抽象类,可以实现多个接口
  • 一个字节的寻址范围
    • 0~2^8-1
  • final关键字的用法
    • 修饰类:类不能被继承
    • 修饰方法:方法不能被重写
    • 修饰变量:变量初始化后不能被修改(不能修改值类型的值,不能修改引用类型的引用)
    • 修饰形参:形参只能被赋值一次,确保匿名内部类对象可以安全访问
    • 作用
      • 禁止类被继承、禁止方法被重写、禁止多次赋值。
      • 效率更高:被final修饰的方法在编译器即可绑定。
  • HTTP
    • 工作在哪一层、get与post的区别
      • get把数据追加在url后面;post把数据放在HTTP请求实体中
      • get提交数据有大小限制(因为URL有长度限制);post提交数据没有大小限制
    • get可以使用实体传送数据吗?
      • 从HTTP协议来看,get可以使用实体传送数据,但是因为get被设计通过URI识别资源,所以一般实现上get不使用实体传送数据
  • TCP与UDP区别
    • TCP面向连接;UDP面向无连接
    • TCP提供可靠服务;UDP尽最大努力交付
    • TCP保证数据有序;UDP不保证
    • TCP面向数据流;UDP面向数据报
    • TCP支持一对一通信;UDP支持一对一、一对多、多对一、多对多通信
  • IP分类,我们常用的是哪一类?
  • 创建线程的方式
    • 线程池的参数
      • maximumPoolSize-corePoolSize的含义
        • 默认一定空闲时间后会被销毁的线程数。
      • 等待队列的长度
        • 一般设定为<=超时时间 * 单位时间内可处理的任务数
  • 编译原理会吗?

拼多多学霸批 2019-08-10 星期六 南京现场面-8月28日-挂

1、技术面 50分钟

  • 自我介绍
  • 看项目用的SpringBoot,问使用的什么配置方式,如何配置路由;如果有.../a/b、.../a/b/c,对于URL为.../a/b会映射到哪一个。
  • 实习相关。
  • 如何拿到IP地址,提到了网络地址转换。
  • tcp三次握手过程、假设A向B发起连接请求,B发送的seq和A发送的seq有什么关系。
  • tcp四次挥手过程、FIN-wait-1、FIN-wait-2的目的是什么。
  • hashmap什么时候扩容,以及扩容过程。
  • ConcurrentHashMap为什么是线程安全的,它的最大并发量是多少?
  • 代码题
    • 一个长度为N的数组,相邻数字不相等,假设左右边界为负无穷;如果一个数比左右两个数都大,称为极大值,求任意一个极大值的坐标。
    • 先给出了O(N)的解法,然后问有没有更快的?给了提示“这个数组是否一定有极大值?”,最后想出了二分法。
    • 加大难度:如果是一个二维数组,边界默认负无穷;如果一个数比上下左右都大,称为极大值,求任意一个极大值坐标。有没有小于O(N^2)的方法?没想出来,然后带着我分析,最后告诉我时间复杂度O(N),让我回去好好看看。。。
  • 反问

2、HR面 10分钟

  • 常规问题+反问

3、技术面 20分钟

  • 实习相关
  • 登录状态的token被篡改了,怎么办?
  • 秒杀系统中用Redis实现异步话,并发量高的时候会有很多线程处于等待状态是不是,为什么?
  • 笔试题思路
  • 反问

虾皮 2019-08-30 星期五

1、技术面 牛客视频面试 1h 凉

  • 实习相关
  • 为什么要在代码中设置Cookie超时时间?面试官说SpringBoot本身通过配置就可以管理Cookie,看出你对框架不熟。
  • Redis中的一致性哈希算法了解吗?
    • 介绍一下
    • 为什么要有虚拟结点?
  • TCP粘包、拆包
    • 原因
      • 数据长度大于TCP发送缓冲区剩余空间大小时,拆包
      • 数据大于MSS(最大报文长度)时,拆包
      • 数据小于TCP发送缓冲区大小时,TCP将多次写入缓冲区的数据一次发送出去,粘包
      • 接收端缓冲区中的数据没有及时读取时,粘包
    • 解决方法
      • 设置数据边界分隔符
  • 场景题
    • 你和你同学约定明天什么时间打篮球,假设使用短信方式通信,但是这个短信对方不一定能收到,你会怎么做?
      • 参考了TCP三次握手
      • 为什么需要三次?如果只发2次会有什么后果?
    • 有2个接口:一个负责不停地接收数据、一个负责不停地返回这些数据中最小的10个数字;你怎么实现?
      • 说了数据缓冲池+堆排序
        • 堆的大小是多少?
  • 手撕代码
    • 二叉树的广度优先遍历
      • 自己构建二叉树
      • 遍历使用非递归方式
    • 单链表的反转
      • 自己构建单链表
      • 非递归方式
  • 反问
    • 我感觉除了代码题其他回答的不好,您有什么建议?
      • 我们对于应届生要求其实不高,建议你多敲敲代码,尽量去大公司实习,或者平时接一些外包工作,在实践中学习。
      • 如果你不明确自己未来想从事什么方向的话,工作的前几年就是在碰运气。如果你明确自己未来想从事的方向就会有明确的目标,这前提是你对各个方向有一个了解,知道未来的发展前景。

美团点评(安卓)2019-09-04 星期四 视频一面(看不到面试官的脸) 凉

  • 自我介绍
  • 实习和项目介绍
  • 为啥投安卓?
  • HashMap
    • 数据结构
    • 如何解决冲突
  • 进程和线程的理解
  • GC的了解
  • TopK编程题
    • 要求K个数有序
      • 手撕:堆排序
      • 借助API:使用TreeSet维护K个数,遍历数组保留当前Top K。
    • 不要求K个数有序
      • 手撕:快速排序
  • 反问

拼多多 2019-09-10 星期二 微信视频一面 50分钟 凉

  • 自我介绍
  • 实习相关
  • Cookie与Session
    • 区别
    • Session共享问题
  • ConcurrentHashMap为什么是线程安全的
  • HashMap为什么是非线程安全的
  • final和volatile的作用
    • 可重入锁的原理
    • 直接调用对象的wait、notify与使用锁的区别
  • 进程与线程
  • 线程池
    • 参数
    • 执行步骤
    • 假设正在执行的核心线程用时比较久,任务队列中的任务就可能一直等待,怎么办?
  • @autowired原理
  • MySQL数据类型
    • int类型的上下界
    • time、timestamp区别
  • 代码题
  • 笔试第一题的思路(感觉像是看是否是自己写的)
    一个长度为N的整数数组,数值范围很大,有一个数出现了至少N/2-2次,找到这个数。
  • 你觉得你有什么强项是我没有问到的?——凉了
  • 反问
  • 被感谢了。。。。

2019-09-19、21 中兴 专业面、综合面

专业面

  • 检查证书等
  • 自我介绍
  • 问实习
  • Java基础
    • 你对GC的认识
    • 什么是多态
    • 接口和抽象类的区别
    • 什么是线程安全
    • 你对锁的认识
      • synchronized与ReentrantLock区别
  • C++(有C++编程比赛经历)
    • 给看了两道题,看结果是啥
  • 期望薪资
  • 工作城市
  • 有没有女朋友
  • 有啥想问的?

    综合面

  • 检查证书
  • 自我介绍
  • GC
  • 面向对象特点及你的理解
  • MySQL默认端口号是多少?
  • 你的优势
  • 对加班的看法
    • 了解中兴的加班情况吗?
  • 对中兴的认识
  • 创新能力怎么样、如何体现的?
  • 实习中和别人合作有么有遇到过矛盾,如何解决的?
  • 有啥想问的?