面试杂谈

本贴最后更新于 2864 天前,其中的信息可能已经沧海桑田

几天前就写好了,我是来这里赚流量的,原文链接

从离职到现在差不到一周的时间,前前后后加起来总共参加了四个公司的面试,不算多,基本算的上每天一个吧,这篇文章是对我本次面试过程做的一个总结,给即将离职的三年左右经验的小伙伴做个参考。

离职完第二天就去参加了一个面试,因为离职前就开始准备自己的简历了,在拉勾更新了下自己的履历,收到了很多面试邀请,当然很大一部分都是些不知名的小公司,除此之外自己也投了一些看起来不错的公司,离职那天下午下班刚走出公司就接到了一家公司 HR 的面试邀请电话,约的是第二天下午 2 点面试。公司位于望京 SOHO,离我的居住地点不算太远,大概是 1 点半左右的时候到了面试地点(PS:面试的时候一定要赶早不赶晚,望京 SOHO 那边的环境还是挺不错的),扯得有点多了,下面进入正题,

  • 在这个公司一共进行了一轮笔试和两轮面试:

    1. 笔试题还算是挺简单的,但是也考查了一些比较细的知识点,比如类初始化时各种变量的初始化顺序,包括静态、实例变量,
      父子类构造方法;JVM 内存结构,堆、栈、方法区、本地方法区,程序计数器(可以的话最好将每个区的作用也写出来);
      Spring AOP 使用的设计模式,比较重要的大概就是这些了。

    2. 然后第二面就是项目负责人的面试,但是第二面基本没问什么技术方面的问题,基本都是业务方面的问题,
      这个就看个人发挥了,只要能把自己做过的东西清楚的讲出来就可以了。

    3. 讲一下 redis 的了解

  • 第二家公司的面试比较悲催,上来就是技术面试,由于是第一次参加技术类的面试,加上自己准备不够充足,第一轮聊完就被 pass 掉了,很多问题都是知道答案,但是回答不全,所以不要先投自己心仪的公司,先投一些其它公司练练手,找找感觉,否则很容易无法进入状态,下面是我能想起来的一些问题:

    1. Hiberate 有什么优缺点

    2. 讲一下 Spring AOP,AOP 的实现原理,如果能说出动态代理,紧接着就会问动态代理的实现原理,说一下 JDK 动态代理、
      CGLib 动态代理的实现原理就差不多了。

    3. Spring 依赖注入的方式有哪些,为什么要用依赖注入。

    4. 事务有哪些特点,事务隔离级别有哪些

    5. 悲观锁和乐观锁的区别,悲观锁正在事务开始时就会对要处理的数据加锁,直到事务提交才会释放,
      这种锁的并发效率比较低;乐观锁对其他事务持乐观状态,在事务开始时并不会对要处理的数据加锁,直到事务提交时才会加锁。

    能想起来的大概就是这些了,最后是面试官画了两张表,预定了一些数据,写了一个 left join 的 sql,让写一下结果。

  • 第三家公司是三轮面试,第一轮业务性的面试,之间也问了一些技术的问题,第二轮是技术面试,第三轮人事。

    1. 业务面试主要问了以下一些东西,讲一下由你主导实现的一些模块,讲完之后又问了下数据表是怎么设计的;看了下 github 上的部分代码,自己翻译的一些文章,讲一下对 redis 的了解,在工作中用过 redis 的哪些功能。
    2. 技术面试跟前两家类似,印象比较深刻的是 redis 的 hashmap 在 rehash 时是否可以进行插入?在这里卖个关子,小伙伴们自己了解一下 hashmap 的 rehash 的实现原理就明白可不可以了。

总结一下,投简历时先投一些自己想去的公司之外的公司,练练手,简历上不要写自己不熟悉的东西,因为简历上的任何一点在面试时都可能被问到。另外讲话时语速不要过快。写简历时好像有个 Star 法则,可以参考下。

  • 面经
    1 引用 • 21 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8207 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 166 关注

相关帖子

13 回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • abners
    作者

    @sweat89 是,还不是什么大公司

  • 其他回帖
  • abners
    作者

    @Vanessa 我重新编辑一下

  • zonghua

    我被问过的问题:

    • 五个数的全排列
    • SQL 去重
    • Spring 事务实现原理
    • 你擅长什么

    最后一个问题回答得最尴尬

  • abners
    作者

    @Vanessa 头像已换,哈哈

  • 查看全部回帖

推荐标签 标签

  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 523 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 412 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    51 引用 • 226 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 688 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 7 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 686 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    711 引用 • 1173 回帖 • 162 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 355 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 20 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 14 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 244 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 29 关注
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 467 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 24 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 2 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 3 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 180 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 347 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 292 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖 • 1 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 424 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 134 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 691 关注