📜  Cognizant GenC 面试经验(2022 年校内)(1)

📅  最后修改于: 2023-12-03 15:14:12.216000             🧑  作者: Mango

Cognizant GenC 面试经验(2022 年校内)

简介

Cognizant是一家全球性的IT服务公司,总部位于美国新泽西州特文。Cognizant GenC是面向应届毕业生的招聘计划,旨在为新进程序员提供全面、系统、实践性的IT培训。Cognizant GenC评估流程包括笔试、面试和技能测试。下面是我在校内参加Cognizant GenC面试的经验分享。

笔试

笔试是一项基础考试,考察的是应聘者的基本技能和知识。这部分考试主要由选择题和编程题两部分组成。选择题主要考察计算机科学的知识,包括操作系统、网络、数据结构、算法等方面,需要考生具备扎实的基本功。编程题则着重考察编码能力和编程思维,需要考生具备良好的逻辑思维和代码能力。

以下是笔试部分的示例代码片段。

# 举例一个Python的选择题

# 下面哪个是Python的保留关键字

# A. var
# B. def
# C. class
# D. function

# 答案是B和C,def表示函数定义,class表示类定义。
# 举例一个Python的编程题

# 编写一个函数,判断一个字符串是否为回文串,输出True或False

def is_palindrome(s):
    return s == s[::-1]

print(is_palindrome('hello')) # False
print(is_palindrome('level')) # True
面试

面试是选拔人才的主要环节,是评价应聘者能力、专业技能和综合素质的关键。Cognizant GenC面试是一个多轮面试,每轮面试的时间大约在20-30分钟。面试官主要询问应聘者的工作经验、项目经验、技能掌握情况以及个人素质等综合素质。此外,面试官还会测试应聘者的沟通能力和现场解决问题的能力。

以下是面试部分的示例代码片段。

# 举例一个Python的面试题

# 你如何解决Python的GIL问题

# GIL全称Global Interpreter Lock,是Python解释器的一个限制,使得在一个时间点上,只有一个线程能够执行Python字节码。这会导致Python的多线程性能很差。

# 解决方案是使用多进程,因为每个进程都有自己的Python解释器,可以避免线程之间的竞争。
# 举例一个Python的的项目经验面试题

# 谈一谈你最近参与的一个Python项目

# 我最近参与了一个图像处理的项目,我们需要对一批近万张图片进行二值化处理,并将处理后的图片转换为CSV格式的数据保存。我们使用了Python的Pillow库进行图像处理,使用了Python的CSV库进行数据保存。我主要负责了数据预处理和后续数据清洗和优化工作,通过多项技术手段和算法,最终实现了高质量的数据处理和分析。项目结束后,我们为客户提供了详细的数据处理和分析报告,得到了客户的高度评价和认可。
技能测试

技能测试是Cognizant GenC最后一个环节,是评估应聘者综合技能的关键环节。在这个环节中,应聘者需要实际操作计算机、运用编程语言进行编程和问题解决等测试,以展现其在相关领域的综合实力。测试通常有多项选择,应聘者可以根据自己的兴趣和实际情况选择适合自己的测试。

以下是技能测试部分的示例代码片段。

# 举例一个Python的技能测试题

# 在Python中实现一个基于TCP的Socket通信程序,实现客户端和服务器之间的相互连接和信息发送和接收。

# 以下是客户端代码示例

import socket

HOST, PORT = 'localhost', 9999

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    s.sendall(b'Hello, world')
    data = s.recv(1024)

print('Received', repr(data))
# 以下是服务端代码示例

import socket

HOST, PORT = 'localhost', 9999

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    conn, addr = s.accept()
    with conn:
        print('Connected by', addr)
        while True:
            data = conn.recv(1024)
            if not data:
                break
            conn.sendall(data)
结束语

以上是我的Cognizant GenC面试经验分享,希望能对各位应聘者有所帮助。我认为,通过良好的准备和实践,每位应聘者都可以在Cognizant GenC中展示自己的优势和潜力,赢得自己心仪的职位。祝大家好运!