<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Govt Job Exams</title>
	<atom:link href="https://govtjobexams.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://govtjobexams.com</link>
	<description>পশ্চিমবঙ্গ ও সর্বভারতীয় সরকারি চাকরির খবর এবং সরকারি প্রকল্পের আপডেট পেতে সবচেয়ে নির্ভরযোগ্য পোর্টাল GovtJobExams.com।  All WB Govt Job Exam, WB Police, SSC, PSC, Railway, Bank, UPSC, Group-C, Group-D সহ সকল নিয়োগের বিজ্ঞপ্তি, Admit Card, Answer Key, Result, Cut-Off, Exam Date ও Syllabus-এর দ্রুত আপডেটের পাশাপাশি অন্নপূর্ণা ভান্ডার, যুবশক্তি সহ সকল সরকারি প্রকল্পের তথ্য পাবেন এখানে।</description>
	<lastBuildDate>Sun, 05 Jul 2026 14:17:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://govtjobexams.com/wp-content/uploads/2026/06/cropped-ChatGPT-Image-May-14-2026-08_04_15-PM-1-32x32.png</url>
	<title>Govt Job Exams</title>
	<link>https://govtjobexams.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Free Science Mock Test 2026 &#124; General Science MCQ Quiz for Govt Exams</title>
		<link>https://govtjobexams.com/free-science-mock-test/</link>
					<comments>https://govtjobexams.com/free-science-mock-test/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Sun, 05 Jul 2026 11:23:09 +0000</pubDate>
				<category><![CDATA[Free Mock Test]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=590</guid>

					<description><![CDATA[আমাদের এক্সপার্ট দ্বারা বাছাই করা, রেল, পুলিশ, গ্রাম পঞ্চায়েত, এসএসসি, PSC তে আসা প্রশ্ন গুলি দিয়ে একটি&#160; মক টেস্ট দেওয়া হলো , খুব শীঘ্রই আরো খুব গুরুত্বপূর্ণ প্রশ্ন দিয়ে মকটেস্ট এর আয়োজন হবে। এরকম ফ্রি তে মকটেস্ট দিতে, চাকুরীর খবর পেতে আমাদের হোয়াটস্যাপ এবং টেলিগ্রাম চ্যানেল ফলো করুন,&#160;আমাদের এই ওয়েবসাইট পেজে বিভিন্ন সরকারি চাকরির খবর, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">আমাদের এক্সপার্ট দ্বারা বাছাই করা, রেল, পুলিশ, গ্রাম পঞ্চায়েত, এসএসসি, PSC তে আসা প্রশ্ন গুলি দিয়ে একটি&nbsp; মক টেস্ট দেওয়া হলো , খুব শীঘ্রই আরো খুব গুরুত্বপূর্ণ প্রশ্ন দিয়ে মকটেস্ট এর আয়োজন হবে। এরকম ফ্রি তে মকটেস্ট দিতে, চাকুরীর খবর পেতে আমাদের হোয়াটস্যাপ এবং টেলিগ্রাম চ্যানেল ফলো করুন,&nbsp;আমাদের এই ওয়েবসাইট পেজে বিভিন্ন সরকারি চাকরির খবর, সরকারি প্রকল্প এমনকি চাকরির পরীক্ষা সংক্রান্ত এডমিট কার্ড, পরীক্ষার তারিখ , পরীক্ষার সিলেবাস, পরীক্ষার আনসার কি, পরীক্ষার রেজাল্ট সব তথ্য পাওয়ার পাশাপাশি পরীক্ষায় আসার মতো বিভিন্ন টপিকের উপর MCQ টেস্ট দিতে পারবেন। ভালো লাগলে অবশ্যই বন্ধুদের শেয়ার করে দিবেন।</p>



<p class="wp-block-paragraph">&nbsp;আপনার সাফল্য কামনা করি&nbsp;😍</p>


    <div id="gje_mock_119498_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/General-Science@main/LifeScienceMock1.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>জীবন বিজ্ঞানের গুরুত্বপূর্ণ প্রশ্ন - মক টেস্ট নং ০১</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>জীবন বিজ্ঞানের গুরুত্বপূর্ণ প্রশ্ন - মক টেস্ট নং ০১</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_119498_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_119498_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_765334_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/General-Science@main/LifeScienceMock2.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>জীবন বিজ্ঞানের গুরুত্বপূর্ণ প্রশ্ন - মক টেস্ট নং ০2</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>জীবন বিজ্ঞানের গুরুত্বপূর্ণ প্রশ্ন - মক টেস্ট নং ০2</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_765334_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_765334_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    
]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/free-science-mock-test/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Free Indian Constitution Mock Test – Online Indian Constitution MCQ in Bengali</title>
		<link>https://govtjobexams.com/free-indian-constitution-mock-test/</link>
					<comments>https://govtjobexams.com/free-indian-constitution-mock-test/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Sun, 05 Jul 2026 10:31:07 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=579</guid>

					<description><![CDATA[ভারতীয় সংবিধান (Indian Constitution) থেকে গুরুত্বপূর্ণ প্রশ্ন প্রায় সব ধরনের সরকারি চাকরির পরীক্ষায় যেমন WB Police, Kolkata Police, RRB Group D, RRB NTPC, SSC, WBCS, WBPSC, ICDS, Gram Panchayat এবং অন্যান্য প্রতিযোগিতামূলক পরীক্ষায় নিয়মিত আসে। তাই পরীক্ষার প্রস্তুতিকে আরও শক্তিশালী করতে এখানে ভারতীয় সংবিধানের গুরুত্বপূর্ণ ২৫টি MCQ নিয়ে একটি ফ্রি অনলাইন মক টেস্ট দেওয়া হয়েছে। [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ভারতীয় সংবিধান (Indian Constitution) থেকে গুরুত্বপূর্ণ প্রশ্ন প্রায় সব ধরনের সরকারি চাকরির পরীক্ষায় যেমন <strong>WB Police, Kolkata Police, RRB Group D, RRB NTPC, SSC, WBCS, WBPSC, ICDS, Gram Panchayat</strong> এবং অন্যান্য প্রতিযোগিতামূলক পরীক্ষায় নিয়মিত আসে। তাই পরীক্ষার প্রস্তুতিকে আরও শক্তিশালী করতে এখানে <strong>ভারতীয় সংবিধানের গুরুত্বপূর্ণ ২৫টি MCQ</strong> নিয়ে একটি <strong>ফ্রি অনলাইন মক টেস্ট</strong> দেওয়া হয়েছে।</p>



<p class="wp-block-paragraph">প্রতিটি প্রশ্ন সর্বশেষ পরীক্ষার ধরণ অনুযায়ী তৈরি করা হয়েছে। মক টেস্টটি সম্পূর্ণ করার পর আপনি নিজের <strong>স্কোর, সঠিক ও ভুল উত্তরের বিশ্লেষণ</strong> দেখতে পারবেন। নিয়মিত এই ধরনের মক টেস্ট অনুশীলন করলে পরীক্ষায় ভালো নম্বর পাওয়ার সম্ভাবনা অনেকটাই বেড়ে যাবে।</p>


    <div id="gje_mock_557374_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions/MockIC1.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 1</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 1</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_557374_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_557374_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_645704_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions/ICMock2.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 2</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 2</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_645704_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_645704_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_798650_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions/ICMock3.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 3</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 3</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_798650_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_798650_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_734305_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions/ICMock4.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 4</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 4</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_734305_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_734305_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_334284_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions/ICMock5.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 5</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 5</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_334284_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_334284_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_93179_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions/ICMock6.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 6</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 6</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_93179_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_93179_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_840217_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions/ICMock7.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 7</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 7</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_840217_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_840217_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_204980_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/mock-test-constitutions@main/ICMockr8.js?ver=8"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতীয় সংবিধান Mock Test 8</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতীয় সংবিধান Mock Test 8</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_204980_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_204980_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    
]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/free-indian-constitution-mock-test/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RRB Group D CBT Admit Card 2026 (CEN 09/2025) Download Link, Exam Date, City Intimation &#038; Hall Ticket</title>
		<link>https://govtjobexams.com/rrb-group-d-cbt-admit-card-2026/</link>
					<comments>https://govtjobexams.com/rrb-group-d-cbt-admit-card-2026/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Sat, 04 Jul 2026 12:30:41 +0000</pubDate>
				<category><![CDATA[Admit Card]]></category>
		<category><![CDATA[RRB Admit Card]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=552</guid>

					<description><![CDATA[RRB Group D CBT Admit Card 2026: Railway Recruitment Board (RRB) খুব শীঘ্রই CEN 09/2025-এর অধীনে Group D (Level-1) CBT পরীক্ষার Admit Card প্রকাশ করবে। CBT পরীক্ষার সম্ভাব্য সময়সূচি অনুযায়ী পরীক্ষা আগস্ট ২০২৬-এ অনুষ্ঠিত হতে পারে। পরীক্ষার্থীরা তাদের Registration Number এবং Date of Birth/Password ব্যবহার করে অফিসিয়াল RRB Regional Website থেকে Hall Ticket ডাউনলোড করতে [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>RRB Group D CBT Admit Card 2026:</strong> Railway Recruitment Board (RRB) খুব শীঘ্রই <strong>CEN 09/2025</strong>-এর অধীনে Group D (Level-1) CBT পরীক্ষার Admit Card প্রকাশ করবে। CBT পরীক্ষার সম্ভাব্য সময়সূচি অনুযায়ী পরীক্ষা <strong>আগস্ট ২০২৬</strong>-এ অনুষ্ঠিত হতে পারে। পরীক্ষার্থীরা তাদের <strong>Registration Number</strong> এবং <strong>Date of Birth/Password</strong> ব্যবহার করে অফিসিয়াল RRB Regional Website থেকে Hall Ticket ডাউনলোড করতে পারবেন। সাম্প্রতিক RRB নোটিশ অনুযায়ী CBT-এর সম্ভাব্য সময়সূচি প্রকাশ করা হয়েছে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Admit Card 2026 Highlights</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Particular</th><th>Details</th></tr></thead><tbody><tr><td>Recruitment Board</td><td>Railway Recruitment Board (RRB)</td></tr><tr><td>Advertisement No.</td><td>CEN 09/2025</td></tr><tr><td>Post Name</td><td>Group D (Level-1 Posts)</td></tr><tr><td>Total Vacancy</td><td>22,195</td></tr><tr><td>Exam Mode</td><td>Computer Based Test (CBT)</td></tr><tr><td>CBT Exam Date</td><td>Tentatively August 2026</td></tr><tr><td>City Intimation Slip</td><td>Exam-এর প্রায় 10 দিন আগে</td></tr><tr><td>Admit Card Release</td><td>Exam-এর প্রায় 4 দিন আগে</td></tr><tr><td>Official Website</td><td><a href="https://rrbapply.gov.in" target="_blank" rel="noopener"><strong>rrbapply.gov.in</strong></a> / <a href="https://rrb.indianrailways.gov.in/" target="_blank" rel="noopener"><strong>https://rrb.indianrailways.gov.in/</strong></a></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D CBT Admit Card 2026 Release Date</h2>



<p class="wp-block-paragraph">RRB-এর নির্দেশিকা অনুযায়ী প্রথমে <strong>Exam City Intimation Slip</strong> প্রকাশ করা হবে। এরপর পরীক্ষার প্রায় <strong>৪ দিন আগে</strong> CBT Admit Card ডাউনলোডের লিংক চালু হবে। Hall Ticket-এ পরীক্ষার তারিখ, সময়, রিপোর্টিং টাইম, Exam Centre এবং গুরুত্বপূর্ণ নির্দেশিকা উল্লেখ থাকবে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Exam City Intimation Slip 2026</h2>



<p class="wp-block-paragraph">Admit Card প্রকাশের আগে RRB City Intimation Slip প্রকাশ করবে। এতে থাকবে—</p>



<ul class="wp-block-list">
<li>পরীক্ষার তারিখ</li>



<li>Exam City</li>



<li>Shift Details</li>



<li>SC/ST প্রার্থীদের জন্য Travel Authority (যেখানে প্রযোজ্য)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">How to Download RRB Group D Admit Card 2026?</h2>



<p class="wp-block-paragraph">নিচের ধাপগুলো অনুসরণ করে সহজেই Admit Card ডাউনলোড করতে পারবেন—</p>



<ol class="wp-block-list">
<li>অফিসিয়াল RRB Website-এ প্রবেশ করুন।</li>



<li><strong>RRB Group D CEN 09/2025 Admit Card</strong> লিংকে ক্লিক করুন।</li>



<li>Registration Number লিখুন।</li>



<li>Password অথবা Date of Birth দিন।</li>



<li>Captcha পূরণ করুন।</li>



<li>Login করুন।</li>



<li>Admit Card Download করে Print Out নিয়ে রাখুন।</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Details Mentioned on Admit Card</h2>



<p class="wp-block-paragraph">Admit Card-এ সাধারণত নিচের তথ্যগুলি থাকবে—</p>



<ul class="wp-block-list">
<li>Candidate Name</li>



<li>Registration Number</li>



<li>Roll Number</li>



<li>Photograph</li>



<li>Signature</li>



<li>Exam Date</li>



<li>Exam Time</li>



<li>Reporting Time</li>



<li>Shift</li>



<li>Exam Centre Name</li>



<li>Centre Address</li>



<li>Exam Instructions</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Documents Required at Exam Centre</h2>



<p class="wp-block-paragraph">পরীক্ষার দিনে অবশ্যই সঙ্গে রাখবেন—</p>



<ul class="wp-block-list">
<li>Printed Admit Card</li>



<li>Original Aadhaar Card / Voter ID / PAN Card / Passport / Driving Licence</li>



<li>Passport Size Photograph (যদি নির্দেশ থাকে)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Important Instructions</h2>



<ul class="wp-block-list">
<li>রিপোর্টিং টাইমের আগে Exam Centre-এ পৌঁছান।</li>



<li>Admit Card ছাড়া পরীক্ষায় অংশগ্রহণ করা যাবে না।</li>



<li>Electronic Gadgets সম্পূর্ণ নিষিদ্ধ।</li>



<li>Mobile Phone, Smart Watch, Bluetooth Device নিয়ে প্রবেশ করা যাবে না।</li>



<li>পরীক্ষার সমস্ত নির্দেশিকা ভালোভাবে পড়ে নিন।</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Syllabus </h2>



<ul class="wp-block-list">
<li><a href="https://govtjobexams.com/rrb-group-d-syllabus/"><strong>RRB Group D CBT সিলেবাস ২০২৬ বিস্তারিত ও চ্যাপ্টার ভিত্তিক নম্বর বিভাজন জানুন</strong></a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Selection Process</h2>



<p class="wp-block-paragraph">RRB Group D নিয়োগের ধাপগুলি হলো—</p>



<ul class="wp-block-list">
<li>Computer Based Test (CBT)</li>



<li>Physical Efficiency Test (PET)</li>



<li>Document Verification (DV)</li>



<li>Medical Examination</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Important Links</h2>



<p class="wp-block-paragraph"><strong>Admit Card:</strong> Update Soon</p>



<p class="wp-block-paragraph"><strong>Exam City Slip:</strong> Update Soon</p>



<p class="wp-block-paragraph"><strong>Official Website:</strong> <a href="https://rrbapply.gov.in/" target="_blank" rel="noopener">https://rrbapply.gov.in</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">যেসব প্রার্থী <strong>RRB Group D Recruitment 2026 (CEN 09/2025)</strong>-এর জন্য আবেদন করেছেন, তারা নিয়মিত অফিসিয়াল RRB Website এবং <strong><a href="http://www.govtjobexams.com/">www.govtjobexams.com</a></strong> ভিজিট করুন। Admit Card, Exam City Slip, Exam Date এবং Direct Download Link প্রকাশ হওয়ার সঙ্গে সঙ্গে এই পোস্টটি আপডেট করা হবে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/rrb-group-d-cbt-admit-card-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Latest All WB Govt Job Exams 2026: Complete West Bengal Recruitment Updates</title>
		<link>https://govtjobexams.com/all-wb-govt-job-exams/</link>
					<comments>https://govtjobexams.com/all-wb-govt-job-exams/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Sat, 04 Jul 2026 03:35:36 +0000</pubDate>
				<category><![CDATA[West Bengal Jobs]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=546</guid>

					<description><![CDATA[All WB Govt Job Exams 2026 পেজে পশ্চিমবঙ্গের সমস্ত সরকারি চাকরির সর্বশেষ তথ্য একসঙ্গে পাবেন। এখানে নিয়মিত আপডেট করা হয় WB Government Jobs, WBPSC Recruitment, WB Police Recruitment, WB ICDS Recruitment, WB Health Recruitment, WBSSC, Gram Panchayat Recruitment, Municipality Jobs, High Court Jobs, School &#38; College Recruitment, Admit Card, Exam Date, Result, Answer Key, Syllabus, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>All WB Govt Job Exams 2026</strong> পেজে পশ্চিমবঙ্গের সমস্ত সরকারি চাকরির সর্বশেষ তথ্য একসঙ্গে পাবেন। এখানে নিয়মিত আপডেট করা হয় <strong>WB Government Jobs</strong>, <strong>WBPSC Recruitment</strong>, <strong>WB Police Recruitment</strong>, <strong>WB ICDS Recruitment</strong>, <strong>WB Health Recruitment</strong>, <strong>WBSSC</strong>, <strong>Gram Panchayat Recruitment</strong>, <strong>Municipality Jobs</strong>, <strong>High Court Jobs</strong>, <strong>School &amp; College Recruitment</strong>, <strong>Admit Card</strong>, <strong>Exam Date</strong>, <strong>Result</strong>, <strong>Answer Key</strong>, <strong>Syllabus</strong>, <strong>Merit List</strong> এবং অন্যান্য গুরুত্বপূর্ণ সরকারি চাকরির খবর।</p>



<p class="wp-block-paragraph">যদি আপনি পশ্চিমবঙ্গে সরকারি চাকরির প্রস্তুতি নিয়ে থাকেন, তাহলে এই পেজটি নিয়মিত ভিজিট করুন। আমরা শুধুমাত্র অফিসিয়াল নোটিফিকেশনের ভিত্তিতে প্রতিটি চাকরির আবেদন শুরুর তারিখ, শেষ তারিখ, শিক্ষাগত যোগ্যতা, বয়সসীমা, বেতন, নির্বাচন প্রক্রিয়া এবং আবেদন করার সরাসরি লিংক নিয়মিত আপডেট করে থাকি। তাই <strong>All WB Govt Job Exams 2026</strong> সম্পর্কিত প্রতিটি গুরুত্বপূর্ণ আপডেট সবার আগে পেতে এই পেজটি বুকমার্ক করে রাখুন।</p>



<div class="gje-section">
  <div class="gje-title">Ongoing West Bengal Jobs</div>

  <div class="gje-note">
    যেসব পশ্চিমবঙ্গ সরকারি চাকরির আবেদন বর্তমানে চলছে, সেগুলোর লিংক নিচে দেওয়া হবে।
  </div>



<div class="gje-section upcoming">
  <div class="gje-title">Upcoming West Bengal Jobs</div>

  <div class="gje-note">
    যেসব পশ্চিমবঙ্গ সরকারি চাকরির বিজ্ঞপ্তি খুব শীঘ্রই প্রকাশিত হতে পারে, সেগুলোর সম্ভাব্য তথ্য এখানে দেওয়া হবে।
  </div>

  <div class="gje-row">
    <strong>WB Gram Panchayat Recruitment 2026</strong>
    <a href="https://govtjobexams.com/wb-gram-panchayat-recruitment-2026/">বিস্তারিত দেখুন</a>
  </div>

  <div class="gje-row">
    <strong>WBPSC Clerkship Recruitment 2026</strong>
    <a href="https://govtjobexams.com/wbpsc-clerkship-recruitment-2026/">বিস্তারিত দেখুন</a>
  </div>

  <div class="gje-row">
    <strong>Kolkata Police Constable Recruitment 2026</strong>
    <a href="https://govtjobexams.com/kolkata-police-recruitment-2026/">বিস্তারিত দেখুন</a>
  </div>

  <div class="gje-row">
    <strong>WB ICDS Worker Recruitment 2026</strong>
    <a href="https://govtjobexams.com/wb-icds-recruitment-2026/">বিস্তারিত দেখুন</a>
  </div>
</div>



<div class="gje-connect">
  <h3>Stay Connected With Us</h3>

  <div class="gje-buttons">

    <a class="gje-btn whatsapp" href="https://whatsapp.com/channel/0029VbCc8j9CcW4yfiOHzB1y" target="_blank" rel="noopener">
       Join WhatsApp Channel
    </a>

    <a class="gje-btn telegram" href="https://t.me/GovtJobexams544" target="_blank">
       Join Telegram Channel
    </a>

    <a class="gje-btn website" href="https://www.govtjobexams.com" target="_blank">
       Visit Website
    </a>

  </div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/all-wb-govt-job-exams/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RRB Group D CBT Syllabus 2026: সম্পূর্ণ সিলেবাস, Exam Pattern ও Selection Process</title>
		<link>https://govtjobexams.com/rrb-group-d-syllabus/</link>
					<comments>https://govtjobexams.com/rrb-group-d-syllabus/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Fri, 03 Jul 2026 14:36:31 +0000</pubDate>
				<category><![CDATA[Syllabus]]></category>
		<category><![CDATA[RRB Syllabus]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=534</guid>

					<description><![CDATA[রেলওয়ে রিক্রুটমেন্ট বোর্ড (RRB) Group D (Level-1) নিয়োগ পরীক্ষার প্রস্তুতি নেওয়া প্রার্থীদের জন্য RRB Group D CBT Syllabus 2026 সম্পর্কে সম্পূর্ণ ধারণা থাকা অত্যন্ত গুরুত্বপূর্ণ। CBT পরীক্ষায় মূলত Mathematics, General Intelligence &#38; Reasoning, General Science এবং General Awareness &#38; Current Affairs থেকে প্রশ্ন করা হয়। এই পোস্টে RRB Group D-এর Exam Pattern, Selection Process, Subject-wise [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">রেলওয়ে রিক্রুটমেন্ট বোর্ড (RRB) <strong>Group D (Level-1)</strong> নিয়োগ পরীক্ষার প্রস্তুতি নেওয়া প্রার্থীদের জন্য <strong>RRB Group D CBT Syllabus 2026</strong> সম্পর্কে সম্পূর্ণ ধারণা থাকা অত্যন্ত গুরুত্বপূর্ণ। CBT পরীক্ষায় মূলত <strong>Mathematics, General Intelligence &amp; Reasoning, General Science এবং General Awareness &amp; Current Affairs</strong> থেকে প্রশ্ন করা হয়।</p>



<p class="wp-block-paragraph">এই পোস্টে RRB Group D-এর <strong>Exam Pattern, Selection Process, Subject-wise Syllabus, Negative Marking এবং Preparation Tips</strong> বিস্তারিতভাবে আলোচনা করা হয়েছে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Selection Process 2026</h2>



<p class="wp-block-paragraph">RRB Group D নিয়োগে সাধারণত নিচের ধাপগুলি অনুসরণ করা হয়—</p>



<h3 class="wp-block-heading">1. Computer Based Test (CBT)</h3>



<ul class="wp-block-list">
<li>Objective Type Questions</li>



<li>Online Mode</li>
</ul>



<h3 class="wp-block-heading">2. Physical Efficiency Test (PET)</h3>



<p class="wp-block-paragraph">CBT-তে উত্তীর্ণ প্রার্থীদের PET-এর জন্য ডাকা হবে।</p>



<h3 class="wp-block-heading">3. Document Verification (DV)</h3>



<p class="wp-block-paragraph">যোগ্য প্রার্থীদের আসল নথিপত্র যাচাই করা হবে।</p>



<h3 class="wp-block-heading">4. Medical Examination</h3>



<p class="wp-block-paragraph">Railway Medical Standard অনুযায়ী মেডিক্যাল পরীক্ষা হবে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D CBT Exam Pattern 2026</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>বিষয়</th><th>প্রশ্ন</th><th>নম্বর</th></tr></thead><tbody><tr><td>Mathematics</td><td>25</td><td>25</td></tr><tr><td>General Intelligence &amp; Reasoning</td><td>30</td><td>30</td></tr><tr><td>General Science</td><td>25</td><td>25</td></tr><tr><td>General Awareness &amp; Current Affairs</td><td>20</td><td>20</td></tr><tr><td><strong>মোট</strong></td><td><strong>100</strong></td><td><strong>100</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">পরীক্ষার সময়</h3>



<p class="wp-block-paragraph"><strong>90 মিনিট</strong></p>



<p class="wp-block-paragraph">PwBD প্রার্থীদের জন্য অতিরিক্ত সময় প্রদান করা হবে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Negative Marking</h2>



<ul class="wp-block-list">
<li>প্রতি সঠিক উত্তরের জন্য <strong>১ নম্বর</strong></li>



<li>প্রতিটি ভুল উত্তরের জন্য <strong>১/৩ নম্বর কাটা হবে</strong></li>



<li>উত্তর না দিলে কোনো নম্বর কাটা হবে না।</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Mathematics Syllabus 2026</h2>



<p class="wp-block-paragraph">Mathematics অংশে সাধারণত নিম্নলিখিত বিষয়গুলি থেকে প্রশ্ন আসে—</p>



<ul class="wp-block-list">
<li>Number System</li>



<li>BODMAS</li>



<li>Decimals</li>



<li>Fractions</li>



<li>LCM &amp; HCF</li>



<li>Ratio &amp; Proportion</li>



<li>Percentage</li>



<li>Profit &amp; Loss</li>



<li>Simple Interest</li>



<li>Compound Interest</li>



<li>Discount</li>



<li>Average</li>



<li>Time &amp; Work</li>



<li>Pipes &amp; Cistern</li>



<li>Time, Speed &amp; Distance</li>



<li>Boats &amp; Streams</li>



<li>Algebra</li>



<li>Geometry</li>



<li>Mensuration</li>



<li>Trigonometry</li>



<li>Elementary Statistics</li>



<li>Square Root</li>



<li>Cube Root</li>



<li>Simplification</li>



<li>Age Problems</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">General Intelligence &amp; Reasoning Syllabus</h2>



<p class="wp-block-paragraph">Reasoning অংশে নিম্নলিখিত টপিকগুলি গুরুত্বপূর্ণ—</p>



<ul class="wp-block-list">
<li>Analogies</li>



<li>Coding-Decoding</li>



<li>Blood Relation</li>



<li>Direction Sense</li>



<li>Alphabet Series</li>



<li>Number Series</li>



<li>Puzzle</li>



<li>Seating Arrangement</li>



<li>Syllogism</li>



<li>Statement &amp; Conclusion</li>



<li>Venn Diagram</li>



<li>Calendar</li>



<li>Clock</li>



<li>Mirror Image</li>



<li>Paper Folding</li>



<li>Figure Completion</li>



<li>Classification</li>



<li>Mathematical Operations</li>



<li>Decision Making</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">General Science Syllabus</h2>



<p class="wp-block-paragraph">General Science প্রশ্নগুলি মূলত <strong>NCERT Class 10 Level</strong> থেকে করা হয়।</p>



<h3 class="wp-block-heading">Physics</h3>



<ul class="wp-block-list">
<li>Motion</li>



<li>Force</li>



<li>Work &amp; Energy</li>



<li>Heat</li>



<li>Light</li>



<li>Sound</li>



<li>Electricity</li>



<li>Magnetism</li>
</ul>



<h3 class="wp-block-heading">Chemistry</h3>



<ul class="wp-block-list">
<li>Acid, Base &amp; Salt</li>



<li>Metals &amp; Non-metals</li>



<li>Chemical Reactions</li>



<li>Periodic Table</li>



<li>Carbon Compounds</li>
</ul>



<h3 class="wp-block-heading">Biology</h3>



<ul class="wp-block-list">
<li>Cell</li>



<li>Human Body</li>



<li>Nutrition</li>



<li>Diseases</li>



<li>Plant Kingdom</li>



<li>Animal Kingdom</li>



<li>Reproduction</li>



<li>Ecology</li>



<li>Genetics</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">General Awareness &amp; Current Affairs Syllabus</h2>



<p class="wp-block-paragraph">এই অংশে প্রশ্ন আসে—</p>



<ul class="wp-block-list">
<li>Current Affairs</li>



<li>Indian Railways</li>



<li>Indian Economy</li>



<li>Indian Constitution</li>



<li>History</li>



<li>Geography</li>



<li>Polity</li>



<li>Culture</li>



<li>Awards</li>



<li>Books &amp; Authors</li>



<li>Sports</li>



<li>Science &amp; Technology</li>



<li>Environment</li>



<li>Government Schemes</li>



<li>Important Days</li>



<li>National &amp; International Events</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Physical Efficiency Test (PET)</h2>



<h3 class="wp-block-heading">Male Candidates</h3>



<ul class="wp-block-list">
<li><strong>35 কেজি ওজন</strong> তুলে <strong>100 মিটার</strong> বহন করতে হবে (২ মিনিটের মধ্যে)</li>



<li><strong>1000 মিটার দৌড়</strong> ৪ মিনিট ১৫ সেকেন্ডের মধ্যে</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Female Candidates</h3>



<ul class="wp-block-list">
<li><strong>20 কেজি ওজন</strong> তুলে <strong>100 মিটার</strong> বহন করতে হবে (২ মিনিটের মধ্যে)</li>



<li><strong>1000 মিটার দৌড়</strong> ৫ মিনিট ৪০ সেকেন্ডের মধ্যে</li>



<li></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/rrb-group-d-syllabus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RRB Group D Exam Date 2026 Out: CEN 09/2025 CBT Exam Schedule Released, Check City Intimation &#038; Admit Card Date</title>
		<link>https://govtjobexams.com/rrb-group-d-exam-2026/</link>
					<comments>https://govtjobexams.com/rrb-group-d-exam-2026/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Fri, 03 Jul 2026 13:45:54 +0000</pubDate>
				<category><![CDATA[Exam Date]]></category>
		<category><![CDATA[RRB Exams Date]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=526</guid>

					<description><![CDATA[রেলওয়ে চাকরিপ্রার্থীদের জন্য বড় আপডেট। Railway Recruitment Boards (RRBs) CEN 09/2025 (Level-1 / Group D) পরীক্ষার Computer Based Test (CBT)-এর সম্ভাব্য পরীক্ষার সূচি প্রকাশ করেছে। সরকারি বিজ্ঞপ্তি অনুযায়ী, RRB Group D CBT Exam 2026 অনুষ্ঠিত হবে 03 আগস্ট 2026 থেকে 21 আগস্ট 2026 পর্যন্ত। যারা এই নিয়োগে আবেদন করেছেন, তারা এখন থেকেই পরীক্ষার প্রস্তুতি আরও [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">রেলওয়ে চাকরিপ্রার্থীদের জন্য বড় আপডেট। Railway Recruitment Boards (RRBs) <strong>CEN 09/2025 (Level-1 / Group D)</strong> পরীক্ষার <strong>Computer Based Test (CBT)</strong>-এর সম্ভাব্য পরীক্ষার সূচি প্রকাশ করেছে।</p>



<p class="wp-block-paragraph">সরকারি বিজ্ঞপ্তি অনুযায়ী, <strong>RRB Group D CBT Exam 2026</strong> অনুষ্ঠিত হবে <strong>03 আগস্ট 2026 থেকে 21 আগস্ট 2026</strong> পর্যন্ত। যারা এই নিয়োগে আবেদন করেছেন, তারা এখন থেকেই পরীক্ষার প্রস্তুতি আরও জোরদার করতে পারেন।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Exam Date 2026 Overview</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Particular</th><th>Details</th></tr></thead><tbody><tr><td>Recruitment Board</td><td>Railway Recruitment Boards (RRBs)</td></tr><tr><td>Post Name</td><td>Level-1 (Group D) Posts</td></tr><tr><td>CEN No.</td><td>09/2025</td></tr><tr><td>Exam Mode</td><td>Computer Based Test (CBT)</td></tr><tr><td>Exam Date</td><td><strong>03 August 2026 to 21 August 2026</strong></td></tr><tr><td>Exam City Slip</td><td>পরীক্ষার প্রায় 10 দিন আগে</td></tr><tr><td>Admit Card</td><td>পরীক্ষার প্রায় 4 দিন আগে</td></tr><tr><td>Official Website</td><td><a href="https://rrb.indianrailways.gov.in/" target="_blank" rel="noopener"><strong>https://rrb.indianrailways.gov.in/</strong></a></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D CBT Exam Date 2026</h2>



<p class="wp-block-paragraph">RRB-এর প্রকাশিত নোটিশ অনুযায়ী <strong>CEN 09/2025 Group D CBT Exam</strong> <strong>03 আগস্ট 2026 থেকে 21 আগস্ট 2026</strong> পর্যন্ত বিভিন্ন শিফটে অনুষ্ঠিত হবে।</p>



<p class="wp-block-paragraph">প্রার্থীদের নিজ নিজ পরীক্ষার তারিখ, সময় ও কেন্দ্রের তথ্য <strong>Exam City Intimation Slip</strong>-এ উল্লেখ থাকবে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Exam City Intimation Slip 2026</h2>



<p class="wp-block-paragraph">RRB জানিয়েছে যে,</p>



<ul class="wp-block-list">
<li><strong>Exam City Intimation Slip</strong> পরীক্ষার প্রায় <strong>10 দিন আগে</strong> প্রকাশ করা হবে।</li>



<li>একই সঙ্গে SC/ST প্রার্থীদের <strong>Travel Authority</strong>-ও উপলব্ধ হবে।</li>



<li>City Slip-এ পরীক্ষার শহর, তারিখ ও শিফটের তথ্য থাকবে।</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">RRB Group D Admit Card 2026</h2>



<p class="wp-block-paragraph">RRB Group D Admit Card (E-Call Letter) পরীক্ষার প্রায় <strong>4 দিন আগে</strong> ডাউনলোড করা যাবে।</p>



<p class="wp-block-paragraph">Admit Card ডাউনলোড করার জন্য প্রয়োজন হবে—</p>



<ul class="wp-block-list">
<li>Registration Number</li>



<li>Date of Birth / Password</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Aadhaar Verification Mandatory</h2>



<p class="wp-block-paragraph">RRB-এর বিজ্ঞপ্তি অনুযায়ী পরীক্ষাকেন্দ্রে প্রবেশের আগে <strong>Aadhaar Linked Biometric Authentication</strong> করা হবে।</p>



<p class="wp-block-paragraph">প্রার্থীদের সঙ্গে অবশ্যই রাখতে হবে—</p>



<ul class="wp-block-list">
<li>Original Aadhaar Card অথবা</li>



<li>e-Verified Aadhaar-এর প্রিন্ট কপি</li>
</ul>



<p class="wp-block-paragraph">যারা এখনও Aadhaar Authentication সম্পূর্ণ করেননি, তাদের আগে থেকেই ভেরিফিকেশন সম্পন্ন করার পরামর্শ দেওয়া হয়েছে।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Important Instructions</h2>



<ul class="wp-block-list">
<li>শুধুমাত্র অফিসিয়াল RRB Website-এর তথ্য অনুসরণ করুন।</li>



<li>ভুয়া খবর বা সোশ্যাল মিডিয়ার গুজবে বিশ্বাস করবেন না।</li>



<li>পরীক্ষার দিন Aadhaar Unlock অবস্থায় রাখুন।</li>



<li>সময়মতো পরীক্ষাকেন্দ্রে উপস্থিত হন।</li>



<li>Admit Card ও বৈধ Photo ID সঙ্গে রাখুন।</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Important Dates</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Event</th><th>Date</th></tr></thead><tbody><tr><td>CBT Exam</td><td><strong>03 August – 21 August 2026</strong></td></tr><tr><td>Exam City Slip</td><td>Exam-এর প্রায় 10 দিন আগে</td></tr><tr><td>Admit Card</td><td>Exam-এর প্রায় 4 দিন আগে</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Important Links</h2>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Description</th><th>Link</th></tr></thead><tbody><tr><td>Official Website</td><td><a href="https://rrb.indianrailways.gov.in/" target="_blank" rel="noopener"><strong>https://rrb.indianrailways.gov.in/</strong></a></td></tr><tr><td>RRB Group D Exam Date Notice</td><td><a href="https://govtjobexams.com/wp-content/uploads/2026/07/RRB-GROUP-D-EXAM-DATE-CEN-09-2025.pdf"><strong>Download pdf</strong></a></td></tr><tr><td>RRB Group D CBE Syllabus 2026</td><td><a href="https://govtjobexams.com/rrb-group-d-syllabus/"><strong>Download pdf </strong></a></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>






<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/rrb-group-d-exam-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RRB Group D Physical Test Details 2026: PET Running, Weight Lifting, Height, Medical Test</title>
		<link>https://govtjobexams.com/rrb-group-d-physical-test-details-2026/</link>
					<comments>https://govtjobexams.com/rrb-group-d-physical-test-details-2026/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Fri, 03 Jul 2026 08:28:28 +0000</pubDate>
				<category><![CDATA[Syllabus]]></category>
		<category><![CDATA[RRB Group D]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=501</guid>

					<description><![CDATA[RRB Group D CBT Result প্রকাশের পর এখন নির্বাচিত প্রার্থীদের জন্য সবচেয়ে গুরুত্বপূর্ণ ধাপ হলো Physical Efficiency Test (PET)। CBT-তে উত্তীর্ণ প্রার্থীদেরই PET-এর জন্য ডাকা হবে। PET শুধুমাত্র Qualifying Nature-এর, অর্থাৎ এখানে শুধু Pass করতে হবে, অতিরিক্ত নম্বর যোগ হয় না। আমরা এই পোস্টে RRB Group D Physical Test Details 2026 সম্পূর্ণ বাংলাতে বিস্টারিত ভাবে [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">RRB Group D CBT Result প্রকাশের পর এখন নির্বাচিত প্রার্থীদের জন্য সবচেয়ে গুরুত্বপূর্ণ ধাপ হলো <strong>Physical Efficiency Test (PET)</strong>। CBT-তে উত্তীর্ণ প্রার্থীদেরই PET-এর জন্য ডাকা হবে। PET শুধুমাত্র <strong>Qualifying Nature</strong>-এর, অর্থাৎ এখানে শুধু Pass করতে হবে, অতিরিক্ত নম্বর যোগ হয় না। আমরা এই পোস্টে RRB Group D Physical Test Details 2026 সম্পূর্ণ বাংলাতে বিস্টারিত ভাবে আলোচনা করলাম </p>



<h2 class="wp-block-heading">RRB Group D Selection Process 2026</h2>



<p class="wp-block-paragraph">RRB Group D কয়েকটি ধাপে নিয়োগ প্রক্রিয়া সম্পন্ন করে, তার মধ্যে RRB CBT EXAM হয়ে তার ফলাফল ও প্রকাশিতও হয়েছে, নিম্নলিখিত ধাপে ধাপে নিয়োগ প্রক্রিয়া সম্পন্ন করে &#8211;</p>



<ul class="wp-block-list">
<li>CBT Exam  ✅</li>



<li>Physical Efficiency Test (PET)</li>



<li>Document Verification (DV)</li>



<li>Medical Examination</li>



<li>Final Merit List</li>
</ul>



<h2 class="wp-block-heading">RRB Group D PET 2026 (Male)</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>পরীক্ষা</th><th>মানদণ্ড</th></tr></thead><tbody><tr><td>Weight Lifting</td><td>35 কেজি ওজন 100 মিটার 2 মিনিটের মধ্যে বহন করতে হবে (একবার সুযোগ, মাঝপথে ওজন রাখা যাবে না)</td></tr><tr><td>Running</td><td>1000 মিটার 4 মিনিট 15 সেকেন্ডের মধ্যে সম্পূর্ণ করতে হবে</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">RRB Group D PET 2026 (Female)</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>পরীক্ষা</th><th>মানদণ্ড</th></tr></thead><tbody><tr><td>Weight Lifting</td><td>20 কেজি ওজন 100 মিটার 2 মিনিটের মধ্যে বহন করতে হবে</td></tr><tr><td>Running</td><td>1000 মিটার 5 মিনিট 40 সেকেন্ডের মধ্যে সম্পূর্ণ করতে হবে</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">PET-এ কারা ছাড় পাবেন?</h2>



<p class="wp-block-paragraph">নিচের প্রার্থীদের PET থেকে ছাড় দেওয়া হয়:</p>



<ul class="wp-block-list">
<li>PwBD Candidates</li>



<li>Ex-Servicemen</li>



<li>CCAA (Course Completed Act Apprentices) – প্রযোজ্য নিয়ম অনুযায়ী</li>
</ul>



<h2 class="wp-block-heading">PET-এর পর কী হবে?</h2>



<p class="wp-block-paragraph">PET-এ উত্তীর্ণ হলে প্রার্থীদের:</p>



<ul class="wp-block-list">
<li>Document Verification (DV)</li>



<li>Medical Examination</li>
</ul>



<p class="wp-block-paragraph">এর জন্য ডাকা হবে। এরপর চূড়ান্ত মেধাতালিকা প্রকাশ করা হবে।</p>



<h2 class="wp-block-heading">RRB Group D Medical Test</h2>



<p class="wp-block-paragraph">Medical Test-এ মূলত দেখা হয়:</p>



<ul class="wp-block-list">
<li>চোখের দৃষ্টিশক্তি</li>



<li>শারীরিক সক্ষমতা</li>



<li>সাধারণ স্বাস্থ্য</li>



<li>পোস্ট অনুযায়ী নির্ধারিত Medical Standard (যেমন A-2, B-1, B-2 ইত্যাদি) পূরণ করা হয়েছে কিনা।</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/rrb-group-d-physical-test-details-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WB ICDS Exam Syllabus 2026 : Anganwadi Worker এবং Helper এর সম্পূর্ণ Syllabus</title>
		<link>https://govtjobexams.com/wb-icds-exam-syllabus-2026/</link>
					<comments>https://govtjobexams.com/wb-icds-exam-syllabus-2026/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Thu, 02 Jul 2026 18:53:44 +0000</pubDate>
				<category><![CDATA[Syllabus]]></category>
		<category><![CDATA[WB ICDS Syllabus]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=493</guid>

					<description><![CDATA[WB ICDS (Integrated Child Development Services) Anganwadi Worker ও Helper পরীক্ষার প্রস্তুতি নেওয়ার জন্য সঠিক সিলেবাস জানা অত্যন্ত গুরুত্বপূর্ণ।WB ICDS পরীক্ষায় সাধারণত বাংলা ভাষা, সাধারণ জ্ঞান, অঙ্ক এবং (Worker পদের ক্ষেত্রে) শিশু বিকাশ ও পুষ্টি বিষয় থেকে প্রশ্ন করা হয়। আমরা আজকে WB ICDS Exam Syllabus 2026 বিস্তারিত আলোচনা করলাম। বিভিন্ন জেলার নিয়োগ বিজ্ঞপ্তিতে সামান্য [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">WB ICDS (Integrated Child Development Services) Anganwadi Worker ও Helper পরীক্ষার প্রস্তুতি নেওয়ার জন্য সঠিক সিলেবাস জানা অত্যন্ত গুরুত্বপূর্ণ।WB ICDS পরীক্ষায় সাধারণত বাংলা ভাষা, সাধারণ জ্ঞান, অঙ্ক এবং (Worker পদের ক্ষেত্রে) শিশু বিকাশ ও পুষ্টি বিষয় থেকে প্রশ্ন করা হয়। আমরা আজকে WB ICDS Exam Syllabus 2026 বিস্তারিত আলোচনা করলাম।</p>



<p class="wp-block-paragraph">বিভিন্ন জেলার নিয়োগ বিজ্ঞপ্তিতে সামান্য পরিবর্তন থাকতে পারে, তাই অফিসিয়াল নোটিফিকেশন প্রকাশ হলে সেটি অবশ্যই অনুসরণ করুন।</p>



<h3 class="wp-block-heading">WB ICDS Worker Exam Pattern</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>বিষয়</th><th>নম্বর</th></tr></thead><tbody><tr><td>বাংলা ভাষা</td><td>30</td></tr><tr><td>সাধারণ জ্ঞান ও কারেন্ট অ্যাফেয়ার্স</td><td>30</td></tr><tr><td>অঙ্ক</td><td>20</td></tr><tr><td>শিশু বিকাশ ও পুষ্টি</td><td>20</td></tr><tr><td><strong>মোট</strong></td><td><strong>100</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">লিখিত পরীক্ষায় বাংলা ভাষা, সাধারণ জ্ঞান, প্রাথমিক গণিত এবং শিশু বিকাশ ও পুষ্টি বিষয়ের উপর গুরুত্ব দেওয়া হয়।</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">বিষয়ভিত্তিক সিলেবাস</h2>



<h3 class="wp-block-heading">১. বাংলা ভাষা</h3>



<ul class="wp-block-list">
<li>ব্যাকরণ</li>



<li>সন্ধি ও সমাস</li>



<li>সমার্থক ও বিপরীত শব্দ</li>



<li>বাগধারা</li>



<li>বাক্য সংশোধন</li>



<li>শূন্যস্থান পূরণ</li>



<li>অনুচ্ছেদ/পাঠ্যবোধ</li>



<li>বানান</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">২. সাধারণ জ্ঞান ও কারেন্ট অ্যাফেয়ার্স</h3>



<ul class="wp-block-list">
<li>ভারতের ইতিহাস</li>



<li>পশ্চিমবঙ্গের ইতিহাস</li>



<li>ভারতের ভূগোল</li>



<li>পশ্চিমবঙ্গের ভূগোল</li>



<li>ভারতীয় সংবিধান</li>



<li>গুরুত্বপূর্ণ দিবস</li>



<li>বিজ্ঞান</li>



<li>সরকারি প্রকল্প</li>



<li>নারী ও শিশু কল্যাণ প্রকল্প</li>



<li>সাম্প্রতিক ঘটনাবলী</li>



<li>গুরুত্বপূর্ণ ব্যক্তিত্ব</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">৩. অঙ্ক</h3>



<ul class="wp-block-list">
<li>সংখ্যা পদ্ধতি</li>



<li>LCM ও HCF</li>



<li>শতকরা</li>



<li>লাভ ও ক্ষতি</li>



<li>অনুপাত ও সমানুপাত</li>



<li>গড়</li>



<li>সরল সুদ</li>



<li>সময় ও কাজ</li>



<li>সময় ও দূরত্ব</li>



<li>ভগ্নাংশ</li>



<li>সরল হিসাব</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">৪. শিশু বিকাশ ও পুষ্টি</h3>



<ul class="wp-block-list">
<li>শিশুর শারীরিক ও মানসিক বিকাশ</li>



<li>মাতৃ ও শিশু পুষ্টি</li>



<li>ICDS প্রকল্প</li>



<li>POSHAN Abhiyaan</li>



<li>অঙ্গনওয়াড়ি কেন্দ্রের কাজ</li>



<li>টিকাকরণ</li>



<li>স্বাস্থ্য ও পরিচ্ছন্নতা</li>



<li>অপুষ্টি</li>



<li>প্রাক-প্রাথমিক শিক্ষা</li>
</ul>



<p class="wp-block-paragraph">এই বিষয়টি ICDS Worker পদের জন্য সবচেয়ে গুরুত্বপূর্ণ অংশগুলোর একটি। </p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><a href="https://govtjobexams.com/wb-icds-recruitment-2026/" target="_blank" rel="noreferrer noopener">WB ICDS Recruitment 2026 আবেদন করুন</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><br>WB ICDS Anganwadi Helper Exam Pattern 2026</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>বিষয়</th><th>নম্বর</th></tr></thead><tbody><tr><td>বাংলা ভাষা</td><td>40</td></tr><tr><td>সাধারণ জ্ঞান</td><td>30</td></tr><tr><td>প্রাথমিক অঙ্ক</td><td>30</td></tr><tr><td><strong>মোট</strong></td><td><strong>100</strong></td></tr></tbody></table></figure>



<h2 class="wp-block-heading">WB ICDS Anganwadi Helper Syllabus</h2>



<p class="wp-block-paragraph">Helper পদের জন্য মূলত নিচের বিষয়গুলো থেকে প্রশ্ন আসে—</p>



<h3 class="wp-block-heading">বাংলা</h3>



<p class="wp-block-paragraph">• ব্যাকরণ</p>



<p class="wp-block-paragraph">• বানান</p>



<p class="wp-block-paragraph">• সমার্থক ও বিপরীত শব্দ</p>



<p class="wp-block-paragraph">• বাক্য সংশোধন</p>



<p class="wp-block-paragraph">• পাঠ্যবোধ</p>



<h3 class="wp-block-heading">সাধারণ জ্ঞান</h3>



<p class="wp-block-paragraph">• ভারত ও পশ্চিমবঙ্গ</p>



<p class="wp-block-paragraph">• গুরুত্বপূর্ণ দিবস</p>



<p class="wp-block-paragraph">• বিজ্ঞান</p>



<p class="wp-block-paragraph">• সরকারি প্রকল্প</p>



<p class="wp-block-paragraph">• কারেন্ট অ্যাফেয়ার্স</p>



<h3 class="wp-block-heading">প্রাথমিক অঙ্ক</h3>



<p class="wp-block-paragraph">• যোগ</p>



<p class="wp-block-paragraph">• বিয়োগ</p>



<p class="wp-block-paragraph">• গুণ</p>



<p class="wp-block-paragraph">• ভাগ</p>



<p class="wp-block-paragraph">• শতকরা</p>



<p class="wp-block-paragraph">• অনুপাত</p>



<p class="wp-block-paragraph">• গড়</p>



<ul class="wp-block-list">
<li>সময় ও কাজ </li>
</ul>



<ul class="wp-block-list">
<li>সরল অঙ্ক</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/wb-icds-exam-syllabus-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Free Geography Mock Test – Online Geography MCQ in Bengali</title>
		<link>https://govtjobexams.com/free-geography-mock-test/</link>
					<comments>https://govtjobexams.com/free-geography-mock-test/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Thu, 02 Jul 2026 07:27:26 +0000</pubDate>
				<category><![CDATA[Mock Test]]></category>
		<category><![CDATA[Geography Mock Test]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=470</guid>

					<description><![CDATA[আমাদের এক্সপার্ট দ্বারা বাছাই করা, রেল, পুলিশ, গ্রাম পঞ্চায়েত, এসএসসি, PSC তে আসা প্রশ্ন গুলি দিয়ে একটি&#160; মক টেস্ট দেওয়া হলো , খুব শীঘ্রই আরো খুব গুরুত্বপূর্ণ প্রশ্ন দিয়ে মকটেস্ট এর আয়োজন হবে। এরকম ফ্রি তে মকটেস্ট দিতে, চাকুরীর খবর পেতে আমাদের হোয়াটস্যাপ এবং টেলিগ্রাম চ্যানেল ফলো করুন,&#160;আমাদের এই ওয়েবসাইট পেজে বিভিন্ন সরকারি চাকরির খবর, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">আমাদের এক্সপার্ট দ্বারা বাছাই করা, রেল, পুলিশ, গ্রাম পঞ্চায়েত, এসএসসি, PSC তে আসা প্রশ্ন গুলি দিয়ে একটি&nbsp; মক টেস্ট দেওয়া হলো , খুব শীঘ্রই আরো খুব গুরুত্বপূর্ণ প্রশ্ন দিয়ে মকটেস্ট এর আয়োজন হবে। এরকম ফ্রি তে মকটেস্ট দিতে, চাকুরীর খবর পেতে আমাদের হোয়াটস্যাপ এবং টেলিগ্রাম চ্যানেল ফলো করুন,&nbsp;আমাদের এই ওয়েবসাইট পেজে বিভিন্ন সরকারি চাকরির খবর, সরকারি প্রকল্প এমনকি চাকরির পরীক্ষা সংক্রান্ত এডমিট কার্ড, পরীক্ষার তারিখ , পরীক্ষার সিলেবাস, পরীক্ষার আনসার কি, পরীক্ষার রেজাল্ট সব তথ্য পাওয়ার পাশাপাশি পরীক্ষায় আসার মতো বিভিন্ন টপিকের উপর MCQ টেস্ট দিতে পারবেন। ভালো লাগলে অবশ্যই বন্ধুদের শেয়ার করে দিবেন।আপনার সাফল্য কামনা করি&nbsp;😍</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">&nbsp;</p>


    <div id="gje_mock_530768_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/Geography@main/Atmospheres.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>বারিমন্ডল ও বায়ুমণ্ডল</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>বারিমন্ডল ও বায়ুমণ্ডল</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_530768_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_530768_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    



<pre class="wp-block-code"><code></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


    <div id="gje_mock_34420_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/Geography@main/MountainHills.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ভারতের নদনদী এবং পাহাড়-পর্বত</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ভারতের নদনদী এবং পাহাড়-পর্বত</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_34420_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_34420_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    
]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/free-geography-mock-test/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Free History Mock Test</title>
		<link>https://govtjobexams.com/free-history-mock-test/</link>
					<comments>https://govtjobexams.com/free-history-mock-test/#respond</comments>
		
		<dc:creator><![CDATA[Deba]]></dc:creator>
		<pubDate>Thu, 02 Jul 2026 06:51:53 +0000</pubDate>
				<category><![CDATA[Mock Test]]></category>
		<category><![CDATA[Free Mock Test]]></category>
		<guid isPermaLink="false">https://govtjobexams.com/?p=461</guid>

					<description><![CDATA[আমাদের এই ওয়েবসাইট পেজে বিভিন্ন সরকারি চাকরির খবর, সরকারি প্রকল্প এমনকি চাকরির পরীক্ষা সংক্রান্ত এডমিট কার্ড, পরীক্ষার তারিখ , পরীক্ষার সিলেবাস, পরীক্ষার আনসার কি, পরীক্ষার রেজাল্ট সব তথ্য পাওয়ার পাশাপাশি পরীক্ষায় আসার মতো বিভিন্ন টপিকের উপর MCQ টেস্ট দিতে পারবেন। আমাদের এক্সপার্ট দ্বারা বাছাই করা, রেল, পুলিশ, গ্রাম পঞ্চায়েত, এসএসসি, PSC তে আসা প্রশ্ন গুলি [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">আমাদের এই ওয়েবসাইট পেজে বিভিন্ন সরকারি চাকরির খবর, সরকারি প্রকল্প এমনকি চাকরির পরীক্ষা সংক্রান্ত এডমিট কার্ড, পরীক্ষার তারিখ , পরীক্ষার সিলেবাস, পরীক্ষার আনসার কি, পরীক্ষার রেজাল্ট সব তথ্য পাওয়ার পাশাপাশি পরীক্ষায় আসার মতো বিভিন্ন টপিকের উপর MCQ টেস্ট দিতে পারবেন। আমাদের এক্সপার্ট দ্বারা বাছাই করা, রেল, পুলিশ, গ্রাম পঞ্চায়েত, এসএসসি, PSC তে আসা প্রশ্ন গুলি দিয়ে একটি মক টেস্ট দেওয়া হলো , খুব শীঘ্রই আরো খুব গুরুত্বপূর্ণ প্রশ্ন দিয়ে মকটেস্ট এর আয়োজন হবে। এরকম ফ্রি তে মকটেস্ট দিতে, চাকুরীর খবর পেতে আমাদের হোয়াটস্যাপ এবং টেলিগ্রাম চ্যানেল ফলো করুন</p>


    <div id="gje_mock_698817_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/History@main/IndusValleyCivilization.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>সিন্ধু  সভ্যতা</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>সিন্ধু  সভ্যতা</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_698817_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_698817_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_726243_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/History@main/RSixteenthMahajan.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>ষোড়শ মহাজনপদ</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>ষোড়শ মহাজনপদ</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_726243_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_726243_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    


    <div id="gje_mock_808601_1783367597" class="gje-mock-wrap"
         data-src="https://cdn.jsdelivr.net/gh/GovtJobExams/History@main/IndianNationalCongress.js"
         data-negative="0.25"
         data-per-question="30">

        <div class="gje-start-screen">
            <h2>জাতীয় কংগ্রেস</h2>
            <p class="gje-info-line">প্রতি প্রশ্নের সময়: <b>30 সেকেন্ড</b></p>
            <p class="gje-info-line">Negative Mark: <b>0.25</b></p>
            <p class="gje-total-msg">Total Question: <b>0</b></p>
            <button type="button" class="gje-start-btn" disabled>Start Mock Test</button>
            <p class="gje-load-msg"></p>
        </div>

        <div class="gje-test-screen" style="display:none;">
            <div class="gje-full-head">
                <h2>জাতীয় কংগ্রেস</h2>
                <button type="button" class="gje-exit-full">Exit Full Screen</button>
            </div>

            <div class="gje-topbar">
                <span>⏱ Time: <b class="gje-time">30</b>s</span>
                <span>Question: <b class="gje-qno">1</b>/<b class="gje-total">0</b></span>
                <span>Negative: <b>0.25</b></span>
            </div>

            <div class="gje-progress"><div class="gje-progress-fill"></div></div>
            <div class="gje-quiz-box">Loading questions...</div>

            <div class="gje-buttons">
                <button type="button" class="gje-prev">Previous</button>
                <button type="button" class="gje-next">Next / Skip</button>
                <button type="button" class="gje-submit">Submit Test</button>
            </div>

            <div class="gje-result-box"></div>
        </div>
    </div>

    <script>
    (function(){
        const root = document.getElementById('gje_mock_808601_1783367597');
        if(!root) return;

        let questions = [];
        let current = 0;
        let selected = [];
        let submitted = false;
        let started = false;
        let timerId = null;

        const src = root.dataset.src || '';
        const perQuestion = parseInt(root.dataset.perQuestion || '30');
        const negative = parseFloat(root.dataset.negative || '0.25');
        let qTime = perQuestion;

        const startScreen = root.querySelector('.gje-start-screen');
        const testScreen = root.querySelector('.gje-test-screen');
        const quizBox = root.querySelector('.gje-quiz-box');
        const resultBox = root.querySelector('.gje-result-box');
        const timeBox = root.querySelector('.gje-time');
        const qnoBox = root.querySelector('.gje-qno');
        const totalBox = root.querySelector('.gje-total');
        const progressFill = root.querySelector('.gje-progress-fill');
        const startBtn = root.querySelector('.gje-start-btn');
        const loadMsg = root.querySelector('.gje-load-msg');
        const totalMsg = root.querySelector('.gje-total-msg b');

        if(src){
            fetch(src, {cache: 'no-store'})
            .then(function(r){ return r.text(); })
            .then(function(js){
                const fakeWindow = {};
                const result = new Function(
                    'window',
                    js + '; return window.questions || window.gjeQuestions || (typeof questions !== "undefined" ? questions : []);'
                )(fakeWindow);

                questions = Array.isArray(result) ? result : [];
                totalMsg.textContent = questions.length;

                if(questions.length > 0){
                    startBtn.disabled = false;
                    startBtn.textContent = 'Start Mock Test';
                    loadMsg.style.display = 'none';
                } else {
                    startBtn.disabled = true;
                    loadMsg.innerHTML = '<span style="color:red;">Question পাওয়া যায়নি। JS file-এ questions array আছে কিনা check করুন।</span>';
                }
            })
            .catch(function(){
                startBtn.disabled = true;
                totalMsg.textContent = '0';
                loadMsg.innerHTML = '<span style="color:red;">CDN file load হয়নি। Link check করুন।</span>';
            });
        } else {
            startBtn.disabled = true;
            loadMsg.innerHTML = '<span style="color:red;">Shortcode-এ src URL দিন।</span>';
        }

        function getAnswerIndex(q){
            if(typeof q.answer === 'number') return q.answer;
            if(typeof q.ans === 'number') return q.ans;
            if(typeof q.correct === 'number') return q.correct;
            if(typeof q.answer === 'string' && Array.isArray(q.options)) return q.options.indexOf(q.answer);
            return -1;
        }

        function getQuestionText(q){
            return q.q || q.question || q.title || '';
        }

        function startTest(){
            if(started || questions.length === 0) return;
            started = true;
            selected = Array(questions.length).fill(null);
            totalBox.textContent = questions.length;
            startScreen.style.display = 'none';
            testScreen.style.display = 'block';
            openFullScreen(root);
            loadQuestion();
        }

        function openFullScreen(el){
            if(el.requestFullscreen) el.requestFullscreen().catch(function(){});
            else if(el.webkitRequestFullscreen) el.webkitRequestFullscreen();
            else if(el.msRequestFullscreen) el.msRequestFullscreen();
        }

        function closeFullScreen(){
            if(document.fullscreenElement && document.exitFullscreen) document.exitFullscreen();
            else if(document.webkitFullscreenElement && document.webkitExitFullscreen) document.webkitExitFullscreen();
        }

        function startQuestionTimer(){
            clearInterval(timerId);
            qTime = perQuestion;
            updateTimer();
            timerId = setInterval(function(){
                if(submitted) return clearInterval(timerId);
                qTime--;
                updateTimer();
                if(qTime <= 0){
                    clearInterval(timerId);
                    autoSkipQuestion();
                }
            }, 1000);
        }

        function updateTimer(){
            timeBox.textContent = qTime;
            if(qTime <= 5) timeBox.classList.add('gje-danger-time');
            else timeBox.classList.remove('gje-danger-time');
        }

        function autoSkipQuestion(){
            if(current < questions.length - 1){
                current++;
                loadQuestion();
            } else {
                submitTest();
            }
        }

        function loadQuestion(){
            if(submitted) return;
            const q = questions[current];
            qnoBox.textContent = current + 1;
            progressFill.style.width = (((current + 1) / questions.length) * 100) + '%';

            let html = '<div class="gje-question">Q' + (current + 1) + '. ' + escapeHtml(getQuestionText(q)) + '</div>';
            (q.options || []).forEach(function(op, i){
                html += '<label class="gje-option"><input type="radio" name="gje_option_gje_mock_808601_1783367597" ' + (selected[current] === i ? 'checked' : '') + ' data-index="' + i + '"> ' + escapeHtml(op) + '</label>';
            });

            quizBox.innerHTML = html;
            quizBox.querySelectorAll('input[type="radio"]').forEach(function(input){
                input.addEventListener('change', function(){
                    selected[current] = parseInt(this.dataset.index);
                });
            });
            startQuestionTimer();
        }

        function submitTest(){
            if(submitted) return;
            submitted = true;
            clearInterval(timerId);

            let correct = 0, wrong = 0, notAttempt = 0;
            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                if(selected[i] === null) notAttempt++;
                else if(selected[i] === ans) correct++;
                else wrong++;
            });

            const score = correct - (wrong * negative);
            let html = '<h3>Result</h3>' +
                '<div class="gje-result-grid">' +
                '<div>✅ Correct<br><b>' + correct + '</b></div>' +
                '<div>❌ Wrong<br><b>' + wrong + '</b></div>' +
                '<div>⚪ Not Attempted<br><b>' + notAttempt + '</b></div>' +
                '<div>🏆 Score<br><b>' + score.toFixed(2) + '</b></div>' +
                '</div><h3>Answer Review</h3>';

            questions.forEach(function(q, i){
                const ans = getAnswerIndex(q);
                html += '<div class="gje-review"><b>Q' + (i+1) + '. ' + escapeHtml(getQuestionText(q)) + '</b>';
                (q.options || []).forEach(function(op, j){
                    let cls = '';
                    if(j === ans) cls = ' gje-correct';
                    if(selected[i] === j && selected[i] !== ans) cls = ' gje-wrong';
                    html += '<div class="gje-review-option' + cls + '">' + escapeHtml(op) + '</div>';
                });
                if(q.explanation){ html += '<p><b>Explanation:</b> ' + escapeHtml(q.explanation) + '</p>'; }
                html += '</div>';
            });

            quizBox.innerHTML = '';
            root.querySelector('.gje-buttons').style.display = 'none';
            root.querySelector('.gje-topbar').style.display = 'none';
            root.querySelector('.gje-progress').style.display = 'none';
            resultBox.innerHTML = html;
            resultBox.scrollIntoView({behavior:'smooth'});
        }

        function escapeHtml(text){
            return String(text).replace(/[&<>'"]/g, function(m){
                return {'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#039;','"':'&quot;'}[m];
            });
        }

        startBtn.addEventListener('click', startTest);
        root.querySelector('.gje-exit-full').addEventListener('click', closeFullScreen);
        root.querySelector('.gje-prev').addEventListener('click', function(){
            if(current > 0){ current--; loadQuestion(); }
        });
        root.querySelector('.gje-next').addEventListener('click', function(){
            if(current < questions.length - 1){ current++; loadQuestion(); }
            else submitTest();
        });
        root.querySelector('.gje-submit').addEventListener('click', submitTest);
    })();
    </script>
    
]]></content:encoded>
					
					<wfw:commentRss>https://govtjobexams.com/free-history-mock-test/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
