面试笔试记录

面试

2021.03.24阿里面试

今天问到的问题:

  1. 如何优化MySQL数据库
  2. 如何添加索引,索引的最左原则
  3. 脏读和幻读
  4. 封装继承多态
  5. 封装的四种权限
  6. 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)

  1. 自我介绍
  2. 实习期间做过什么项目

基础知识

  1. java线程状态有哪些
  2. 就绪态怎么进入阻塞态
  3. 线程进程的区别
  4. 索引的作用以及代价是什么
  5. 了解Innodb的实现方式
  6. 聚集式索引和非聚集索引
  7. map接口下面有哪些实现类
  8. hashmap的get()方法时间复杂度是多少,为什么
  9. JVM的内存区域的划分
  10. 类加载机制加载的类放哪里
  11. Java里面有哪些集合类型
  12. Linux下怎么设置环境变量
  13. 阐述一下HTTP请求的基本过程(从输入域名jingdong.com到展示页面有哪些过程)
  14. TCP和UDP的区别
  15. Java字节序(一个整数是按什么顺序存储的)
  16. 平常关注java的哪些相关技术
  17. 知道rpc框架吗

我问面试官的问题

  1. 如何学习源码
  2. 如何加强基础学习
  3. 如何在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和数组有什么关系
  • 最后面试官说你是没怎么准备吗?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值