面试
2021.03.24阿里面试
今天问到的问题:
- 如何优化MySQL数据库
- 如何添加索引,索引的最左原则
- 脏读和幻读
- 封装继承多态
- 封装的四种权限
- hashmap和hashtable
2021.07.19字节一面(51min)
- 介绍自己
- 介绍自己的实习期间做的工作(太拖沓,啰嗦,讲太多公司背景)
- 介绍项目(根据kotlin代码生成器做一个java代码生成器)
- 既然工具能生成kotlin代码,为什么不用java调用生成的kotlin代码(项目提问)
- 有没有系统设计方面的工作,我就讲了自己的毕业设计,兵棋模拟推演的设计大纲,各个模块
基础知识
- Springboot比spring有哪些改进或区别
- SpringbootApplication有哪些注解
- Java元注解有哪些
- SpringCloud是什么
- Spring Bean的加载流程
- MySQL和Oracle的区别
- Tomcat配置文件配置过哪些选项
- Tomcat能配哪些连接性质的配置
- 哪种map可以保存读写顺序,按照存取的顺序去遍历
- 哪种map线程安全
- 看过哪些集合的源码
- 多线程开发的工具类有哪些
- 操作系统视角下的内存回收过程
手撕算法
给定两个升序数组,求所有数中第k小的数,
假设所有的数都不重复,
并且两个数组的元素个数的和不小于k
2021.07.22 京东一面(26min)
- 自我介绍
- 实习期间做过什么项目
基础知识
- java线程状态有哪些
- 就绪态怎么进入阻塞态
- 线程进程的区别
- 索引的作用以及代价是什么
- 了解Innodb的实现方式
- 聚集式索引和非聚集索引
- map接口下面有哪些实现类
- hashmap的get()方法时间复杂度是多少,为什么
- JVM的内存区域的划分
- 类加载机制加载的类放哪里
- Java里面有哪些集合类型
- Linux下怎么设置环境变量
- 阐述一下HTTP请求的基本过程(从输入域名jingdong.com到展示页面有哪些过程)
- TCP和UDP的区别
- Java字节序(一个整数是按什么顺序存储的)
- 平常关注java的哪些相关技术
- 知道rpc框架吗
我问面试官的问题
- 如何学习源码
- 如何加强基础学习
- 如何在github上学习项目
2021.08.03美团移动端提前批(31min)
手撕算法:
- 手写排序算法(我写的冒泡排序)
- 还有别的优化算法吗
- 手写单例,线程安全的
- 线程安全的单例是什么样的
基础知识
- http 500是什么意思,200是什么错误
- doGET()和doPost()方法的区别
- 三次握手和四次分手
- 数据库事务的理解
- 数据库的第三范式
- 什么是死锁,死锁产生的条件是什么
- 进程和线程的区别
- 进程有哪几个状态
- ArrayList和LinkedList的区别
- 谈谈博白项目,如何优化
- 做过性能优化的例子吗
问面试官的问题
- 请面试官给我一些评价和建议
- 做项目的时候遇到不会的东西如何快速学习
对于基础知识应该有针对性地去学;对于应用技术去看他的api快速学习;对于语言应该细致地从基础抓起,理论联系实际,多实践。
2021.08.06 网易雷火测试开发笔试
题目共分为六大类,有选择,简答,编程题,程序改错题,测试用例题,还有综合题,题目量很大,最后容易做不完
**选择题:**22个,44分
22个,内容很杂,408的内容,Java基础,数据库,测试用例…都有
简答:10分
貌似是一道逻辑题,五个人说五道题的答案,每个人说出两道题的答案,但是每个人说的一个是真的,一个是假的,让你选正确答案
程序改错:10分
合并两个有序链表
编程题:10分
leetcode简单题的水平
测试用例题:12分
某个游戏的活动,做任务领礼包之类的,设计测试用例
综合题:14分
2021.09.06 新浪微博客户端面试
- hashcode()和equals()方法的区别 讲了,但是没答对
- static关键字修饰的变量和方法的特点 讲了,但是没讲对
- java里的泛型是什么 讲了,但是没讲对
- 线程有哪些 会
- 线程状态是如何转换的 没讲好
- 线程如何从就绪态转换为运行态 没讲好
- start方法和run方法的区别 不会
- 多线程同步的方法有哪些 我说了synchronizedMap和CocurrentHashMap
- synchronizedMap和CocurrentHashMap是如何实现线程同步的 不会
- 聊安卓的项目,我说以前用unity开发过手机上的平面小游戏
- 通过这个游戏了解了安卓的什么基础 我忘了
- 安卓四大组件 没答上来
- http建立链接的过程 我只讲了dns解析的过程
- http报文格式 不会
- LinkedList在java里面是单链表还是双链表 答:双链表
- 顺序表的链式存储和顺序存储的区别 答上来了
- hashMap如何解决hash冲突 不知
- 看过hashMap的源码吗 没有
- 如何实现一个栈的数据结构,从哪些点去设计这一个类 我回答:使用数组,移动栈顶指针来事先出栈入栈操作
- 还有别的考虑吗? 我回答使用可变长度的数组,我说了StringBulider类,然后面试官接着问StringBulider和数组有什么关系
- 最后面试官说你是没怎么准备吗?