面试刷题10-15

一面:

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

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

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

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

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

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

 

比较常规的面试题
 

09.02 小米面试 35min

1. 自我介绍

2. final 关键字

3. static关键字

4. 实习项目中的并发操作(这里答错了,把并发操作答成了异步操作,跟面试官的问题有点差别)

5. 对线程池的了解

6. 为什么会产生死锁

7. java并发 wait 和sleep的区别

8. 设计模式,观察者模式

9. 写反转链表

问题 15min ,代码大概十几分钟,最后问我有什么问题

 

1. 自我介绍

2. 排序算法了解么,写一下快排

3. 还有什么排序算法,插入排序如何改进为 nlogn的时间复杂度,什么排序算法效率最高呢

4. 什么情况下要用什么排序算法?

5. java 接口和抽象类

6. 为什么java要有抽象类和接口这两种?

7. GC讲一讲

8. 可达性分析中 gc root都包括哪些?


 

1.自我介绍

2.项目

3.操作系统--调度算法             / 进程调度

4.进程通信方式

5.tcp三次握手--为什么三次?

6.4次挥手--2msl?

7.进程与线程区别

8.Spring IOC与AOP 动态代理jdk cglib

9.mysql索引---hash,B+,二叉树,B树,聚集索引,非聚集索引,等等

 


 

计网

1、http协议了解么? https 呢? 里面用到的加密算法了解么?
2、TCP 的3次握手了解么?第一次握手后,服务端发包失败,会怎么样?

java 基础

  • Arraylist 和linkedlist 了解吗?说一下。
  • 上面两个是线程同步么,线程同步的list 有哪些?里面的同步是如何实现的?
  • list 和 set 了解么?
  • map 的实现有哪些? treehashmap 的tree 是如何实现的?
  • hashmap 可以顺序读取么? linkedhashmap 是如何 实现顺序 读取的?

内部存了一个链表,记录了插入顺序

  • jdk1.7 到 1.8 ,对hashmap 做了哪些优化?
  • currenthashmap 的线程安全是如何实现的? 具体一点。 其中的哪些方法需要同步?
  • 讲一下 jdk1.5 后 对Synchronized的优化。 Synchronized是可重入的么?如何实现可重入的?
  • 讲一下 你对 java.util.current 下的哪个包比较了解?(感觉是因为我上面回答的不行,才这样问的)
    • 回答了原子包,就问 原子包的线程安全如何实现,CAS 是jvm层面实现的么。
  • spring 了解么? spring AOP 的实现有哪两种?两种有什么区别?实际业务中哪里需要用到aop?(感觉他问这个是为了引出事务),然后问了

    一个类中,有a方法和b方法,a方法中调用b方法,b方法上加了事务的注解,问,如果a方法出错了,b方法的事务注解会生效么?

数据库

  • 一个场景:业务中,如何知道哪些接口查询的慢(大概这个意思,然后想要你回答查看数据库的慢查询日志)?慢查询日志了解么?
  • 如果你发现一个sql 语句查询的慢,怎么知道是哪些原因导致的?
  • 怎么知道会不会用到索引? 索引什么时候不生效(其中会问到最左匹配?会具体举例让你回答)?

整个的一面过程大概就是这样的?从网络到java 基础到数据库。这三个方面。问题大概是这些,可能记忆会有有些差错。我回答了不怎么样,感觉如果回答的好的话,会问更多。

 



刚刚面完不久。本人是非计算机本科比较菜,感觉面试官就像没有感情的工具人,问一题我答一题。内心真是十分惭愧,听我一席话,浪费45分钟。

面试流程很专业,问了计算机网络,操作系统,数据库,Java虚拟机,数据结构,因为没有笔试过所以还有一道编程题。

一.计算机网络
①http和https有什么区别?
没回答出来。https是ssl(安全套接层+http,加密版本)
②数字证书有哪些?
没看过这个知识点,讲了一下公钥体系。
③http有哪些版本,区别?
0.9/1.0/1.1/2.0
0.9是原始版本,只有get操作。
1.0新增了post,head操作,增加了状态码等。一般是一个请求一个连接。有keepalive。
1.1增加了持久连接,全二进制,管道,put,delete,options等请求方式。
2.0增加了双工,数据流等。

④TCP和IP属于什么层?TCP挥手握手?
终于有个会的了
⑤TCP可靠传输的机制?窗口的含义是什么?
回答窗口协议,可重传,连接建立。


二.操作系统
①介绍一下linux内存模型
?懵逼我只懂Java内存模型。
好像分为内核虚拟储存器,用户栈,文件映射区,运行时堆,读写段,只读段,保留区
②介绍一下页表
③单cpu单核处理器,多线程需要加锁吗?

④一些数据在磁盘上,要发送到网络上,要经过哪些过程?
并不懂。
NIO零拷贝
⑤介绍一下BIO, NIO, AIO
胡扯一通。
阻塞, 阻塞同步, 非阻塞同步, 异步


三.数据库
①中间件那些有了解吗?没有我就跳过了
②sql数据库引擎有了解吗?
③数据库锁有了解吗?


讲道理一般的面试到这里就应该开始和你聊人生了。跳动的面试官面无表情继续问,真敬业

四. Java
①字节对齐如何实现有什么作用,举个例子。
②介绍一下泛型擦除
③map原理,1.8以后呢?
④介绍一下可重入锁原理
⑤讲一下虚拟机如何加载. class文件,双亲委派

五.数据结构
①红黑树规定,插入删除如何操作?
②广度优先搜索用到什么数据结构?


六.编程题
15分钟内要能运行
深度优先遍历,思路比较容易想到,关键要熟练

写了10分钟,面试官准时打卡下班,问了几个问题。面试官心想拜拜咧您。
感觉收获挺多大的。


顺便讲刚刚面试云从科技,在人工智能岛上(还真是四面环水),上面还有阿里微软IBM这些公司,大厂进不了在门口看看也不错。环境挺好,而且跳槽方便,出门右拐就到。
一面面试官察觉到我基础不太行,为了避免时间太短还给我讲起了机器学习,第二个面试官基本谈人生,人都很好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值