无论面试什么岗位,算法、软件开发、测试或者大数据方向,数据结构和算法、计算机操作系统、计算机网络、数据库、语言基础和应用几乎是绕不开的。
就拿语言来说吧,它算是程序员工作时的通用文字了。无论是C++、python、JAVA还是其它语言,都要了解和精通它的基本语法、数据和变量类型、运算法则。对于写程序,语法是基础,否则总是会出现大大小小的编译错误导致程序崩溃。每个语言都有需要注意的地方。
比如C++语言头文件的使用、面向对象的继承、封装、多态问题、命名空间、动态内存、异常处理、文件和流、多线程,还有头疼的指针问题。
JAVA语言,语法虽然和 C++ 语言很接近,同样提供类、接口和继承等面向对象的特性,但是没有了指针,而是引用。同时还需要考虑它的分布式、可移植性等问题。
Python作为一个高层次的脚本语言,学习、阅读和理解上会相对容易一些。但是也要注意一下版本兼容,import导入等常见问题。们比较熟悉的单体架构,由于程序都要在一个进程中处理完成,所以如果访问量过高,那么服务器的压力就会增加不止一星半点,就此出现维护、升级困难;系统耦合性过强;部署效率低;扩展成本高等问题。尤其是云时代的到来,单体架构就明显不够用,不能在变更一个模块时不影响到其他模块,无法进行拓展https://www.yuque.com/docs/share/ae6cf217-735a-4d19-b8bf-e92acbb8e952?#(验证码:afbg)