昨天面试了一位在字节跳动工作2年多的开发,简历上写的工作截止时间是“至今”。特意问了一下,才知道实际是六月份已经不在职了。面试也就进行了十多分钟,但想跟大家分享一些站在选人的视角如何看待面试中的一些问题。
先说说面试
首先肯定是自我介绍了,可以很简单,但是否能突出自己的亮点也就看自己的表达能力了。这一块,这个小伙儿还行,可能已经面了很多家了,知道这个套路了。
接下来是项目
问了最近做的项目,负责哪些比较核心的功能。项目是开发企业微信相关的,说是主要负责了三个功能点:登录的Token认证、聊天图片的OSS存储(缓存)和聊天消息的队列处理。
登录认证是最常见的功能,他强调说是自己负责做的,于是就问题了一个问题:采用Token登录的整体业务流程是什么?
说不太清楚,大概说了使用手机号和短信验证码认证登录,然后把手机号+时间戳用MD5生成Token,Token失效时间是1分钟。于是,又追了两个问题。
“使用MD5生成Token,如何处理Hash碰撞的问题?”,他听了一愣,问什么是“Hash碰撞”……
看他回答不上来,就换了一个角度。“Token失效时间是1分钟,那么如何对登录进行续约,用户一分钟登录一次?”,完全答不上来。
问完这两个问题,甚至感觉他根本没做过这个功能。到这里,其实基本上已经没戏了。
然后问了聊天的消息队列是如何处理的。答曰:通过定时处理任务。答案就是这么简短。
此时已经不再想问了,转了话题,要不咱们聊聊Golang的基础知识吧。
他说,Golang其实只用了半年,现在是想转Golang的。好吧,基础知识也不用问了。
此时结束,难免有些仓促。于是又多问了一句:这次找工作有什么核心诉求吗?想找一个什么样的工作呢?
他说,想找一份能够深入研究技术的工作。面试到此,通常差不多就结束了。
但我多嘴又问了一句:那么,平时业余时间有没有研究过一些技术呢?他想了一会儿说:没有。太尴尬了,我多嘴了~
说说这次面试的几点感想吧:
-
第一,很怀疑他是否真的在字节工作过,虽然他简历上写了在字节工作了两年多。
-
第二,简历写的很有问题。有很多朋友可能没留意,有的简历写的工作时间都是至今,中间还穿插着至今,甚至简历中排版都不一致(半角全角符号混用),技术栈英文写错等问题。不用想,大多数面试官,在筛选简历阶段已经把你Pass掉了。这很代表一个人做事的细心程度。即便筛选简历阶段漏掉了,在你自我介绍他浏览简历时看到这些问题,也会对此次面试大打折扣。简历是第一张门面,一定要重视。
-
第三,能够被约到面试,就是一次机会,就要尽力准备,不然后面机会只会越来越少。像这位朋友,很显然并没有准备,连“八股文”都懒得背。态度问题占大头,面试的结果也很糟糕。面试官不仅关注知识的掌握度,更多的会关注人怎么样,是否愿意自主学习。
-
第四,面试前,最起码把写在简历上的最近一个项目中自己负责的那块功能的业务流程梳理清楚,用到哪些核心技术整理明白。同时,在你简历上得写几项精通的技术栈,而且还要对它们进行专门的准备。有朋友讨巧,都不写精通。那么,如果没有任何精通的,别人为什么要录用你?当然,如果写了精通的,大概率会被问到,也要做好准备。
-
有一位做技术培训的老师,私下问我,30多岁了,现在想找工作,能不能找到?我说,有一定难度,但你可以去试试看。结果,他一周就找到了工作。这说明了什么?大家可以自己想想。
最后
现在市场上大部分公司的面试情况,基本上就是项目+八股+算法+场景。只不过年限不同、公司不同的话,各自的占比不太一样而已。
如果最近有Java的小伙伴要备战面试的可以把我之前面试一直在用的面试突击宝典拿走
其内容涵盖:计算机基础、Java、JVM、spring、算法、微服务、分布式、大厂面经、技术脑图等等...共1700+页 质量非常高!!!
不管最近要不要去面试,建议大家都保存一份!!学完之后不论是 厂内晋升 还是 跳槽涨薪 都不在话下!
内容如下:
-
大厂面试题真题解析(38页)
-
JVM(183页)
-
多线程(221页)
-
Mysql(216页)
-
Spring(338页)
-
Spring Boot(41页)
-
经典面试题(35页)
-
Spring Cloud(50页)
-
Dubbo(55页)
-
Mybtis+Redis(27页)
-
Linux+网络(66页)
-
MQ+Kafka+Zookeeper(40页)
-
Netty(21页)
-
大数据+hadoop(31页)
-
算法(38页)
-
设计模式+项目+高并发(41页)
注:篇幅有限,资料已整理成文档,需要的文末查看
一、算法(大厂必备)2023版
含:红黑树,B+树,贪心算法,哈希分治法,七大查找算法,动态规划,一致性算法,数据结构等...
二、设计模式(工欲善其事必先利其器)2023版
含:单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式,适配器模式,装饰器模式,代理模式等23种设计模式...
三、Netty + MQ + kafka(底层原理+面试题)2023版
含:Netty常用场景,高性能设计,架构设计,经典面试题等...
四、zookeeper + Dubbo(技术干货+面试题)2023版
含:zookeeper集群,应用场景,分布式锁,Dubbo核心功能,集群配置,负载均衡,常见面试题等...
五、Mybtis + Redis (底层原理+面试题)2023版
含:mybtis缓存,运用原理,分页,Redis事务,主从架构,缓存,穿透,穿击,降级面试题等...
六、Http协议 + Linux (底层原理+面试题)2023版
含:TCP/IP协议详细笔记,网络层架构,三四次握手,Linux概述,磁盘,目录,文件,安全,经典面试题等...
七、Mysql (底层原理 + 面试题)2023版
含:数据库基础,数据类型,引擎,索引,事务,锁,视图,sql语句,优化,mysql锁,面试题等...
八、Spring +SpringMVC +SpringBoot(底层原理 + 技术干货)
含:spring原理,周期,ioc原理,MVC事务,AOP原理,Boot配置,安全,监视器,面试题等...
九、经典面试题 + SpringCloud(大厂常见面试题)2023版
含:面试必考21问,SpringCloud熔断,cap原理,设计目标优缺点,版本关系等...
十、Java基础+JVM(技术干货+底层原理)2023版
含:Java基础,异常,NIO,HashMap,Tomcat,JVM堆栈,内存模型,调优,GC,老年代,新生代,垃圾回收,面试题等...
十一、多线程 (底层原理 + 技术干货)2023版
含:多线程基本概念,线程安全,线程出,volatile,ThreadLocal,使用场景,并发量,阻塞列队,面试题等...
十二、实战项目(Github爆火)2023版
该项目是一款标准且已上线的“网约车”应用。符合我国交通部对网约车监管的技术要求。通过了交通部对网约车线上和线下能力认定。项目原型曾在杭州上线运行。
项目中核心功能包括:账户系统,订单系统,支付系统,地图引擎,派单引擎,消息系统等 网约车核心解决方案。
项目中完全采用微服务架构设计,应用了成熟的接口安全设计方案,采用分布式锁保证了分布式环境中的数据同步,用分布式事务解决了分布式环境中的数据一致性等。
前置技能:Git,Maven,Spring Boot,Spring Cloud,Redis,MySql ,RabbitMQ,ActiveMQ等。
项目架构图:
注:篇幅有限,资料已整理成文档,需要的小伙伴点击下方小卡片即可~