大家好,我是老田,今天给大家分享的是一位网友,去美团点评面试遇到的技术问题(一面),希望你先用这些题目进行默答,看看自己知道多少。

题目

1、做一下自我介绍吧,简单说一下你的项目?

2、有遇到过内存泄漏吗?你们是怎么解决的?这个前阵子确实遇到过一次,还算运气比较好。

3、java的基本类型有哪几个?String是不是java的基本类型?String为什么要是final类型的?

4、反射机制的底层实现是什么?动态呢?动态的实现原理?

5、HashMap了解吗?说一下HashMap相关的一些东西?HashMap是线程安全的吗?为什么是线程安全的?ConcureentHashMap了解吗?他是如何实现线程安全的?你刚才说1.8基于CASCAS的ABA问题怎么解决?

6、说一下JVM的线程模型?这些区域都分别是干啥用的?Java线程模型和JVM线程模型注意区分、总结下,网上很多文章都是错的。

7、说一下java类加载器的工作机制?类加载在那个区域进行的?

8、说一下java的线程模型?violate了解吗?他的原理是什么?violate是线程安全的吗?为什么不是?

9、保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读

10、数据库的索引有哪几种?为什么要用B+树来做索引?组合索引和几个单个的索引有什么区别?数据库的大表查询优化了解吗?MVCC机制了解不?MVCC机制有什么问题?怎么去解决这个问题?MySQLmysql 慢语句调优做过吗?说说你是怎么做的?

11、Redis了解吗?你说说怎么用Redis实现分布式锁?

12、Spring中Bean的作用域,Spring MVCcontroller是线程安全的吗?怎么去保证线程安全呢?

(面经来自于网友:两年工作经验、山鲁亚尔)

看完上面的这些题目,你觉得自己能回答上来多少?按照100分制,你给自己多少分?

问题分析

1、做一下自我介绍吧,简单说一下你的项目?

两个问题,一是做一个自我介绍,另外就是介绍项目,项目介绍你最熟悉的,或者最能拿出手的项目,不一定就是最近在做的项目。

2、有遇到过内存泄漏吗?你们是怎么解决的?这个前阵子确实遇到过一次,还算运气比较好。

这个问题,就是靠平时总结,如果真的没有遇到过,也是可以自己模拟的,然后使用各种命令和工具进行排查。在面试时候被问到,就大致说一下排查思路,排查过程中用到的命令和工具就可以了。

3、Java的基本类型有哪几个?String是不是Java的基本类型?String为什么要是final类型的?

前面两个问题都是考察基础的,第三问就得自己反思了,为什么要设置成final类型,就得想想final修饰类的时候,有什么特性?在这里起到什么作用?

4、反射机制的底层实现是什么?动态呢?动态的实现原理?

这个也算是考察基础知识是否扎实,重点在动态,以及动态和反射的关系。

5、HashMap了解吗?说一下HashMap相关的一些东西?HashMap是线程安全的吗?为什么是线程安全的?ConcurrentHashMap了解吗?他是如何实现线程安全的?你刚才说1.8基于CAS?CAS的ABA问题怎么解决?

这是几个问题,

HashMap的问题

  • 你得说一下HashMap是什么,

  • 底层采用什么数据结构实现的,

  • 最好说一下put的过程

  • JDK版本各版本中是怎么样的。

  • HashMap为什么是线程不安全的?

ConcurrentHashMap问题

  • ConcurrentHashMap是什么?

  • ConcurrentHashMap底层数据结构是什么?

  • JDK版本不同,ConcurrentHashMap在设计上有些什么区别

CAS问题

  • CAS是什么?

  • CAS存在什么问题

  • ABA问题是什么

  • ABA问题如何解决

别想看这个题目,很多人都挂在这个题目上。背背面试题,再加上稍微一点点的理解,这些问题都能应对。

6、说一下JVM的线程模型?这些区域都分别是干啥用的?java线程模型和jvm线程模型注意区分、总结下,网上很多文章都是错的。

考察的是JVM内存模型,通常也是考察JVM运行时数据区,注意,这里千万别把Java内存模型搞进来,Java内存模型叫做JMM。

说到JVM运行时数据区,就会提到线程私有和线程共享。

尤其是Java虚拟机栈、堆、方法区,这三个一定的说清楚。

栈和线程的关系是什么?栈中存放的是什么?为什么会SOF?

堆和对象内存分配有关系,所以肯定会聊到对象的生命周期,那就会聊到类是怎么被加载到JVM中的?如何判断一个对象已经死了?同时也会聊到垃圾回收算法有哪些?垃圾收集器有哪些?最新的垃圾收集器是什么?有什么特性?

熟悉哪些JVM调优参数?

这个问题,也是很大部分人会挂的,我也在线模拟面试过很多人,聊到JVM这一块,90%都会挂。

7、说一下Java类加载器的工作机制?类加载在那个区域进行的?

上面问题中说过了,这个类加载相关的肯定会问,表示你对一个类是怎么从.class文件到Class对象,再到实的过程,看看你熟悉多少

这些问题也可以从侧面反馈到,你对你每一行代码是怎么运行,会存在什么问题是否有所知晓。

8、说一下Java的线程模型?volatile了解吗?他的原理是什么?violate是线程安全的吗?为什么不是?

Java线程模型你得熟悉一下,volatile也得了解一下,有什么特性,可见性、防重排、原子性。这些也得去了解一下。

这个问题理论性比较强,背背面试题,基本上能搞定。

9、保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读

这些都是理论性的,背背面试题就能解决,不是一定要使用过。自己下去好好准备一下就可以了

10、数据库的索引有哪几种?为什么要用B+树来做索引?组合索引和几个单个的索引有什么区别?数据库的大表查询优化了解吗?MVCC机制了解不?MVCC机制有什么问题?怎么去解决这个问题?MySQL 慢语句调优做过吗?说说你是怎么做的?

这个相当于是MySQL数据库的8连问,8个连环炮你能回答上来几个?基本上也都是平时多看看面经,背背面试题也能应对。

11、Redis了解吗?你说说怎么用Redis实现分布式锁?

这个问题,其实看起来简单,回答起来没那么简单的,

这里社交很多东西,不是简单的setnxLUA脚本就能解决的,涉及到Redis集群模式,涉及到业务超时等问题。面试官都是给你安排好的,这个得有些真材实料,背面试题只能应付比较肤浅的面试官,遇上认真点的面试官,那就得用自己的真材实料去回答了。

12、SpringBean的作用域,Spring MVCcontroller是线程安全的吗?怎么去保证线程安全呢?

这个问题,这里就没有再扯了,因为各大公众号,我的这个公众号之前也发过类似的文章,所以有空别小看公众号的重要性。只是在于积累,平时在车上、地铁上、工位上休息的时候,可以借助于一些琐碎的时间去看一些技术性的公文章,积累自己的认识。

总结

实话实说,上面90%的问题,我们都可以通过背面试题来解决,可能存在个别题需要自己真的去体会体验过才可以搞定。

但是个人始终认为:五年以内的工作经验,面试基本上可以通过背面试题来解决

美团一面,看看你能否回答上来?相关推荐

  1. 算法题+JVM+自定义View,隔壁都馋哭了

    反思 昨晚去北京大望路阿里面试, 产生了严重的挫败感, 羞愧难当. 比不得从大学就有目标有理想, 一直在为目标努力学习技术的同学, 在大学唯一能拿得出手的就是参加了电子设计大赛, 学了点嵌入式的知识. ...

  2. hadoop生态圈面试精华之HDFS部分

    hadoop生态圈面试精华之HDFS部分 HDFS文件写入和读取流程 也可回答:1)读写原理(流程):2)上传下载流程:3)Hadoop中文件put和get的详细过程:4)讲讲 (介绍下)HDFS:5 ...

  3. 大数据开发(牛客)面试被问频率最高的几道面试题

    Hadoop 一.HDFS文件写入和读取过程 可灵活回答: 1)HDFS读写原理(流程) 2)HDFS上传下载流程 3)讲讲(介绍下)HDFS 4)HDFS存储机制 问过的一些公司: 阿里×3,阿里社 ...

  4. 10年跳槽2次,薪资翻10倍,我就是互联网公司中年老白兔

    本文来自微信公众号:几何小姐姐(jihexj),作者:婷婷的勇敢世界 10年了,我总是被同一个梦境困扰:梦里我还是那个穷留学生,急急忙忙返回英国,下了飞机就直奔当年打工的医院找零工,却被主管告知没有空 ...

  5. 我用了10年,从深圳流水线工厂妹到纽约Google程序媛

    孙玲,一个没钱.没背景.十八线农村小镇高中毕业生,是如何成功申请美国留学,拿到美国EPAM Systems公司的offer,在全球精英云集的Google上班? 很多人喜欢感叹社会的不公.贫富差距拉大. ...

  6. 我看你骨骼惊奇,是块做CTO的材料! 我看还是不要了

    (图片摄影:方飞) 作者:Eduards Sizov 来源:公众号码农翻身 编辑:Emma Eduards Sizovs写的这篇关于职业发展的文章,其中一些观点有失偏颇,但是令人耳目一新,分享给大家. ...

  7. 基于蓝牙串口通信,实现实时脉象采集(项目总结与思路梳理)

    写在前面 本项目用到的 主要知识点: 手机蓝牙 (动态权限申请,蓝牙打开,连接,配对,基于2.0蓝牙串口 Socket 通信),自定义View SurfaceView(实时绘制采集到的脉象波形).本人 ...

  8. 产品,开发,业务的科学吵架指南:每次吵完架后都觉得自己没发挥好怎么办?...

    作者 l 粥左罗 来源 l 粥左罗(ID:fangdushe520) 转载请联系授权(微信ID:MFshow) 今天来聊聊「科学吵架」. 为什么聊这个呢? 因为世间最遗憾的事情,不是那段无疾而终的感情 ...

  9. “35岁转管理,不写代码感觉心里发虚!” “难道继续写就不虚?”

    作者:黄哲铿/<技术管理之巅>作者 编辑:Emma 图片摄影:方飞 Terry是我的前同事,35岁的资深技术专家,写了10几年代码,有自已的开源项目,是那种表里如一的资深技术专家,你只要看 ...

  10. 90后美女CEO想找个CTO,我给她个技术经理,她说天啊太好用了!

    摄影:方飞 作者:黄哲铿/<技术管理之巅> 编辑:Emma 昨天,李铁柱发来了微信: 黄老师,太感谢了,你给我介绍的兄弟很靠谱,人狠话不多,两天时间,把困扰我们公司半年的难题给解决了!不多 ...

最新文章

  1. MDT跨网段UEFI部署系统
  2. rnn 梯度消失爆炸
  3. Collections集合工具类的方法_sort(List)
  4. redis 原码安装
  5. 2020年中国住宿业市场网络口碑报告
  6. phpcms点赞:表情点击(的统计功能) - 代码剥离篇
  7. 用ABC三个字母简洁归纳2018年物联网趋势
  8. hypermesh optistruct 形状优化
  9. ios功耗测试软件,iOS 性能优化 Instruments 检测 App 耗电量实战
  10. 一图读懂 | 亿美软通富媒体消息助力营销价值提升
  11. 【论文翻译】基于分层关注和时间RNN的动态异构网络链路预测建模
  12. 海尔智家半年报营收净利双增,卡萨帝、三翼鸟贡献几何?
  13. 浅谈——业务逻辑漏洞
  14. 王者荣耀觉悟系列(简介)
  15. Git操作不规范,战友提刀来相见。
  16. js动画和css3动画的差异性
  17. 2024武汉理工大学计算机考研信息汇总
  18. vue中解决模糊搜索输入中文时--未输入完成时触发input事件
  19. 重装系统win7旗舰版教程
  20. Linux下面如何运行.sh文件?

热门文章

  1. main方法_你知道为什么Java的main方法必须是public static void?
  2. 简单介绍python format格式化和数字格式化
  3. 使用zerotier让异地设备组局域网
  4. mysql主从复制(master-slave)_mysql主从复制------Master-Slave搭建及注意事项
  5. 图论 ---- F. The Shortest Statement (最短路的性质 + 任意两点间最短路 + 图转树)
  6. 二维树状数组 ----2021广东省赛 ----- K - Kera‘s line segment[区间转二维平面+树状数组维护前缀最小最大值]
  7. (每日一题)CF1139D Steps to One 2021年天梯赛 L3-3 可怜的简单题(期望,莫比乌斯反演,杜教筛)
  8. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)
  9. luogu P4408 [NOI2003]逃学的小孩(树的直径)
  10. CodeForces - 1401 F Reverse and Swap(线段树, 区间翻转, 区间交换,清晰易懂)