人生第一次面试复盘

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/lc5801889/article/details/102740174

人生第一次面试复盘

今天一家软件公司校招,也是我第一次参加面试。
HR问了几个简单的问题,当时回答的不太理想,特此回来复盘。
问题一:
HR:你认为Java和C语言有什么区别?
我的回答
第一点我认为Java是面向对象编程,C语言是面向过程编程。
第二点我认为Java取消了指针,因此相比于C语言编程起来更加方便。
第三点我认为Java包含了更多的库文件,方便调用,简化程序员的操作。
推荐答案:
第一点
Java是一种面向对象的语言,执行效率低。c是一门面向过程的语言,执行效率高。
第二点
Java 是“一次编译,处处运行”。对于不同的平台来说,Java只需要一次编译,就可以在不同的平台上面运行,对于c来说,如果在window上面编译生成的文件只能在window上运行,如果想要在Linux系统下运行,需要重新在Linux下面进行编译,原因是由于Java有自己的一套虚拟机体制,Java编译完成之后,会生成class文件,然后将生成的文件移到不同的平台时,Java虚拟机会帮助我们将class文件翻译成计算机所能识别的信息,这样就可以在不同平台运行了。
第三点
从语法结构上来说,Java去掉了c里面比较重要的指针的概念,对于指针的概念就是我们可以直接去操作计算机的物理地址,所以使用c的时候,我们需要经常去自己申请一些内存空间,用完之后还需要自己手动释放,Java的垃圾回收机制较好的解决了这一点,我们不用再去关心申请的内存释放释放,Java虚拟机会帮助我们去清理一些我们用不到的空间,从而降低了很多出错的可能。
第四点
Java和c的主要用途也不一样,Java主要针对的是互联网应用的开发,而c主要偏向于底层的开发,所以现在我们所看到的的操作系统,智能设备这些都是使用的c,而我们平时的一些大数据平台,网站开发,比如我们经常使用的电商网站,还有一些企业管理网站等用到的则大都是java。参考网址
问题二:
HR:你认为数组和链表那个更容易删除?
我的回答:
我认为数组更容易删除,因为链表是链式结构,删除的话需要从前向后或者从后向前查找到对应元素再删除。(我基础不太好,这个问题我确实没有回答上来,答案也是错误的)
这个问题答案是链表更容易删除,我们可以比较一下数组和链表的优劣性
推荐回答:
数组:内存上是连续的存储空间; 链表:内存地址可以是不连续的,每个链表的节点包括原来的内存和下一节点的信息(单向链表一个;双向链表两个)。
数组优点:
1、占用内存空间少; 2、数组内的数据可以随机访问; 3、数据查找效率较高(内存连续);
链表优点:
1、方便数据的删除、插入 ; 2、长度可变,扩展性好; 3、内存利用率高(可以不连续);参考网址

数组和链表的区别:
区别一:物理地址存储的连续性
数组的元素在内存中是连续存放的。
链表的元素在内存中不一定是连续存放的,通常是不连续的。
区别二:访问速度
数组的访问速度很快,因为数组可以根据数组可以根据下标进行快速定位。
链表的访问速度较慢,因为链表访问元素需要移动指针。
区别三:添加、删减元素速度
数组的元素增删速度较慢,因为需要移动大量的元素。
链表的元素增删速度较快,因为只需要修改指针即可。
特别提示:哈希表结合了数组的快速查询的优点又能融合链表方便快捷的增加删除元素的优势
版权声明:本文为CSDN博主「SkyShooter」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tiansheshouzuo/article/details/86558821
问题三:
HR:请给我说一下排序算法都有哪些?对其中一种讲一下实现原理。
我的回答:
常用的排序算法有冒泡排序、选择排序、插入排序。我就讲一下冒泡排序吧,冒泡排序是通过循环判断光标元素和光标下一个元素的大小,如果当前元素大于下一个元素,则两个元素换位,依次类推。每一轮将最大的那个元素移动到最右边,最终实现排序。(排序算法、查找算法这种东西平时我用的很少,因为Java中已经帮我们实现了,我们只需要调用库函数就可以。但是这种原理我们必须得懂,因为面试考这问题的概率非常大,一起去面试的同学基本上每个人都被问到这个问题)
推荐回答
常用的排序算法有8种:冒泡排序、选择排序、插入排序、快速排序、希尔排序、归并排序、堆排序、基数排序。
排序算法问题我给大家推荐几篇不错的文章,讲的非常详细,感兴趣的话可以一起学习一下,希望能给各位带来帮助。
https://www.runoob.com/w3cnote/sort-algorithm-summary.html
https://blog.csdn.net/wangchaoqi1985/article/details/81739350
https://blog.csdn.net/zxzxzx0119/article/details/79826380
个人感受:
以上就是本人第一次面试HR问的全部问题了,面试进行了20多分钟,由于我简历写的不错,在校期间参加的学科竞赛比较多,也拿过大大小小十几个奖。HR问了我很多大学经历以及参加的比赛相关的东西,总的来说对我的印象也不错,也是顺利通过了一面。
经过这次面试,个人感觉还是自己的基本功不扎实,还需要继续努力。最后希望自己可以早日从小白成长为大牛。路漫漫其修远兮,同志仍需努力!

猜你喜欢

转载自blog.csdn.net/lc5801889/article/details/102740174