Java 刷题11-14

一面:

重载和重写,重载可以返回值不同吗,返回值不同会发生什么

必须要参数不同

Hashmap有什么优点有什么缺点,和TreeMap的对比, 桶里链表无限拉长会怎么样

Hashmap 数组顺序被打乱,没有顺序性

排序算法,排序算法不稳定是什么意思,各种排序算法的适用场景

Arraylist和Linkedlist的区别,加快链表的查找(跳表)

查找一个很长的数组里第K大的数

维护一个最小堆

Jvm内存结构,栈放什么,堆放什么,和数据结构里的栈和堆有联系吗,说一说数据结构里的栈和堆,栈有什么应用场景,堆有什么适用场景

堆:优先队列

栈: 实现算法,递归

 



复试:
1,hashmap的结构,扩容阈值

数组和链表,0.75


2,两个线程对hashmap同时扩容的后果
3,gc回收算法,垃圾回收器g1,cms解释
4,安卓的activity和fragement的区别(简历有安卓相关)
5,springmvc的流程
6,对微服务的了解,解释zookeeper
7,jdk 1.8新特性,jdk最新版本是几

12
8,spring常用注解哪些

终试:
1.聊项目,画项目结构图,流程图 ,项目细节
2.AOP,IOC解释
3.手写代码,在10亿的商品日志中找出出现最多的一百个商品
4.聊人生,问手上的offer
5.url的组成,一个网址如何找到对应的机器,对应的接口和服务
6.json的底层实现
7.https协议


hr:
闲聊

 

 

1 java后端技术

javase

《核心技术卷1》:面向对象(多态、Object类、关键字)、接口与内部类、集合、泛型、反射
黑马视频

并发

多线程
《Java并发编程的艺术》
慕课网视频:Java并发编程与高并发解决方案

设计模式

《大话设计模式 》:掌握常用的设计模式以及在简历上写到大的框架中的典型应用场景
慕课网视频:java设计模式精讲 Debug 方式+内存分析

java虚拟机

只需要掌握重点
《深度理解java虚拟机》:内存区域、垃圾回收、类加载

框架

掌握核心机制与大致原理
Spring:掌握IOC、AOP、事务
SpringMVC 与 Servlet: 大致处理流程
SpringBoot :自动装配

SpringCloud:各组件核心机制原理 慕课网廖师兄视频

后端进阶

看看就好,能吹出来
包括了分布式理论,以及常见分布式技术比如负载均衡,zookeeper,消息队列,分布式缓存等等。当然,这里面也包括系统架构方面的知识,以及RPC,微服务等内容。

2. 数据结构与算法

自学阶段最好跟着牛客左程云视频边看边刷LeetCode

准备面试阶段:
《剑指offer》
LeetCode-CYC2018
公司真题

3. 计算机基础

数据库

MySQL: SQL刷题、底层原理(索引、事务、锁)参考书籍: 《高性能MySQL 》《MySQL必知必会》
Mybatis : 核心机制
Redis  

计算机网络

《计算机网络自顶向下》《图解HTTP》
TCP、IP
HTTP

操作系统

《操作系统精髓》
进程、线程

4. 项目

写在简历上的项目点一定要熟悉
开发背景-开发过程-开发中的改进-对应技术的相关知识

 

 

 

 

求职情况

从2018年10月份以来开始慢慢摸索Java的学习,从Java基础学到JavaEE,到数据库,计算机网络,操作系统这些知识,然后又学习并发,Java虚拟机,设计模式这些,自己学的时候其实也不只是背概念,也会去看源码之类,看视频之类的,同时,也会去了解和项目相关的框架的一些底层原理什么的,但是由于真的缺少实践经验,学完忘、忘完学,真的痛苦。

身旁没一个人学这些,学起来也是慢慢的摸索,去论坛搜,技术群问,去啃书,本以为可以按照这种进度,19年上半年再刷刷算法,多刷刷面经就可以好好备战秋招了。可是实验室突然来了项目,还是去外地出差做系统,这一出差就是从3月份到8月份,出差时期学习效率则差,导致算法只断断续续刷了剑指offer 2遍,leetcode也只简单的刷了100道左右。

 

算法题刷少了,笔试就悲催了,一般就能ac一半,很多互联网大厂都是笔试没过。侥幸面试的几家大厂还全是免笔试的。非科班再加上基础确实没那么牢固,导致对于大厂的视频面或者电话面的时候,面的一塌涂地,没有走到二面的。也只有现场面的时候,能和面试官多聊聊,碰到不会的自己也不会慌,感觉自己现场面还不错,面了8家左右的现场面,都走到终面了。

到现在,自己的互联网秋招之路就结束了,总结下自己去不了互联网的原因就是,一是自己开始就没有确定一定要去互联网搞技术,导致学习起来没有想象的努力,也没有自己想象的那么上进,总是假装努力,假装认真。二是缺少实习经验,这点还是很吃亏。三是笔试算法这一快是真的重要,靠临时的刷题提高太难了。

接下来就是投投研究所、银行之类的的了,三方10月中旬才下来,自己还有选择空间,加油!

 

 

远景智能 - offer

龙湖数字科技部仕官生-offer
中兴-offer
贝壳找房-offer
招银网络-offer
oppo-offer
科大讯飞-hr面拒
海康威视-终面拒
趋势科技-hr面挂
阿里-两次一面挂
美团,虎牙、字节提前批、顺丰提前批-一面挂
滴滴、拼多多、携程、百度、旷视、华为、网易互娱、苏宁、猿辅导、360、大疆、商汤等-笔试挂
虾皮、zoom、蘑菇街提前批、百度提前批-简历挂

 

0. 面试经验纪要

  1. 简历上写的东西一定要熟练,不能只局限于会用
  2. 现场面试时,很多时候面试官提的问题自己不太清楚的时候,不要慌,这可能是压力面,尽力往自己熟悉的地方扯。同时,保持幽默,面试一直面试也挺累的,如果能在和你交谈愉快,自会会有印象分。

字节跳动

7.17 一面视频挂
原因:sql语句没写出来

顺丰

一面挂 7.29
原因:一面手撕算法没写出来

1. 趋势科技

一面 8.12
技术面 一个面试官 30分钟左右

  1. mybatis中 # 和 ¥ 的区别,sql注入问题
  2. blob类型的使用
  3. delete truncate 区别
  4. sql 语句:将两个订单中的信息统计到一个表中
  5. JDBC 的大致流程

注册驱动


  1. redis 内存回收策略
  2. redis过期键的处理方式
  3. redis 主从复制
  4. redis 持久化

AOF , RDB 快照

  1. redis 的底层数据结构
  2. redis 的单线程为何快?

纯内存操作


  1. Thread.start() ,run() 区别,sleep(),wait()区别

start方法可以启动线程,run方法只会运行当前线程

  1. Collection 和 Map 架构区别
  2. HashMap 的 put()和 get()方法底层
  3. 算法题,不用实操代码,只说大致思路
  4. 对笔试题的回顾

二面 8.12
技术面,两个面试官 30分钟左右

  1. 项目经历与细节
    • 亮点
    • 难点
  2. 自定义线程池中各参数怎么确认

CPU 密集型和 IO密集型

  1. 读写锁的实现方式
  2. 创建线程的两种方式对比

继承Thread类和重写Runable接口

 

  1. 高并发的常用技术-缓存、消息队列简单讲讲

  2. Redis 的6中数据结构-着重讲了跳跃表

  3. GitHub上最满意的一个项目给介绍下?

  4. 最满意的一篇博客给介绍下?

  5. 随便聊聊

其实整体就是根据项目涉及到的知识点来问,自己还得深入了解 。


 

2. 虎牙直播

一面挂
一面 8.13
电面 45分钟左右

  1. 首先谈基本情况和项目谈了25分钟
    1. 同步服务同步的方式,为什么不可以每分钟的同步
    2. 如何解决跨节点的join关联查询
    3. 表结构设计的事项
      1. 堆排序概念
      2. Java的四大基本特性-封装、继承、多态、抽象
      3. Java内存模型-主内存和工作内存
      4. Java如何保证线程安全(这里自己只答了互斥同步,忘了说非阻塞同步了)
      5. Jvm中堆和栈的概念
      6. 自学能力体现在哪(下次回答对JVM的学习吧,别往算法上靠了)

被拉入公司人才库


3. 远景智能

8.23现场面,共四面,成功拿到offer,只记得几个印象深刻的问题了,

  1. 分布式系统需要考虑哪些方面要素
    高性能、高可用、可伸缩、可扩展、安全
  2. 了解或者知道的分布式系统
  3. synchronized底层原理
  4. wait() Thread()区别
  5. 走索引的磁盘IO次数

树的高度

4. 中兴

一面 电话面 8.28 45min

  1. Token过期是怎么处理的

  2. 怎么保证token的可靠传输,在传输过程中被截走了怎么办
    https安全传输协议,以及token是包含用户信息、客户端信息等,仿造很难

  3. Spring Security 的核心原理
    就是一系列的过滤器

  4. OAuth2怎么结合Spring Security实现权限认证的
    密码式授权模式

  5. Spring 了解哪些知识
    IOC AOP

  6. Redis怎么解决双写一致性问题
    两种策略,策略1:先删除缓存,再更新数据库 策略2:先更新数据库,再删除缓存

  7. 每次传入参数不同,怎么保证走缓存
    前端控制传入参数格式,后端对前端传过来的参数进行验证

  8. 影响Redis最大并发性能的主要因素
    内存,持久化策略、主从复制、带宽

  9. MySQL的两种引擎的主要区别
    锁,事务,索引

  10. 索引类别以及底层实现机制,B-Tree 索引在两种引擎中的区别
    普通,主键、唯一、聚簇、覆盖索引,B+索引和Hash索引 ,

  11. InnoDB行级锁
    共享锁、排他锁、间隙锁

  12. jvm调优有经验么,怎么指定垃圾回收算法

  13. 垃圾回收机制

综合面试 9.20傍晚 现场面 30min
上来就是英文自我介绍,然后聊聊家常

最后说基本录取了,两轮面试都是优秀

5. 美团

一面 9.4 视频面试

自我介绍时说了自己写了博客 ,结果面试官就开始问博客的内容

  1. 进程和线程的区别
    从操作系统角度 和 JVM 角度答了
  2. 协程(没听过)
  3. 进程间的通信方式
    信号、管道、消息队列、共享内存
  4. 进程间使用信号通讯方式时,如果一个进程还在处理之前信号时,又来个信号会怎样?
    没答好,我说直接丢弃信号
  1. 管道 里面的匿名管道 和 命名管道 (没听过)
    转而说了下管道的大致实现流程
  2. 浏览器输入URL 整体流程-包括网络层、链路层、物理层
  3. DNS解析原理
  4. 路由选择协议-RIP OSPF 实现原理,算法思路
  5. 可达性分析算法中,可作为根节点的类型
  6. 是否可达性分析完后,就会立即回收
    (答的不好,本来是往finalize()方法答的,自己却扯到CMS垃圾收集器上去了)
  7. 可达性分析流程以及四种引用概念,四种引用都会被根节点引用到么
    (也答的不好,只说前三种会被引用链寻找了)
    1. 类加载过程
  8. 双亲委派模型
  9. 手撕 单例模式,寻找数组K个最大值、二分查找

至今没有后序消息

6. 科大讯飞

一面 9.5号上午 现场面 武汉开发

  1. Java中的循环有几种
  2. do while 和 while的区别
  3. for循环中能否改变i的值
  4. int 和 Integer 的区别联系
  5. sql语句执行慢怎么分析
  6. 写个sql语句
  7. 向表中添加列的sql语句
  8. 项目主要业务介绍
  9. 微服务的相关组件介绍
  10. 为什么用微服务

二面 9.11 上午 30min左右

  1. 前后端怎么保证沟通,遇到意见不一致怎么解决
  2. 微服务相比单体应用,优点,缺点
  3. 关系型数据库和非关系型数据库
  4. 微服务的高性能,高并发常见机智
  5. 非科班的话,哪些方面比科班生强呢
  6. 前端有了解么
  7. 二叉树,平衡二叉树,红黑树,B+树的应用场景
  8. 职业规划
  9. 想成为架构师的话,最近有没有学习哪些技术栈
  10. 面过哪些公司,大致情况
  11. 对加班的看法

三面 9.21 hr视频面
直接拒了

6. 龙湖集团

开发岗 一面 9.8上午

龙湖 9.8一面(岗位:上海,成都)

  1. 常用的数据结构
    2 . 集合体系整体架构介绍下
  2. ArrayList和 LinkedList的使用场景区别
  3. HashMap中的红黑树,为什么要用
  4. 红黑树和二叉树区别
  5. Feign中过滤器的原理(基于动态代理,手撕动态代理)
  6. Oauth2协议授权流程简单介绍
  7. Oauth2中后台token是存在服务JVM内存中,如果服务崩了的话,token失效了怎么处理(可以用Redis去实现持久化)
  8. 手撕List转Map(简单,但是面试官说会Stream么,回答说不会)
  9. 项目开发中最大的难点是什么?
  10. 反问阶段

二面 9.9 30分钟 (两个面试官,技术面和hr面同时进行)

  1. Distinct 和 Group. by
  2. replace 和 update区别
  3. 主键,唯一索引,索引区别
  4. 外键
  5. 手写单例
  6. 手撕字符串解析(四则运算和数字)
  7. Spring Cloud 和 Dubbo区别
  8. 注册中心Rureka流程解释
  9. String StringBuilder 的区别
  10. Java中的容器讲讲
  11. sleep() 和wait()区别

终面 9.16下午 视频面
只面试了3分钟,就是简单聊聊

7. 招银网络科技

一面 9.10号上午 电话面 30min

  1. 静态内部类 和 成员类的区别
    定义方式,外部对象访问方式

  2. abstract 方法可以有static关键字么,为什么不能有
    static相当于是类对象的方法,而abstract 方法只是一种声明

  3. synchronized 能修饰 abstract方法么
    回答的能,其实是不能,因为synchronized既然是同步锁,就肯定要有锁的方式

  4. java中对象的生命周期
    jvm对象创建-对象使用-垃圾对象回收

  5. 类加载过程

  6. 事务的四个特性

  7. 常用的数据库连接池以及连接池基本原理

  8. 动态规划的基本原理,举个使用动态规划的例子

  9. 贪心算法的基本原理

  10. 动态规划和贪心算法的区别

  11. 代理模式和装饰者模式区别,分别属于什么模式
    答的不好,具体区别没答出来

  12. 结构型模式的特点

二面 9.20号下午 现场面 40min

  1. SpringCloud怎么实现服务治理,服务治理Eureka的原理
  2. Dubbo简单讲讲,性能比较
  3. RPC协议调用流程
  4. 负载均衡器Ribbon的实现原理,常见负载均衡策略
  5. 多线程中的生产消费者实现思路
  6. ThreadLocal的应用场景,1000个线程时,会不会有内存泄露问题
  7. HashMap原理
  8. 平衡二叉树和红黑树区别
  9. 常用的hash算法,一致性hash算法
  10. 线程安全实现方式
  11. 手撕一道算法
  12. 手写一个sql
  13. 线程池的各参数概念,IO密集型、CPU密集型下的核心线程池数量

核心线程数,最大线程数,最大空闲时间,阻塞队列,拒绝策略,线程工厂

三面 9.20号下午 现场 40min
基本围绕项目在讲

  1. 系统整体架构,自己负责哪些?
  2. 为什么引入Redis
  3. Redis双写一致性解决方案
  4. 权限认证服务流程
  5. mybatis的作用?和Spring Data Jpa的比较
  6. 讲一道算法题的思路,统计一个文本中每个单词的出现次数以及首次,最后出现

四面 9.20号下午 hr 现场 40min

  1. 为什么考完研不直接去实验室?

 


8. 阿里

新零售 一面 9.12 电话面50min

  1. 四种进程间通信方式
  2. Socket了解么,如果有报文丢失,怎么处理(没回答好)
  3. TCP vs UDP ,什么场景用UDP

视频传输,丢一两帧没关系

  1. TCP三次连接过程
  2. Java中常用的锁以及底层原理(基本上每种锁都将一遍)
  3. 十大排序算法(每种排序都讲一遍)
  4. 数据库底层实现原理(B+树)
  5. 项目整体开发流程,遇到问题,亮点,哪些地方可以改进
  6. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?(分而治之/Hash映射)
  7. HashMap中的 hash算法,其余hash算法呢?
  8. 重写equals() 和 hash() 方法
  9. 内存溢出与内存泄露(没答好,应该先从哪些情况会引起溢出,然后怎么解决去答)

9. 贝壳

首先是9.10在贝壳华科宣讲会上进行现场笔试,3道算法题a了2道

9.12 一面、二面技术面、三面hr面(hr面做了一道简单的算法题)

一面 45min左右

  1. Hystrix 熔断原理,为什么用熔断
  2. Feign 通信原理
  3. 负载均衡策略,以及Ribbon原理
  4. BeanFactory创建Bean过程
  5. BeanFactory 和FactoryBean的区别
  6. zuul四种过滤器原理
  7. 拦截器和过滤器底层原理
  8. ThreadLocal底层原理,内存泄漏问题
  9. 四种引用
  10. 弱引用的使用场景
  11. 虚引用的使用场景
  12. 删除list集合中满足条件的节点的方式

迭代器

  1. 手撕一道DP
  2. Sql查询慢怎么定位
  3. MySQL索引原理,有索引的情况下怎么插入数据

一面就被吓到了,这问的原理问题也太多了,结果没想到进入二面了。


二面 40min

  1. 整个项目的一个开发经历(重点是讲自己的一些思考感悟,而不是按照简历来)
  2. 引入Redis的整个思考过程
  3. Redis中用的哪种数据结构,底层原理
  4. Redis中Hash的使用场景
  5. 线程池并行计算的方式( Future 以及 普通的execute,这里答的太模糊了,得熟悉下)
  6. 数据库的分页机制,以及一个场景分析( limit 0,5 为什么比 limit 5000,5005快)
  7. 聊聊职业规划,指点下简历应该怎么写啦,应该把重心放在哪之类的

三面是hr面,聊的挺开心的,中间还穿插做了一道简单的算法题,只用说大致思路

最后说两周左右给结果,希望能过

10. oppo

 

你可能感兴趣的:(算法)