腾讯云后台开发实习一面面经(已挂)

腾讯云后台开发实习一面面经(已挂)

昨天面了鹅厂腾讯云后台开发实习岗,触动蛮大的……深刻认识到了自己多年来的不学无术。


先介绍一下个人情况,武汉某垫底211计算机专业,简历上的主要项目是基于CI框架的一个校园网服务平台。前天晚上接到通知说昨天早上九点面腾讯云后台开发岗。


刚进面试官房间的时候有点紧张,自我介绍之后面试官先介绍了一下他们组主要的技术栈:PHP + Python。(好像和我的技术栈比较相符啊……)首先简单问了一下项目情况,Rest风格的API如何设计,CI框架的设计模式(MVC)。接下来将近一个小时的时间就问了一个场景题:如何设计一个卖酸奶的电商网站?具体问答如下:


Q:首先要怎么解决静态页面的存储问题呢?在服务器上实现。

A:在服务器上用nginx做静态页面存储


Q:嗯,现在前端要ajax请求后端的Rest API,比如我要查询酸奶的购买记录,设计一下你的Rest API

A: BlahBlah...


Q:为什么你用POST而不是GET请求呢?它们有什么差别没有?还有可以描述一下这个请求在后端处理的流程吗?

A: BlahBlah...


Q:那么问题来了,如果你的网站并发量很大,这时候你发现每次请求时间都非常长,你要怎么解决这个问题呢~

//到这里开始被自己坑到了……

当时首先想到的是MySQL的优化。就说了建索引加快查询时间,顺便说了一下MyISAM和InnoDB两个存储引擎之间的差别。当时面试官顺口又问了一下了解B+树里索引的实现吗,只能说不了解了……


第二个想到的就是负载均衡,加服务器。不过对负载均衡了解不多,面试官又问了了解负载均衡里的ip hash算法吗,又只能说不了解了……


第三个是在面试官引导下想到了可以用memcached和Redis做缓存。表示只用过memcached,不过看起来面试官对Redis比较感兴趣,问底层实现了解吗,还是只能说不了解了……


Q:如果是硬盘i/o或者内存cpu性能出现瓶颈了,你要怎么解决问题呢?

主要讲了Linux的iostat,top,vmstat几个命令。不过讲得不是很深入,对于怎么解决i/o瓶颈这个问题也不是很了解。


Q:上面解决的主要还是查询速度的问题。那插入的速度怎么解决呢?

//继续被自己坑

不是很了解这方面有什么软件可以解决问题。只是回答说可以做缓存然后异步插入数据。面试官于是问了解消息队列吗?又只能回答不了解啦……


Q:那你如何保障网站的安全性呢?常用的Web攻击方法了解什么呢?

//这里回答得还行

主要回答了三个:XSS攻击,SQL注入攻击,CSRF攻击。面试官后来又补问了DDOS攻击的原理。基本都能把原理说明白。


Q:数据分析了解吗?

确认了一下,面试官主要想了解一下机器学习方面的能力。当时有点懵逼,没想到后台开发会问这个。说了几个简单的算法,决策树,朴素贝叶斯和梯度下降。本来想说一下之前参加的比较小的比赛,但是突然忘了Python的sklearn这个包……也忘了介绍一下刷过coursera上的machine learning课。面试官可能感觉我这方面不懂,也没有追问。。



面试大概花了一个小时。最后面试官评价了一下表现,一个是太紧张了,给人的印象不是很好呀。还有就是数据库底层,服务器底层原理了解太少。唯一的亮点是Web攻击方面说得还行。


下午查状态发现已挂。


说实话,我这种水平的人想进BAT主要还是看运气吧。不过大学真正学CS的两年里,确实对底层原理的东西了解太少了!很多问题,比如MySQL的性能瓶颈没有遇到,就没有去思考和发现问题的动力。。还有好几本经典CS教材也没看完。。考虑再去读研钻研两年了


还有为什么到现在为止都没有人在面试环节问我算法题啊!!!!!!leetcode和剑指offer都白刷了,反而是最没有准备的东西被频频问到,好气。

编辑于 2018-04-16

文章被以下专栏收录