第一次面试-2021北京暑假实习

       终于稳定下来了,一直想把最近的面试经历记录下来,可是由于一直在忙着找房子和工作,今天终于有时间可以写一写了。
       在上一周面试了大概有十家左右,虽然每天跑的感觉特别疲惫,但从失败的教训中确实也学到了好多东西。在面试的过程中,一般都会先要求自我介绍,然后给一些笔试题做一下,再就是技术面试。这几场面试下来,给我的感觉不仅是一些知识自己没有熟练掌握,更重要的是有些技术自己根本就没有听说过、考虑过或使用过。以前在学校的时候感觉在同学中应该还算个中等水平,现在感觉自己就是一个井底之蛙,我觉得这才是最可怕的地方。
       在这么多面试官中给我留下印象最深刻的是乔,他面了我三次,最然他最后没有录用我,但是我觉得他给了我更重要的东西。一面是电话面试,他简单的问了我一些计算机专业的知识,然后让我给他介绍毕设;二面的时候是在公司,他指出我毕设数据库表的设计有问题,并现场让我改正,写了对数据库的增删改查的一些功能。这里要说了,这是我所有的面试中唯一一个让现场写代码的。一开始我以为是个特例,后来问了同学,他们说他们面的时候也需要现场写。后来由于他有事,他给我布置了两个问题,让我写一下,问题分别是:(1)写一个单例模式,并写出对它的理解;(2)根据对数据库的修改去修改响应的代码;三面的时候,第一个问题写单例模式,虽然最后写出来了,但是写的特别慢,又问我你还看了别的设计模式了吗?我说没有;后来看到我写的文档数据库表中字段名起的规则不一致,说我命名不严谨;最后问我在二面的时候代码中那个bug修改了没有,我说没有;结果可想而知,我肯定是被pass掉了。原因:他说单例模式你虽然写出来了但是写的太慢了,你在关注这个模式的时候没有去考虑别的设计模式;遇到的bug这都好几天了,你应该已经解决了但是你并没有解决了,给我的感觉是你并没有那么喜欢计算机这个行业;还有就是对数据库字段命名的时候没有自己的原则,可见没有良好的代码习惯。纵使我说我很喜欢,但是靠嘴说是没有用的。随后他给我讲了一些计算机大面上的东西,虽然不是具体知识上面的,但我感觉确实受益匪浅。其中有一个问题就是:你喜欢广度优先还是深度优先?还告诉我要有长期的目标,以及产品、需求和代码之间的关系等。虽然当时我没有通过面试,心情非常失落,但是我获得了更重要的东西。我特别特别感谢他,他一下子把我拍醒了,让我对自己有了一个更加清楚的认识。从这次面试失败的经历中,我感觉到有两点特别重要:

1
2
1. 细节决定成败;
2. 对于遇到的问题要及时去解决,问题本身就是最宝贵的;

       有些话一直在说,但是没有教训的话,可能体会的并没有那么深刻。

遇到的频率比较高的问题
  1. 时间复杂度;
  2. 队列和栈;
  3. 冒泡排序和快排;
  4. 五层模型和七层模型;
  5. http和https;
  6. TCP和UDP;
  7. 线程和进程;
  8. 数据库优化;
  9. 事务;
  10. SQL语句的书写;