360面试-C++后端(实习)

在线远程视频面试

一面:

自我介绍。

知道哪几种排序算法,各算法的时间复杂度。

解决hash冲突的几种方式。

有哪些方法清除cache中旧的数据。不太清楚,我扯到了操作系统中缺页中断的页面置换原理上,什么FIFO、最近最少使用、加权重等等。

进程和线程的区别。

多进程和多线程的使用场景。多进程答了一个分布式系统,多线程没答上来,后来问了才知道期望I/O密集型和CPU密集型这种答案。

死锁,如何解决死锁。解决死锁忘了,我扯到线程同步上来。

了解哪些设计模式,装饰器模式是什么。

如何保证单例模式只有唯一实例,有哪些方法。

数据库设计三大范式。仅答了知道一、二、三范式,详细的没答。

SQL优化,有哪些优化方法。仅答了查询优化加索引。

OSI七层模型和TCP/IP四层模型,每层列举2个协议。

TCP的三次握手和四次挥手。

C++中类成员的访问权限和继承权限问题。

C++中static关键字的作用。

智力题,足球队问题。时间原因加没啥思路,把能想到的都说了。

在线写代码,题1快速排序,题2位运算相关的题。

提问。主要问了面试时筛选应聘者的标准。

面完后让在线等,若15分钟内没接到二面通知,代表面试挂了。

二面:

自我介绍。

工作经历的简单介绍。没细问,我以前在传统软件行业干过一段时间,可能互联网行业和传统软件行业的业务差别很大,面试官不怎么在意。

在线写代码,反转链表。最好一边写,一边和面试官交流你怎么想的。

抛出一个与实际业务相关的问题,探讨解决方案。感觉应该是360业务中的一个简化版需求,要你回答如何实现。这种问题给不出标准答案,把能想到的都说出来,后来我俩变成了交流探讨,我顺着他的思路反问了几个问题,他才发现不对,说这是我在面试,应该我来回答这些问题,根据回答层层深入,后来涉及到效率优化、数据库分表、大数据排序、红黑树、map底层实现、ConcurrentMap等。这种问题看自己怎么把握,如果面试官愿意和你探讨,尽量往自己熟悉的东西上引,如果面试官占据主动,层层逼问,祈祷自己的技术积累足够深厚吧。

提问。问了应聘岗位的工作职责,360后台开发用到的技术栈,应聘的那个分布式系统的一些性能指标,请求并发量、平均响应时间等。

在线面试结束,等通知。

总结:

总耗时100min左右,一面基础,二面能力吧,当然,两轮面试中写代码都是考察重点。基础没啥说的,多看多积累,主要几块就是数据库、操作系统、网络和编程语言。至于二面,其实我觉得面试运气很重要,很玄学,面试官人好,不刁难你,过的可能性就大点,当然也说不准,像前几天面腾讯,聊得还可以,下来就挂了,哎,不断充实自己,不变应万变吧。

最后想和大家聊一下,一面的时候我问了面试官筛选应聘者的标准,他的回答是基础+沟通+聪明+写代码:

1)基础,应该包括编程语言掌握度+操作系统+数据库+网络,从上面的问题就能看出来,问题广度很大,没办法,多积累。碰到答不上的,尽量往靠边的扯,实在不知道的,就诚恳的回答现在思绪有点乱想不起来。

2)沟通,主要就是和面试官的交流,有不清楚或是不懂的地方,一定要反复追问面试官,尽量少沉默,也不要直接说不知道,更多的追问交流至少给面试官一种你在主动询问、积极思考的印象。

3)聪明,一般考查智力题,我的理解就是思维敏捷度,这种问题很难在短时间给出答案,给出一个大概的思路或是你怎么想的,不要说不知道,想到什么都说出来,尽量回答。

4)写代码,这个是重点,能不能过占了很大比重,考查的东西很多,编码风格、变量命名、功能完成度、错误处理等等,这个压力真心大,在线写代码,你每敲一个字母,面试官都看得清清楚楚,心态平和+多练多看。

据我估计,这4部分占比:基础35% + 沟通15% + 聪明10% + 写代码40%,想拿offer,多写代码多看书吧。

作者:道道道DAO

本文来源于牛客网

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云飞学编程

金牌讲师讲解动态加载页面数据的爬取并保存!最后有爬虫彩蛋哦!

加入Python交流学习群:542110741,每天有腾讯课堂的直播课程,还有老师专业解答哦。适合想学习python,或者想转行做python爬虫(web开发)...

1681
来自专栏无原型不设计

UI / UX设计师如何玩转用户心理学原理?

以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具。 ? 众所周知,心理学在APP的用户体验设计中起着非常...

3307
来自专栏钱曙光的专栏

一周极客热文:8张图理解Java

图:equals()方法、hashCode()方法的区别 HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于: 如果两...

2047
来自专栏牛客网

测试工程师面试经验

因为专业非计算机类,所以校招一直找的都是测试相关工作。面试的也比较久了,有些都不太记得了,有需要的可以看一下噢。 海康威视: 一面:主要问的就是自己的项目,为什...

4595
来自专栏企鹅号快讯

C加加是否到了生死存亡的时刻?不,C加加仍然在编程界任是不可替代的

C++是否逐步被取代 C++最能考察一个人对计算机知识掌握的能力。windows使用C、C++写的,现在又有qt、codeblocks等跨平台开发工具。可以这样...

2339
来自专栏刘望舒

我是如何通过阿里面试的?

4422
来自专栏何俊林

我是如何通过阿里面试的?

6582
来自专栏程序人生

如何用正确的姿势打开 TDD?

TDD(Test Driven Development)一直是程序界追求的一种开发境界。要想真正做到对项目有帮助的 TDD,并不是一件容易的事情。我见过不少团队...

28610
来自专栏C语言及其他语言

学习C语言编译器的选择

来源:C语言网 很多初学C语言的同学可能遇到的首要问题,就是选择编译器,用什么编程软件? 然而通过了解之后发现有那么多编程软件,什么VC6.0,Dev ,Cod...

5476
来自专栏進无尽的文章

设计模式概述及架构设计中应该注意的事情

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解...

771

扫码关注云+社区

领取腾讯云代金券