前言
自我介绍下,自己就是个屌丝程序猿,大学很一般名字就不说了,软件工程业余。大学毕业后去了一家大公司面试,胜利的拿到了 Offer。说实话,拿到 Offer 的那一刻,我的心田是十分开心冲动的,入职后也十分顺利,就是因为太顺利,导致我始终很劳碌,也对将来没有什么思考。
起初的起初,因为我始终以来的劳碌,本身的技术也始终是那样,公司的倒退须要更高技术的人才。很显然,我曾经适应不了公司的倒退,最终,我被解雇了。
被解雇后,我心田深受打击,对这座城市也心灰意冷。一番考虑过后我决定买高铁票回老家。回到老家后,我看着这座相熟的城市,情绪舒缓了许多。在老家待了几天,我感觉不能再这么颓丧上来了。然而近年来的劳碌工作状态,让我的技术没有一点出息,我自知这个状态上来想要进到互联网头部公司定是不事实的,毕竟学历不能代表全副,技术才是最重要的。我决定从新登程,晋升本人的技术。
自己目前曾经在腾讯入职了,过程十分艰苦,我深知这来之不易的胜利是我始终以来致力付出失去的。
上面是我面试中的一些流程和面试的问题,给小伙伴们一些教训,心愿能帮忙到你们。
面试流程
腾讯一面(全程大概 1h 左右)
- 自我介绍
- TCP 与 UDP 的区别
- TCP 三次握手说一下(把流程说一遍,这里认为会持续问为什么不是两次或者四次,后果没有)
- 看你我的项目用到线程池,说一下线程池工作原理,工作拒接策略有哪几种
- 过程和线程的区别
- ArrayList 与 LinkedList 的区别
- 线程平安与非线程平安汇合说一下,底层怎么实现的(hashmap,concurrenthashmap)
- 数据库事务隔离级别说一下
- synchronized 和 lock 区别,可重入锁与非可重入锁的区别
- 说说乐观锁和乐观锁的区别
- 手写进制转换算法,求出一个数的二进制数 1 的个数
- JAVA 根底 equals
- 多线程形式、threadlocal,各种锁,synchronized 和 lock
- 设计模式、spring 类加载形式、实例保留在哪、aop ioc、反射机制
- 类加载器,双亲委派模型,热部署
- jvm 内存模型,内存构造、堆的分代算法、堆的分区、gc 算法、gc 过程
- tcp ip 七层模型 rest 接口标准 get 和 post 区别,长度,平安
- tcp ip 的 arp 协定,两个同一网络的主机如何取得对方的 mac 地址
- 负载平衡、高并发、高可用的架构
- mysql 的引擎区别
- redis 缓存,redis 的集群部署,热备份,主从备份,主从数据库,hash 映射找到晓得指定节点
- 理解云计算么,理解云容器 docker 么,容器和虚拟机的区别
(面试官问了很多根底的问题,有些答复的并不是很流畅,不晓得还有没有心愿。)
二面是在星期四的一个下午,间隔一面过来大概有一个星期了吧。工夫都有那么久了,我认为一面可能凉了,后果就收到了面试的邀约。
腾讯二面 (大概 45min)
- 说一下你对哪个我的项目比拟相熟、为什么做这个我的项目
- 我的项目采纳了什么架构,数据库如何设计的
- 数据库由哪些表,为什么有这些表
- 次要有哪些外围模块,模块之间如何通信的
- 如何保留会话状态,有哪些形式、区别如何
- 分布式 session 如何治理,你有哪些计划
- 学过数据结构和算法吗(当然),你说说二分搜寻的过程
- 说一下快排的过程,写一下伪代码
- 理解哪设计模式,举例说说在 jdk 源码哪些用到了你说的设计模式
(二面大部分问的都是我的项目技术上的。感觉我答复的并不是特地好,所以感觉没什么心愿了。)
就在我筹备从新投简历的时候,他们给我打电话了,让我约个工夫视频面试,而后就开始了第三轮面试。
腾讯三面(视频面, 全程大略 1h 左右)
- 说下你平时看的一些技术博客,书籍
- linux 下的一些指令
- 工作中你感觉最不爽的事件是什么
- 说下你的优缺点
- 有没有想过来守业公司
- 写个 strcpy 函数
- 说说你本人的性情
- 给你一个零碎,后盾的逻辑曾经实现了,然而前端加载很慢,怎么检测
- 当前可能要学习很多新技术,你怎么看
- 我的项目中遇到的艰难(提前想好,并且把实现或者优化办法说分明)
- 零碎的量级、pv、uv 等
- 应答高并发的解决办法(分布式)
- 在我的项目中次要负责了哪些工作
- nginx 的负载平衡
- 分布式缓存的一致性,服务器如何扩容(哈希环)
(第三轮面试整体感觉还行,没有什么特地大的压力)
HR 面(大概 30min)
- 平时怎么学习的
- 兴趣爱好
- 感觉本人后面几轮面试怎么样
- 除了 Java 还钻研过其它什么技术(我说 AI,区块链)
- 跟我介绍一下区块链~
- 怎么对待国内区块链的倒退
- 跟我说一下你认为最具备挑战性的我的项目
我做了哪些?最终顺利拿到 offer 的?
1. 跟着视频学,从新开始
2. 坚固常识,增强本人的专业技能
3. 刷面试题,相熟面试流程
面试倡议
1. 有急躁且被动
面试不要焦急着去问后果,个别在 hr 面的时候,她的态度多少可能猜个七七八八的,如果等上一周还没有告诉,那就能够被动去问了。
2. 刷题是为了晋升本人的运气
运气在面试过程中是十分重要的,刷题的目标很简略,除了坚固咱们所把握的,另一个就是为了能进步在面试中咱们的运气,如果可能问到一样的题是再好不过了,当然这个方法是实用于职级中低岗位。
3. 把握根底,留神深度
腾讯面试最喜爱问两类问题,一类是根底,另一类就是深度。根底局部,无非就是咱们所把握的技术根底内容,基本上只有是有筹备的都没有太大的问题。另一部分就是深度问题,大多波及到本人之前的工作、我的项目,面试官所问的问题不仅仅是停留在外表那么简略,背地的原理是什么才是面试官想要问的。
想要视频和大厂面试题的敌人能够点这里支付哦
最初
其实 Android 开发的知识点就那么多,面试问来问去还是那么点货色。所以面试没有其余的窍门,只看你对这些知识点筹备的充沛水平。so,进来面试时先看看本人温习到了哪个阶段就好。
对于程序员来说,要学习的常识内容、技术有太多太多,要想不被环境淘汰就只有一直晋升本人, 素来都是咱们去适应环境,而不是环境来适应咱们!
认真温习,认真对待面试,准备充分,一直总结。切实不会你就背,虽说有些特地根底的知识点在理论开发中用不到,但面试就是面试,面试就是问这些,连根底的问题都答复不好,切实很难让你通过。