前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >95后妹子面试的那些"套路"(附带个人书籍推荐)

95后妹子面试的那些"套路"(附带个人书籍推荐)

作者头像
kirito-moe
发布于 2019-04-30 10:20:09
发布于 2019-04-30 10:20:09
9650
举报

哪有所谓的套路,你会的越多,你就是套路

最近有很多朋友问我一些面试题,或者说准备面试了,怎么复习啊. 孔孔老师就上线了…正好趁着早上不想学习, 就再把这一块总结总结. 个人拙见(毕竟我还是很low的…) 夹杂部分书推荐

集合

我一般喜欢从集合开始问,因为可以延伸到很多地方

  1. 可能会问对整个集合框架是否熟悉, java集合(一) 总体框架 可以由大而小,层层递进,真正可以讲多细,看当时面试情况吧.但多数可能从hashmap开始问,底层数据结构. 可能你会回答:分版本,1.8之前是数组+链表, 之后是数组链表红黑树.
  2. 你引出红黑树,那么我就可能会问你,知道什么是红黑树嘛,然后再问红黑树的反转啊等等.
  3. 下面可能会问hashmap是否线程安全. 这时候你就可以讲put和resize()的时候,会有问题啊. 然后讲讲如何有问题. 或者会问你了解hashmap的扩容嘛, 你就讲讲加载因子(0.75 概率学泊松方程吧),阈值然后怎么扩容的等等. 再说说为啥扩容2的倍数.等等。然后你在讲扩容的时候, 就又可以延伸到线程不安全上面了. 后面可能就会问: 怎么可以让他安全呢. 你可以跳currenthashmap或者 hashTable上面,这样世界又是你的了. 你可以给他们讲与hashmap的区别,他们内部原理.等等. 或者考虑hashmap的代码, 加个锁啥的, 面试官就又可以问你锁相关的知识了. 当讲到锁的时候, 可能会往下问多线程的问题了 集合源码易懂,建议自己读一读.

多线程

  1. 可能会接上面问, synchronized锁粒度. 顺便问问偏向锁轻量锁等.
  2. 常用线程池, 核心参数有哪些,这里可能会问一些内部具体多线程怎么跑起来的等, 比如什么情况创建新线程, 阻塞队列对线程池有啥影响等,(这里非常建议看并发编程的艺术, 讲线程池的这一章,这了讲的透透的, 然后平时正好项目有用,那么相信你完全没问题)
  3. 然后你正好引到项目上, 可能我就会问你具体怎么用的,可能出个简单线程题,还可能问遇没遇到死锁问题呀. 死锁怎么检测,原理是啥等等

spring

  1. spring ioc aop,看过源码吗, 知道aop底层吗, jdk和cglib区别啊等等.
  2. bean加载过程,AOP,IOC 简介
  3. springboot的自动配置啊等等.spingboot-springmvc自动配置原理(ps: 只看这几篇文章是不行滴…我好多都没写, 有点小后悔, 可以看看spring的书. spring技术内幕, 然后springmvc技术内幕, 貌似这个名字,封面有绿色…我就记得这些了)
  4. spring循环依赖.这里也可以讲一些东西,比如如果循环依赖双方都是原型对象,那么肯定报错.如果是单例,配置有参构造器注入, 也报错.等等. 好几种情况.
  5. springcloud 这个问几大组件的多

mybatis

最基础可能会先问$和#的区别. 预编译,sql注入等. 然后可能会说sql注入的一些东西. 往安全性上偏, 也可以问很多,比如脚本注入等等.

简单使用,可以有参数处理, 动态sql.关系映射等. 缓存机制也是常问的内容.

附我一个地址, 也是不太全, https://blog.csdn.net/kwy15732621629/column/info/20925

源码, 如果你可以自己扩展,那当然更好了.

持久层, 如果你写了hibernate mybatis 或者jpa. 那么可能会问你三者区别啊. ssh框架的话, 可能会问Struts的内容喽~

jvm

  1. 最简单的, 知道内存空间不. 讲讲~ 然后你巴巴啦啦讲了什么堆栈方法区,本地方法栈,pc寄存器等等. 然后可能会给你出个例子, 说一下, 每个都在哪里放着…所以, 什么位置放什么东西.
  2. 你了解垃圾回收算法嘛.然后再根据垃圾回收算法, 给简单提点问题.
  3. 简单问题, 软引用/弱引用啊.哪些会被回收啊.
  4. 垃圾回收器呢?
  5. 类加载机制呢?
  6. 双亲委派了解嘛?

jvm 总结

下面就会问一些jvm调优的内容了

  1. 你用的什么调优工具,比如jvc, jconsole等等.
  2. 你参考的一个健康GC状况是什么
  3. 内存溢出和内存泄露区别是啥. 遇到过oom问题嘛,怎么排查的啊?

redis

  1. 可能会先上来就问你, 为啥要用缓存啊,你们项目怎么用的.数据量多少啊等
  2. 然后基础知识, 可能会问你数据结构有哪几种啊. 这里可能会有人问的比较深一点, 比如每种类型底层是什么. 甚至会问一些跳跃表的内容等. 然后一致性hash啊. 和普通hash有啥区别啊等等.
  3. 持久化机制了解嘛.区别是啥啊, 你们怎么用的啊
  4. 过期时间了解嘛, 怎么设置的哇
  5. redis如果重启了,或者宕机了, 这个过期时间会保留.然后讲讲redis的路由机制. (集群通信)然后缓存穿透/缓存雪崩内容.
  6. 怎么避免重构缓存啊
  7. 查询慢, 怎么解决啊. 这里可以说很多啊, 从外层比如网络一直到底层
  8. 缓存数据库双写数据不一致情况
  9. 公司怎么个硬件部署, 高峰期资源使用情况等.
  10. 有的可能会在出个场景题. 随机应变喽~

mq

  1. 使用场景,作用是啥
  2. 我之前比较熟悉的是rabbitmq. 当然现在在学习kafka.
  3. https://blog.csdn.net/kwy15732621629/article/details/85647481 基础知识,就是一些原理,然后就是一些应用问题了 4.选型; 5.怎么保证高可用; 6.重复消费问题/ 数据丢失问题 /顺序性问题/ 大量积压怎么办;

rpc

好吧, 先说说你知道的rpc.你最熟悉哪个 . 然后就开始问了… 一般如果回答dubbo. 无可避免还会问到zk. 比如注册的临时节点啊. https://blog.csdn.net/kwy15732621629/article/details/82052906 dubbo服务发现啊.通信原理啊, 负载均衡方式,集群容错策略啊 幂等性如何处理, 请求顺序如何处理啊等等 然后zk .其 watch机制啊. zk 原理, 其实分布式的感觉都差不太多. 然后zab协议. 如果扩展多了. paxos协议 一般说完zk,可能会问你们项目中分布式锁的处理. 分布式事务问题. 还是围绕zk的使用来的, 比如选主/发布订阅/负载均衡啊等等.

IO

说完dubbo .可能就会问io了. 客户端到服务端连接后, io通信怎么做? 然后简单可能就会问问bio和nio区别. 然后再聊聊nio的东西, 比如缓冲区/通道/选择器等.再往下,可能会聊聊netty.netty线程模型啊 零拷贝如何实现等

数据库

以mysql为例

  1. mysql的基础内容开始问. 一般就是存储引擎的一些内容. 然后说一下他们之间的区别.
  2. 索引, 必问的一个东西.索引原则/ 什么情况不走等等. 或者聚集索引, 非聚集索引. 总之B+ 往外扩伸, 也是可以有很多很多东东的.
  3. 数据库锁.比如最简单的乐观锁悲观锁. 数据库死锁问题.
  4. 是否优化过sql. 如何优化的.
  5. 隔离级别等
  6. 主从复制原理, 主从同步延迟问题如何解决.
  7. 读写分离.
  8. 分库分表. 怎么做的. 然后分库分表有好几种, 比如客户端分片,代理分片/支持事务的分布式数据库. 那么之类可以继续扩展问你, 比如sharding jdbc. mycat等内容.然后选型问题.

然后扩容方案是什么

之前有一篇, 简单写了些. 没画重点…自行领悟吧 https://blog.csdn.net/kwy15732621629/article/details/87922490

运维部署

这个其实是跟上面很多有关系, 比如说文件服务器用啥. mysql多少台. 整体的一个部署方案, 如何保证三高的~ 然后k8s啊, docker啊这么一个使用和简单原理, 方便排除一些错误使用.常用的linux命令啊.

权限

每个公司的权限, 也是一个大块头. 这个看自己能力了. 最简单的基础知识应该都有了解过.

工具类

比如solr.elk 等, 就靠自己去学习使用喽~

架构类

这个其实我比较low喽,但是面试, 可能会问你一些架构设计问题, 还是蛮常见的. 当然也和你引导面试官, 或者简历本身, 有很直接关系.

设计模式和算法

设计模式, 如果代码用了, 可以讲讲如何使用的. 然后简单的东西, 类图和优缺点啥的. 需要了解. 算法, 我平时码代码, 貌似用的不多. 但是基本的一个思想是需要了解的

书籍学习推荐

先说好, 没推广费,我就是自己的一个分享…

如果你是实习生,那么基本的java基础肯定是希望扎实的, 如果你做过一些项目,还可以尽快能承担起来, 哇,那我很喜欢了好嘛

如果社招, maybe你比我优秀喽, 那么可否再推荐我些学习内容哇

java疯狂讲义, 最原始, 最简单的基础, 但是多看的时候, 总能发现自己不会的内容~

java8新特性, 这个就自己网上找视频学习使用吧.

java集合类. 建议自己跟着源码走一下.

io的话, 疯狂讲义也又讲, 然后http://ifeve.com/overview/ 这个地址也可以看看, 然后还有一本书, 叫java nio中文版 . netty的话, 我就是看的闪电侠的博客和课程(目前我还在看…我还不会.)

jvm : 书籍: 深入理解java虚拟机. 然后java性能优化, 也有讲部分.

多线程: 书籍: java多线程编程+ java并发编程的艺术. 前面例子居多.后面理论居多.(我也不太会?)

框架: 书籍: spring技术内幕/spring源码分析/看透spring mvc 源码分析与实践. springboot使用, 网上一堆集成过程. 书的话: springboot实战 + springboot揭秘.

springcloud. 周立老师的入门《Spring Cloud与Docker微服务架构实战》, 然后程序猿DD的增进《Spring Cloud微服务实战》.

mybatis : 我当时好像是在网上找的视频入门的, 就培训班官网放出的视频. 记不太清了.

zk+dubbo : dubbo的简单使用的话, dubbo用户手册讲的很清晰了. 然后dubbo架构设计详解. 我还没看… zk 《从Paxos到zookeeper分布式一致性原理与实践》 这本书

mysql: mysql技术内幕 + 高性能mysql .两本书结合看.我一般是横向去看. 然后mycat权威指南.

redis: 黄鹏程的入门. 付磊的<> 增进 , 黄建宏的<> 增进. 三本书各有特色. 第一本最后的一部分, 是其他没有的. 然后中间那本集群原理啥的, 给我印象很深刻. 第三本, 最喜欢的是每一部分的小结,总结很到位. <<深入分布式缓存>> 不光讲了redis还有其他, 作为知识扩展吧.

mq. 可以先看官网入门. 然后再看书

linux. 我貌似是跟着阿铭学linux. 简单使用.要不就是鸟哥私房那本书.记不清了.

solr/es 网上直接搜就行 然后maven: maven实战

Tomcat : how Tomcat works

设计模式: 最开始入门大话设计模式, 主要是故事有意思, 然后head first

算法: 啊哈算法, 还是故事好玩…

阿里的码出高效

架构: 张开涛的<<亿级流量网站架构核心技术>>. <<可伸缩服务架构>> <<分布式服务架构>> <<聊聊架构>>

个人爱好喽~~~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Kirito的技术分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
75 道 BAJT 中高级 Java 面试题,你能答上几道?
整理了下 BATJ 关于 JAVA 的面试题目,大家参考下吧,希望对大家有所帮助,可以帮大家查漏不缺。
Java技术栈
2018/12/14
6620
跳槽季如何快速全面复习面试题
去年的这个时候小编通过两个月的复习拿到了阿里巴巴的 offer,有一些运气,也有一些心得,借着跳槽季来临特此分享出来。
猿天地
2019/05/13
3310
跳槽季如何快速全面复习面试题
BATM面试Java岗:精选200+面试题及答案、6大重点规划和经验总结
金九银十已经结束了,而每到年后,总会有很多人跳槽。可我发现一个奇怪的现象:那些跳槽的人,总是从一个坑,跳进令一个坑中。毕竟一年过去了,会的还是原来的知识,人的身价就摆在那里,无论怎么折腾,也不会拿到更好的offer。这样的跳槽其实没有意义,也许就有人问,现在都是互联网寒冬了,要怎样才能把握好机会,拿到跟好跟适合自己的offer呢?技术才是我们程序员的立身之本,在再好的机遇面前我们也要有这个实力去抓住它。
用户6659115
2019/11/09
7460
社招一年半面经分享(含阿里美团头条京东滴滴)
最近一段时间面试了几家互联网公司,陆续通过了阿里、头条、美团,滴滴,京东的面试,基本上面试的公司都通过了,所以在这里想分享一些自己面试的经验给大家,希望能帮助大家拿到心仪的offer
捡田螺的小男孩
2021/04/23
2K0
JAVA程序员备战跳槽季,准备面试必备的技术大纲,请查收
怎么来体现你的技术实力?我总的分为:技术深度和技术广度这两方面。技术广度通俗的讲,就是你熟悉该技术点的使用以及基本原理。一般面试官在面试首轮会问很多技术点,来考核你是否能正确使用。
美的让人心动
2019/10/10
6060
2019 腾讯java面试 (含面试题解析)
本人3年开发经验、18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴、今日头条、滴滴等公司offer,岗位是Java后端开发,最终选择去了阿里巴巴。
木有bug
2019/10/28
3.2K0
Java程序员“硬闯”阿里之路,已收获offer(附超详细面经)
本人3年开发经验、18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴、今日头条、滴滴等公司offer,岗位是Java后端开发,最终选择去了阿里巴巴。
秃顶的Java程序员
2020/03/30
8400
社招两年半10个公司28轮面试面经
还有一个点是,看书的时候可以尝试记一下笔记,这样效率会高一些,不至于看完就忘记了。
CoderW
2022/07/13
9200
社招两年半10个公司28轮面试面经
BAT最新Java面试题汇总:并发编程+JVM+Spring+分布式+缓存等!
今天给大家分享下我整理的Java架构面试专题及答案,其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助!在这由于文字很多,我总结了java面试所涉及到的常问范围及架构面试专题和答案和架构视频资料免费分享给大家,文末有领取!
javaworld
2019/05/11
6590
我花了一周,总结了一份Java学习/面试自测指南!200+道Java最常见面试题!
另外,准备面试的小伙伴,一定要根据自身情况制定好复习计划! 并且,你最好还要时不时自测一下,对着一些面试常见的问题进行自问。
Guide哥
2021/02/08
1.3K0
【阿里面经分享】蚂蚁金服研发面经+阿里中间件研发面经+面试题
之前面了阿里中间件的提前批,不过没走流程。同期还面了蚂蚁中间件的两轮面试,被告知不走流程就不能面了,所以也没面完。
本人秃顶程序员
2019/05/07
1.5K0
【阿里面经分享】蚂蚁金服研发面经+阿里中间件研发面经+面试题
Java学到什么程序可以去面试以及面试范围
1简历 简历里面需要包含的内容应该是个人信息、比如:学历,工作年限、邮箱、姓名、目前状态(是否离职),专业技能(分条说明、或者自己的博客、相关公众号等),项目经验。简历不需要太长,如果是2年左右,3页
码神联盟
2018/04/02
9220
Java学到什么程序可以去面试以及面试范围
想要靠外包刷题,结果却大跌眼镜
select group_name,max(score) from table group by group_name order by group_name
cxuan
2020/08/07
1.2K0
想要靠外包刷题,结果却大跌眼镜
GitHub2021年度前100的Java高频知识点汇总
这是我在工作、面试中学习并总结到的一些知识点,都是一些比较典型的、面试常常被问到的问题。
Java程序猿
2021/12/13
5600
Java 面试题全记录 多处搜集 灵魂拷问 持续更新
大佬总结的面试题纲: https://github.com/farmerjohngit/myblog/issues/21
heasy3
2020/08/02
7580
又到了跳槽季,你们都准备好了吗?我来告诉Java程序员们如何快速全面的复习
年过完了,大多数同仁们应该已返回并进入了工作状态,估计这个时候,有很多小伙伴也在开始准备年后跳槽的事情了,对于一些做传统项目的同仁,不知道如何复习迎接面试是肯定存在的,那在此,我今天为大家准备准备下需要了解和学习的内容吧。
攻城狮的那点事
2019/06/28
9280
2019年Java程序员金三银四跳槽季,机会只留给有准备的人!
现在大多数Java程序员都走入了盲点,以为来年跳槽就能涨一点薪,但是你有没有想过跳槽涨薪前提是建立在你要具备跳槽涨薪的价值,希望下面这些你看完之后能对你有所帮助。
美的让人心动
2019/03/04
8860
2019年Java程序员金三银四跳槽季,机会只留给有准备的人!
Java研发岗常见面试内容大纲
近年来Java工程师这个岗位炙手可热,市场需求大,学习Java的人也越来越多,所以IT企业与求职者的选择都比较多,那么IT企业在面试时都会提哪些问题呢。下面为大家分享 Java高级工程师面试阿里、京东、天猫、菜鸟时涉及的知识点,文章略长,但较全面,阅读时间15分钟左右。
用户7353950
2022/05/10
8080
Java研发岗常见面试内容大纲
淘宝面试回来,想对程序员们谈谈
因为我是一个不管做什么事情都喜欢进行总结的一个人。所以对于在上周去淘宝面试的经历,现在面试回来总结,我想对所有程序员们谈谈。
AI乔治
2018/06/30
1.1K2
简历:第一章:技术亮点如何写
但是这样写感觉不够高级,写的东西太多也太乱,无法指引面试官问我已经准备好的面试题,这个就相当于面试官随意的问了,这么写没意义,所以我需要把面试题提前准备好,按照准备的面试题改造技术亮点。
Java廖志伟
2021/02/02
2.3K0
推荐阅读
相关推荐
75 道 BAJT 中高级 Java 面试题,你能答上几道?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档