面试杂谈

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

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

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

离职完第二天就去参加了一个面试,因为离职前就开始准备自己的简历了,在拉勾更新了下自己的履历,收到了很多面试邀请,当然很大一部分都是些不知名的小公司,除此之外自己也投了一些看起来不错的公司,离职那天下午下班刚走出公司就接到了一家公司 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 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • 面试

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

    325 引用 • 1395 回帖
  • Redis

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

    286 引用 • 248 回帖 • 61 关注

相关帖子

13 回帖

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 545 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    132 引用 • 1114 回帖 • 124 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    66 引用 • 114 回帖 • 228 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 43 关注
  • Bootstrap

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

    18 引用 • 33 回帖 • 660 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • Gitea

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

    4 引用 • 16 回帖 • 6 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 733 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 155 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖 • 2 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    77 引用 • 430 回帖
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 614 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 63 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 374 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 911 回帖 • 245 关注
  • Hibernate

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

    39 引用 • 103 回帖 • 710 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22352 引用 • 89437 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 212 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 30 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 4 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    153 引用 • 3783 回帖 • 1 关注