最近的一些面试汇总

我的秋招开始的比较晚,从8月底才开始投递简历。在校期间是做科研项目(基于商用WiFi设备的成像、动作识别应用啥的,跟前端开发无任何关联,但是每次都会被问到做的东西的原理,因为看起来很新奇很好玩)
最近集中笔试+面试了一大批,包括得物的一二面、vipkid的一二面、宝洁一面、字节跳动一面...平均每天两场面试或者两场笔试,虽然有点辛苦但是成长还是蛮快的。
目前的心得体会大概就:不会的不乱说,会的疯狂展开(一来可以展现你在某些问题上了解的深度,二来可以占一定的时长...心机满满)

大概按照最近进行的时间顺序回忆一波。

9.25 宝洁IT部一面

宝洁的面试和互联网大中小厂完全不同,这里不展开说了,具体的内容是"宝洁八大问"中的某几道,回答要点就是"STAR法则"或者"CAR法则"。
一面会有一个英语水平的考察,可以选择用英文自我介绍,或者用英文答一道题。
在反问环节问了一个我个人很想了解的问题"快消公司的IT部门和互联网大中小厂之间业务上的区别",在这里和想了解的牛油们分享一下:
快消公司的核心还是围绕着physical的产品的(比如宝洁的某红瓶),所以一切都是围绕着产品链和用户去做的,业务上主要是为了产品线自动化、线上购物app等等这些环节的。而厂主要的核心是用户数据,之后的延申都是基于用户数据的(比如开发游戏、线下商场这些都是基于用户数据分析之后做出来的)。也就是在业务模式上会有一些区别。关于宝洁的IT部门的话,以前是主要是support其他部门,现在也变成了lead其他部门这样。
宝洁的面试体验特别好(自我介绍之后面试官还说他是98级校友),而且结束之后面试官会告诉你怎么回答更好。宝洁之前的面试全凉了,宝洁之后的都有下文。

9.25 得物前端开发一二面

效率无敌高,周五有线下面试但是因为学校离得太远外加有其他面试安排就约了线上面试。

一面+hr面(1h)

这一步用的是飞书会议,所以没有任何编程,都是描述。
1. 算法题:实现一个数组对象的去重,相同value的只保留最后一个,最好有多个思路
-> HashMap能保证顺序吗?
-> HashMap和Array有什么区别?
-> HashMap和Object呢?
2. 布局: 三栏布局,平均分布(回答了父容器设置display: flex
-> 用哪个属性设置他们沿水平方向顺序排列?
-> flex还有什么属性?
3. 跨域相关的问题 -> 设置Access-Control-Allow-Origin(这里我没答出来)
4. EventLoop:一堆微任务,几个宏任务
-> 一个宏任务执行完会直接执行下一个宏任务吗?(没答出来,"回去可以了解一下")
5. javascript中arguments相关的问题
6. 数据库问了一些。索引是怎么实现的。-> 问了倒排索引
7. 网络原理里面问了三次握手和四次挥手和是否了解慢启动(慢启动一开始没反应过来,后来想起来是拥塞控制相关的也回答上来了)
(脑子不好实在是记不清了,感觉小哥全程对我很冷漠觉得我很烂,感觉一面要凉了,结果挂了之后电话立马约了晚上7点二面)
然后立马电脑转到了hr小姐姐手里问了一些加班呀,能不能来实习呀相关的问题。

二面(15mins)

用的钉钉,直接CTO面,一个钉钉群里一人15mins。
感觉没有大项目非常不合CTO的心意。
问了几个基础的网络原理问题,几个布局,一些个人在校项目相关的问题。
如何学习前端?
影响最深的一本书(这个问题我不知道是问专业书籍还是所有书中的书)

整体面试体验不算特别好,感觉特别赶而且在回答的时候也没有在听。

9.26 VIPkid前端一二面

刚面完HR面回来啦!VIPkid的面试体验是真的好!一面的小哥哥巨可爱!HR小姐姐也超好的!

一面(大约1h)

用我鱼的记忆回忆一下问了哪些问题:
1. TCP和UDP的比较
2. HTTPS加密的原理
3. 输入一个URL到页面呈现的过程
-> 浏览器解析渲染页面(没回答出来,补了个课结果字节就用上了)
4. MySQL是什么类型的数据库?(这里笑场了因为问问题先把答案给说了)
5. 事务的特性。
6. 数据库的存储引擎(不太了解)
7. 按序存储的优点(我扯了些分表分库啥的)
8. 三栏布局实现
9. EventLoop:看代码写输出
10. this的指向:看代码写输出
11. position
12. 节流防抖我忘记在哪里引申出来问了一点
13. 算法:反转链表
14. 问我了解框架吗,确实是刚刚开始学我就问他可不可以讲讲我自己的理解,讲了前端的历史和我理解的MVVM模型,单向绑定双向绑定。(然后就被认可了,并且鼓励我保持学习热情,学习状态非常好)
然后小哥就告诉我一会就会有电话约二面(还在紧张+懵的我当时没反应过来这表示我一面过了)

二面(大约40mins)

我确确实实的忘记了面试的技术方面的内容,我也不知道我脑子里记得都是些什么。T T
问了一下为啥会选择前端,平时怎么学习。
(反思一下自己,太懒惰没有及时反馈就忘记了T T)
面试过程依然是会的就多回答多展开,不会的就说不太了解(毕竟前端小菜鸡),整体过程也很顺利,感觉也很不错,今天(9.28)下午面完字节一面的时候接到了约HR面的电话(一开始还以为是约字节二面)。

HR面(30mins)

VIPkid的流程特别快,今晚的HR面也蛮顺利,需要想一下回答的问题做一个小小的分享:
1. 为什么选择前端?
2. 怎么看后端学习的内容比前端更深入一些?(说了广度和深度以及值得深挖的点其实很多)
3. 个人的一些实践经历、社会活动经历。
4. 周围的人怎么评价你,用两个词来描述一下。
HR小姐姐说最快30号,最晚到国庆收假就能收到反馈,许愿意向书!

我又来更新啦!昨天收到了VIPkid的意向书,今天接到了得物的电话,这两家节后会谈薪发offer。字节三面也在来的路上了!国庆也要努力学习!
#面经##校招##VIPKID##宝洁##得物app##前端工程师#
全部评论
请问楼主得物给结果了吗?
1 回复 分享
发布于 2020-10-14 12:28
啊哈 请问下楼主vipkid什么岗呀 我还没被安排Hr面
点赞 回复 分享
发布于 2020-09-28 20:32
友塔游戏
校招火热招聘中
官网直投
请问楼主vipkid笔试题是选择加两道编程吗 二面没有手撕代码吗
点赞 回复 分享
发布于 2020-09-29 23:23
楼主得物有CTO面吗?
点赞 回复 分享
发布于 2020-10-16 22:35
HR面和意向书之间隔了多久呀
点赞 回复 分享
发布于 2020-10-16 22:56
得物薪资多少
点赞 回复 分享
发布于 2020-10-29 16:48

相关推荐

是在一间小房子里面的,声音很嘈杂,面试官很多【0】首先是自我介绍【1】你对容器类,比如HashMap有什么了解HashMap底层是数组加链表,首先利用hashcode计算地址,当发生冲突的时候用拉链法解决冲突,当拉链足够长的时候将其转化为红黑树。如果是要线程安全,建议使用ConcurrentHashmap而不是hashtable,因为前者是分段加锁的,后者只用了个synchronized。【2】你是怎么理解容器的线程安全和线程不安全的,里面是做了什么实现容器的线程安全实现主要的实现还是加锁。如果是线程不安全,就是没加锁,可能会出现并发的问题,如果是线程安全就做了加锁的操作,举例了concurrenthashmap和hashtable以及arraylist,linkedlist和vector【3】了解可重入锁吗一个线程如果拿到了这个锁之后,释放了,接下来的代码里还可以重新拿到这个锁。但是普通的锁是不行的。【4】可重入锁用来解决一些什么样的问题出于业务需求,需要对一个资源有频繁的调度,所以需要让他有可重入的功能(可能回答的不大准确)【5】怎么理解乐观锁和悲观锁乐观锁假设不会出现并发问题,一旦出现并发问题是没法解决的。通常用的方法有版本记录法等,这个方法也是Es中间件经常用到的写入方法。当写入的时候版本发生变化了,说明这个数据的状态和我们之前操作的数据不是一致的状态了。悲观锁认为一定会发生这些问题,我们需要做好防范。比如悲观锁对于数据库的那几种不一致状态,读未提交,脏读,幻读,不可重复读等等,需要给他加锁。比如:读之前加S锁,写之前加X锁。【6】如何避免死锁 ;银行家算法。让资源变成非竞争的,资源编号法,只能按序号重小到大申请资源;不允许线程占有并申请资源,只能一次申请全部【7】如果有三个线程,一个只能打印a,一个只能打印b,一个只能打印c,如何确保有序用并发控制,设置资源变量,当值为1时只能打印a,为2时只能打印b,为3时只能打印c,每次打印完后给资源+1并且求余3;【8】对于线程池有了解么,简单说说线程池其实就是一种多线程处理形式,相比手动创建线程,它的优势在于能够根据软硬件资源对线程进行统一的管理,而且统一创建线程,销毁线程,从单个线程上看,使用线程的开销变为了执行任务的开销,节约了创建和销毁的开销【9】线程池的核心参数你知道么? 线程池的创建接口:ThreadPoolExecutor核心参数:1:核心线程数(corePoolSize)核心线程数的设计需要依据任务的处理时间和每秒产生的任务数量来确定,例如:执行一个任务需要0.1秒,系统百分之80的时间每秒都会产生100个任务,那么要想在1秒内处理完这100个任务,就需要10个线程,此时我们就可以设计核心线程数为10;当然实际情况不可能这么平均,所以我们一般按照8020原则设计即可,既按照百分之80的情况设计核心线程数,剩下的百分之20可以利用最大线程数处理;2:任务队列长度(workQueue)任务队列长度一般设计为:核心线程数/单个任务执行时间*2即可;例如上面的场景中,核心线程数设计为10,单个任务执行时间为0.1秒,则队列长度可以设计为200;3:最大线程数(maximumPoolSize)最大线程数的设计除了需要参照核心线程数的条件外,还需要参照系统每秒产生的最大任务数决定:例如:上述环境中,如果系统每秒最大产生的任务是1000个,那么,最大线程数=(最大任务数-任务队列长度)*单个任务执行时间;既: 最大线程数=(1000-200)*0.1=80个;4:最大空闲时间(keepAliveTime)这个参数的设计完全参考系统运行环境和硬件压力设定,没有固定的参考值,用户可以根据经验和系统产生任务的时间间隔合理设置一个值即可;【10】用过Mysql么?有哪些存储引擎?有什么区别MyISAM和MyISamMyISAM: 默认表类型,它是基于传统的ISAM类型,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键。InnoDB:支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。【11】说一说innodb的底层实现。【12】针对sql语句怎么进行优化【13】inner join,左连接,右连接等有什么区别?基于什么样的考虑,去确定使用各种连接【14】建索引的依据时什么?(explain查瓶颈)【15】了解计算机网络么?tcp和udp的区别【16】讲讲三次握手和四次握手【17】TCP粘包的原因以及如何避免【18】你在项目中用到了es,kafka,quartz等,那么你在项目中主要实现了什么功能【19】定时任务计算热帖排行,你是怎么计算的,整个过程讲一下?定时任务是什么时候启动的?【20】Redis也支持做排行榜功能,你能简单说说么【21】在项目中遇到的挑战,难点ps:来自23年的面试凉经,那年似乎不咋招人,后来也毁约了不少#软件开发笔面经##牛客解忧铺##24届软开秋招面试经验大赏##如何判断面试是否凉了#
点赞 评论 收藏
分享
7 26 评论
分享
牛客网
牛客企业服务